All classes:
- werkzeug._internal._Missing
- werkzeug._internal._ColorStreamHandler
- werkzeug._internal._DictAccessorProperty
- werkzeug.http.COEP
- werkzeug.http.COOP
- werkzeug.urls._URLTuple
- werkzeug.urls.BaseURL
- werkzeug.urls.URL
- werkzeug.urls.BytesURL
- werkzeug.wsgi.ClosingIterator
- werkzeug.wsgi.FileWrapper
- werkzeug.wsgi._RangeWrapper
- werkzeug.wsgi.LimitedStream
- werkzeug.wrappers.response.Response
- werkzeug.sansio.multipart.Event
- werkzeug.sansio.multipart.Preamble
- werkzeug.sansio.multipart.Field
- werkzeug.sansio.multipart.File
- werkzeug.sansio.multipart.Data
- werkzeug.sansio.multipart.Epilogue
- werkzeug.sansio.multipart.NeedData
- werkzeug.sansio.multipart.State
- werkzeug.sansio.multipart.MultipartDecoder
- werkzeug.sansio.multipart.MultipartEncoder
- werkzeug.test._TestCookieHeaders
- werkzeug.test._TestCookieResponse
- werkzeug.test._TestCookieJar
- werkzeug.test.EnvironBuilder
- werkzeug.test.ClientRedirectError
- werkzeug.test.Client
- werkzeug.test.TestResponse
- werkzeug.wrappers.response.ResponseStream
- werkzeug.utils.cached_property
- werkzeug.utils.environ_property
- werkzeug.utils.header_property
- werkzeug.utils.ImportStringError
- werkzeug.sansio.response.Response
- werkzeug.exceptions.HTTPException
- werkzeug.exceptions.BadRequest
- werkzeug.exceptions.BadRequestKeyError
- werkzeug.exceptions.ClientDisconnected
- werkzeug.exceptions.SecurityError
- werkzeug.exceptions.BadHost
- werkzeug.exceptions.Unauthorized
- werkzeug.exceptions.Forbidden
- werkzeug.exceptions.NotFound
- werkzeug.exceptions.MethodNotAllowed
- werkzeug.exceptions.NotAcceptable
- werkzeug.exceptions.RequestTimeout
- werkzeug.exceptions.Conflict
- werkzeug.exceptions.Gone
- werkzeug.exceptions.LengthRequired
- werkzeug.exceptions.PreconditionFailed
- werkzeug.exceptions.RequestEntityTooLarge
- werkzeug.exceptions.RequestURITooLarge
- werkzeug.exceptions.UnsupportedMediaType
- werkzeug.exceptions.RequestedRangeNotSatisfiable
- werkzeug.exceptions.ExpectationFailed
- werkzeug.exceptions.ImATeapot
- werkzeug.exceptions.UnprocessableEntity
- werkzeug.exceptions.Locked
- werkzeug.exceptions.FailedDependency
- werkzeug.exceptions.PreconditionRequired
- werkzeug.exceptions._RetryAfter
- werkzeug.exceptions.TooManyRequests
- werkzeug.exceptions.RequestHeaderFieldsTooLarge
- werkzeug.exceptions.UnavailableForLegalReasons
- werkzeug.exceptions.InternalServerError
- werkzeug.exceptions.NotImplemented
- werkzeug.exceptions.BadGateway
- werkzeug.exceptions.ServiceUnavailable
- werkzeug.exceptions.GatewayTimeout
- werkzeug.exceptions.HTTPVersionNotSupported
- werkzeug.exceptions.Aborter
- werkzeug.datastructures.ImmutableListMixin
- werkzeug.datastructures.ImmutableList
- werkzeug.datastructures.ImmutableDictMixin
- werkzeug.datastructures.ImmutableMultiDictMixin
- werkzeug.datastructures.UpdateDictMixin
- werkzeug.datastructures.TypeConversionDict
- werkzeug.datastructures.ImmutableTypeConversionDict
- werkzeug.datastructures.MultiDict
- werkzeug.datastructures._omd_bucket
- werkzeug.datastructures.OrderedMultiDict
- werkzeug.datastructures.Headers
- werkzeug.datastructures.ImmutableHeadersMixin
- werkzeug.datastructures.EnvironHeaders
- werkzeug.datastructures.CombinedMultiDict
- werkzeug.datastructures.FileMultiDict
- werkzeug.datastructures.ImmutableDict
- werkzeug.datastructures.ImmutableMultiDict
- werkzeug.datastructures.ImmutableOrderedMultiDict
- werkzeug.datastructures.Accept
- werkzeug.datastructures.MIMEAccept
- werkzeug.datastructures.LanguageAccept
- werkzeug.datastructures.CharsetAccept
- werkzeug.datastructures._CacheControl
- werkzeug.datastructures.RequestCacheControl
- werkzeug.datastructures.ResponseCacheControl
- werkzeug.datastructures.ContentSecurityPolicy
- werkzeug.datastructures.CallbackDict
- werkzeug.datastructures.HeaderSet
- werkzeug.datastructures.ETags
- werkzeug.datastructures.IfRange
- werkzeug.datastructures.Range
- werkzeug.datastructures.ContentRange
- werkzeug.datastructures.Authorization
- werkzeug.datastructures.WWWAuthenticate
- werkzeug.datastructures.FileStorage
- werkzeug.formparser.TStreamFactory
- werkzeug.formparser.FormDataParser
- werkzeug.formparser.MultiPartParser
- werkzeug.user_agent.UserAgent
- werkzeug.sansio.request.Request
- werkzeug.wrappers.request.Request
- werkzeug.serving._SslDummy
- werkzeug.serving.ForkingMixIn
- werkzeug.serving.DechunkedInput
- werkzeug.serving.WSGIRequestHandler
- werkzeug.local.Local
- werkzeug.local.LocalStack
- werkzeug.local.LocalManager
- werkzeug.local._ProxyLookup
- werkzeug.local._ProxyIOp
- werkzeug.local.LocalProxy
- werkzeug.debug.repr._Helper
- werkzeug.debug.repr.DebugReprGenerator
- werkzeug.debug.console.HTMLStringO
- werkzeug.debug.console.ThreadedStream
- werkzeug.debug.console._ConsoleLoader
- werkzeug.debug.console._InteractiveConsole
- werkzeug.debug.console.Console
- werkzeug.debug.tbtools.DebugTraceback
- werkzeug.debug.tbtools.DebugFrameSummary
- werkzeug.debug._ConsoleFrame
- werkzeug.debug.DebuggedApplication
- werkzeug.serving.BaseWSGIServer
- werkzeug.serving.ThreadedWSGIServer
- werkzeug.serving.ForkingWSGIServer
- werkzeug.middleware.shared_data.SharedDataMiddleware
- werkzeug._reloader.ReloaderLoop
- werkzeug._reloader.StatReloaderLoop
- werkzeug._reloader.WatchdogReloaderLoop
- werkzeug._reloader.WatchdogReloaderLoop.__init__.EventHandler
- werkzeug.routing.RoutingException
- werkzeug.routing.RequestRedirect
- werkzeug.routing.RequestPath
- werkzeug.routing.RequestAliasRedirect
- werkzeug.routing.BuildError
- werkzeug.routing.WebsocketMismatch
- werkzeug.routing.ValidationError
- werkzeug.routing.RuleFactory
- werkzeug.routing.Subdomain
- werkzeug.routing.Submount
- werkzeug.routing.EndpointPrefix
- werkzeug.routing.RuleTemplate
- werkzeug.routing.RuleTemplateFactory
- werkzeug.routing.Rule
- werkzeug.routing.BaseConverter
- werkzeug.routing.UnicodeConverter
- werkzeug.routing.AnyConverter
- werkzeug.routing.PathConverter
- werkzeug.routing.NumberConverter
- werkzeug.routing.IntegerConverter
- werkzeug.routing.FloatConverter
- werkzeug.routing.UUIDConverter
- werkzeug.routing.Map
- werkzeug.routing.MapAdapter
- flask.signals.Namespace
- flask.signals._FakeSignal
- flask.wrappers.Request
- flask.templating.Environment
- flask.templating.DispatchingJinjaLoader
- flask.scaffold.Scaffold
- flask.blueprints.BlueprintSetupState
- flask.blueprints.Blueprint
- flask.debughelpers.UnexpectedUnicodeError
- flask.debughelpers.DebugFilesKeyError
- flask.debughelpers.FormDataRoutingRedirect
- flask.debughelpers.attach_enctype_error_multidict.newcls
- flask.wrappers.Response
- flask.helpers.locked_cached_property
- flask.cli.NoAppException
- flask.cli.DispatchingApp
- flask.cli.ScriptInfo
- flask.cli.AppGroup
- flask.cli.FlaskGroup
- flask.cli.CertParamType
- flask.cli.SeparatedPathType
- flask.config.ConfigAttribute
- flask.config.Config
- flask.json.tag.JSONTag
- flask.json.tag.TagDict
- flask.json.tag.PassDict
- flask.json.tag.TagTuple
- flask.json.tag.PassList
- flask.json.tag.TagBytes
- flask.json.tag.TagMarkup
- flask.json.tag.TagUUID
- flask.json.tag.TagDateTime
- flask.json.tag.TaggedJSONSerializer
- flask.sessions.SessionMixin
- flask.sessions.SecureCookieSession
- flask.sessions.NullSession
- flask.sessions.SessionInterface
- flask.sessions.SecureCookieSessionInterface
- flask.ctx._AppCtxGlobals
- flask.ctx.AppContext
- flask.ctx.RequestContext
- flask.testing.EnvironBuilder
- flask.testing.FlaskClient
- flask.testing.FlaskCliRunner
- flask.app.Flask
- flask.json.JSONEncoder
- flask.json.JSONDecoder
- flask_restx._http.HTTPStatus
- flask_restx.errors.RestError
- flask_restx.errors.ValidationError
- flask_restx.errors.SpecsError
- flask_restx.mask.MaskError
- flask_restx.mask.ParseError
- flask_restx.mask.Mask
- flask_restx.inputs.URL
- flask_restx.inputs.email
- flask_restx.inputs.regex
- flask_restx.inputs.int_range
- flask_restx.fields.MarshallingError
- flask_restx.fields.Raw
- flask_restx.fields.Nested
- flask_restx.fields.List
- flask_restx.fields.StringMixin
- flask_restx.fields.MinMaxMixin
- flask_restx.fields.NumberMixin
- flask_restx.fields.String
- flask_restx.fields.Integer
- flask_restx.fields.Float
- flask_restx.fields.Arbitrary
- flask_restx.fields.Fixed
- flask_restx.fields.Boolean
- flask_restx.fields.DateTime
- flask_restx.fields.Date
- flask_restx.fields.Url
- flask_restx.fields.FormattedString
- flask_restx.fields.ClassName
- flask_restx.fields.Polymorph
- flask_restx.fields.Wildcard
- flask_restx.marshalling.marshal_with
- flask_restx.marshalling.marshal_with_field
- flask_restx.model.ModelBase
- flask_restx.model.RawModel
- flask_restx.model.Model
- flask_restx.model.OrderedModel
- flask_restx.model.SchemaModel
- flask_restx.reqparse.ParseResult
- flask_restx.reqparse.Argument
- flask_restx.reqparse.RequestParser
- flask_restx.apidoc.Apidoc
- flask.views.View
- flask.views.MethodViewType
- flask.views.MethodView
- flask_restx.namespace.Namespace
- flask_restx.postman.Request
- flask_restx.postman.Folder
- flask_restx.postman.PostmanCollectionV1
- flask_restx.resource.Resource
- flask_restx.swagger.Swagger
- flask_restx.api.Api
- flask_restx.api.SwaggerView
- flask_restx.schemas.SchemaValidationError
- flask_restx.schemas.LazySchema
- werkzeug.middleware.lint.WSGIWarning
- werkzeug.middleware.lint.HTTPWarning
- werkzeug.middleware.lint.InputStream
- werkzeug.middleware.lint.ErrorStream
- werkzeug.middleware.lint.GuardedWrite
- werkzeug.middleware.lint.GuardedIterator
- werkzeug.middleware.lint.LintMiddleware
- werkzeug.middleware.profiler.ProfilerMiddleware
- werkzeug.middleware.proxy_fix.ProxyFix
- werkzeug.middleware.http_proxy.ProxyMiddleware
- werkzeug.middleware.dispatcher.DispatcherMiddleware
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_reqparse'
    functionSourceFile: '...fuzz_reqparse'
    functionUses: 0
    functionsReached:
    - atheris.instrument_all
    - atheris.Fuzz
    - atheris.Setup
    - '...fuzz_reqparse.main'
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - data
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 10
    functionLinenumber: 26
    functionName: '...fuzz_reqparse.TestOneInput'
    functionSourceFile: '...fuzz_reqparse'
    functionUses: 0
    functionsReached:
    - http.server.BaseHTTPRequestHandler.path.fragment.encode
    - server_name.lower
    - url.encode_netloc
    - p.encode
    - <builtin>.enumerate
    - data.items
    - dict.__init__
    - <builtin>.dict
    - typing.NamedTuple.query.decode
    - werkzeug.test.EnvironBuilder.get_request
    - value.decode
    - flask.abort
    - werkzeug.datastructures.Headers._validate_value
    - werkzeug._internal._make_encode_wrapper.<lambda1>
    - typing.NamedTuple.fragment.decode
    - dict.__getitem__
    - http.server.BaseHTTPRequestHandler.path.query.encode
    - werkzeug._internal._decode_idna
    - stream.tell
    - werkzeug.urls.BaseURL.decode_netloc
    - result.append
    - typing.NamedTuple.encode
    - werkzeug.datastructures.MultiDict.add
    - headers.to_wsgi_list
    - warnings.warn
    - kwargs.pop
    - <builtin>.str
    - werkzeug.datastructures.MultiDict.__init__
    - flask.app.Flask.create_url_adapter
    - werkzeug.routing.MapAdapter.__init__
    - env.get
    - <builtin>.int
    - werkzeug._internal._decode_idna.decode_part
    - <builtin>.frozenset
    - options.items
    - http.server.BaseHTTPRequestHandler.path.find
    - <builtin>.min
    - d.lists
    - <builtin>.any
    - typing.NamedTuple.fragment.encode
    - werkzeug.http.quote_header_value
    - server_name.split
    - werkzeug.routing.Map.bind_to_environ._get_wsgi_string
    - werkzeug.test.EnvironBuilder.__init__
    - typing.NamedTuple.path.encode
    - dict.items
    - io.BytesIO.tell
    - server_name.endswith
    - safe.encode
    - werkzeug.datastructures.Headers.copy
    - werkzeug.datastructures.MultiDict.lists
    - name.lower
    - werkzeug.test._iter_data
    - http.server.BaseHTTPRequestHandler.path.encode_netloc
    - <builtin>.super
    - http.server.BaseHTTPRequestHandler.path.endswith
    - <builtin>.set
    - flask.ctx.AppContext.__init__
    - werkzeug.datastructures.OrderedMultiDict.getlist
    - werkzeug.urls.BaseURL.join
    - time.time
    - werkzeug._internal._to_bytes
    - data.read
    - werkzeug.urls.iri_to_uri
    - werkzeug._internal._encode_idna
    - typing.NamedTuple._replace
    - tempfile.TemporaryFile
    - d.items
    - kw.items
    - werkzeug.urls.url_unparse
    - werkzeug.urls.BytesURL.decode
    - werkzeug.test.EnvironBuilder._add_file_from_data
    - old_key.lower
    - flask_restx.reqparse.RequestParser.__init__
    - mimetypes.guess_type
    - stream.seek
    - werkzeug.datastructures.Authorization.to_header
    - req.unparsed_arguments.keys
    - typing.NamedTuple.query.encode
    - werkzeug.datastructures.CombinedMultiDict.items
    - <builtin>.list
    - path.split
    - bpath.split
    - value.replace
    - v.strip
    - werkzeug.datastructures.CombinedMultiDict.lists
    - path.startswith
    - werkzeug.datastructures._unicodify_header_value
    - segments.append
    - random.random
    - <builtin>.sorted
    - rv.append
    - _scheme_re.match
    - flask_restx.reqparse.RequestParser.parse_args
    - flask_restx.reqparse.RequestParser.add_argument
    - typing.NamedTuple.endswith
    - <builtin>.iter
    - _key.lower
    - domain.encode
    - unsafe.encode
    - domain.split
    - werkzeug.urls._url_encode_impl
    - environ.get
    - part.decode
    - werkzeug.routing.Map.bind_to_environ
    - werkzeug.urls._fast_url_quote_plus
    - tmp.setdefault
    - <builtin>.type
    - werkzeug.urls.URL.encode
    - found.add
    - request.get_json
    - <builtin>.bytes
    - werkzeug.datastructures.EnvironHeaders.copy
    - operator.methodcaller
    - http.server.BaseHTTPRequestHandler.path.encode
    - werkzeug.datastructures.OrderedMultiDict.items
    - werkzeug.datastructures.iter_multi_items
    - werkzeug.datastructures.EnvironHeaders.__init__
    - werkzeug.test.EnvironBuilder.get_environ
    - errors.update
    - werkzeug.datastructures.MultiDict.update
    - werkzeug.datastructures.MultiDict.items
    - atheris.FuzzedDataProvider
    - io.BytesIO.seek
    - werkzeug.datastructures.CombinedMultiDict.__init__
    - werkzeug.http.dump_options_header
    - werkzeug.routing.Map.bind
    - werkzeug._internal._check_str_tuple
    - werkzeug.datastructures.OrderedMultiDict.add
    - <builtin>.hasattr
    - werkzeug.datastructures.Headers.extend
    - flask_restx.reqparse.Argument.source
    - <builtin>.len
    - io.BytesIO
    - werkzeug.test.EnvironBuilder.close
    - rv.extend
    - flask_restx.errors.abort
    - rv.setdefault
    - dict.setdefault
    - werkzeug.urls.BytesURL.encode_netloc
    - base64.b64encode
    - fdp.ConsumeUnicodeNoSurrogates
    - werkzeug.urls.BaseURL.replace
    - werkzeug._internal._wsgi_encoding_dance
    - typing.NamedTuple.__init__
    - werkzeug.urls.url_quote_plus
    - value.encode
    - werkzeug.datastructures.OrderedMultiDict.lists
    - werkzeug.sansio.utils.host_is_trusted._normalize
    - typing.NamedTuple.startswith
    - k.replace
    - typing.NamedTuple.split
    - rv.items
    - werkzeug.wrappers.request.Request.from_values
    - flask.app.Flask.app_context
    - http.server.BaseHTTPRequestHandler.path.split
    - werkzeug.http.dump_header
    - http.server.BaseHTTPRequestHandler.path.join
    - key.upper
    - <builtin>.getattr
    - werkzeug.test.stream_encode_multipart
    - typing.NamedTuple.path.decode
    - hostname.rsplit
    - werkzeug.test.stream_encode_multipart.write_binary
    - <builtin>.callable
    - data.encode
    - werkzeug.datastructures.Authorization.__init__
    - stream.getvalue
    - flask_restx.reqparse.Argument.__init__
    - werkzeug.urls.BaseURL.encode_netloc
    - werkzeug.sansio.utils.get_host
    - werkzeug.sansio.multipart.MultipartEncoder.send_event
    - kwargs.get
    - arg.parse
    - werkzeug._internal._make_encode_wrapper
    - f.close
    - werkzeug.datastructures.Headers.add
    - <builtin>.bytearray
    - werkzeug._internal._to_str
    - werkzeug.datastructures.OrderedMultiDict.update
    - typing.NamedTuple.scheme.decode
    - http.server.BaseHTTPRequestHandler.path.replace
    - boundary.encode
    - http.server.BaseHTTPRequestHandler.path.decode
    - werkzeug.urls._make_fast_url_quote.quote
    - werkzeug._internal._get_environ
    - werkzeug.sansio.multipart.MultipartEncoder.__init__
    - headers.remove
    - werkzeug.datastructures._omd_bucket.__init__
    - collections.defaultdict.items
    - new_stream.write
    - typing.NamedTuple.decode
    - werkzeug.urls.url_encode
    - result.update
    - http.server.BaseHTTPRequestHandler.path.startswith
    - collections.defaultdict
    - werkzeug._internal._wsgi_decoding_dance
    - s.encode
    - werkzeug.wsgi.get_host
    - traceback.format_exc
    - typing.NamedTuple.find
    - stream.write
    - wsgi_server_name.split
    - returned_keys.add
    - werkzeug.datastructures._options_header_vkw
    - werkzeug.datastructures.Headers.__init__
    - werkzeug.datastructures.Headers.set
    - werkzeug.urls.url_fix
    - werkzeug.wsgi._get_server
    - typing.cast
    - typing.NamedTuple.scheme.encode
    - <builtin>.isinstance
    - <builtin>.filter
    - items.append
    - werkzeug.urls.url_parse
    - werkzeug.urls.url_join
    - werkzeug.sansio.utils.host_is_trusted
    - werkzeug.urls.url_quote
    - host.endswith
    - werkzeug.wrappers.request.Request.__init__
    - ref.startswith
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: 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.ConsumeUnicodeNoSurrogates
    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:
    - cls
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 8
    functionLinenumber: 126
    functionName: werkzeug.wrappers.request.Request.from_values
    functionSourceFile: werkzeug.wrappers.request
    functionUses: 1
    functionsReached:
    - http.server.BaseHTTPRequestHandler.path.fragment.encode
    - url.encode_netloc
    - <builtin>.enumerate
    - data.items
    - dict.__init__
    - typing.NamedTuple.query.decode
    - werkzeug.test.EnvironBuilder.get_request
    - value.decode
    - werkzeug.datastructures.Headers._validate_value
    - werkzeug._internal._make_encode_wrapper.<lambda1>
    - typing.NamedTuple.fragment.decode
    - dict.__getitem__
    - http.server.BaseHTTPRequestHandler.path.query.encode
    - werkzeug._internal._decode_idna
    - stream.tell
    - werkzeug.urls.BaseURL.decode_netloc
    - result.append
    - typing.NamedTuple.encode
    - headers.to_wsgi_list
    - kwargs.pop
    - werkzeug.datastructures.MultiDict.__init__
    - <builtin>.str
    - <builtin>.int
    - werkzeug._internal._decode_idna.decode_part
    - <builtin>.frozenset
    - options.items
    - http.server.BaseHTTPRequestHandler.path.find
    - <builtin>.min
    - d.lists
    - <builtin>.any
    - typing.NamedTuple.fragment.encode
    - werkzeug.http.quote_header_value
    - werkzeug.test.EnvironBuilder.__init__
    - typing.NamedTuple.path.encode
    - dict.items
    - io.BytesIO.tell
    - safe.encode
    - werkzeug.datastructures.Headers.copy
    - name.lower
    - werkzeug.datastructures.MultiDict.lists
    - werkzeug.test._iter_data
    - http.server.BaseHTTPRequestHandler.path.encode_netloc
    - <builtin>.super
    - <builtin>.set
    - werkzeug.datastructures.OrderedMultiDict.getlist
    - werkzeug.urls.BaseURL.join
    - time.time
    - werkzeug._internal._to_bytes
    - data.read
    - werkzeug.urls.iri_to_uri
    - typing.NamedTuple._replace
    - tempfile.TemporaryFile
    - d.items
    - kw.items
    - werkzeug.urls.url_unparse
    - werkzeug.urls.BytesURL.decode
    - werkzeug.test.EnvironBuilder._add_file_from_data
    - old_key.lower
    - mimetypes.guess_type
    - stream.seek
    - werkzeug.datastructures.Authorization.to_header
    - typing.NamedTuple.query.encode
    - werkzeug.datastructures.CombinedMultiDict.items
    - <builtin>.list
    - path.split
    - bpath.split
    - value.replace
    - werkzeug.datastructures.CombinedMultiDict.lists
    - path.startswith
    - werkzeug.datastructures._unicodify_header_value
    - segments.append
    - random.random
    - <builtin>.sorted
    - rv.append
    - _scheme_re.match
    - <builtin>.iter
    - _key.lower
    - domain.encode
    - unsafe.encode
    - domain.split
    - werkzeug.urls._url_encode_impl
    - environ.get
    - part.decode
    - werkzeug.urls._fast_url_quote_plus
    - tmp.setdefault
    - werkzeug.urls.URL.encode
    - found.add
    - <builtin>.bytes
    - werkzeug.datastructures.EnvironHeaders.copy
    - operator.methodcaller
    - http.server.BaseHTTPRequestHandler.path.encode
    - werkzeug.datastructures.OrderedMultiDict.items
    - werkzeug.datastructures.iter_multi_items
    - werkzeug.datastructures.EnvironHeaders.__init__
    - werkzeug.test.EnvironBuilder.get_environ
    - werkzeug.datastructures.MultiDict.items
    - io.BytesIO.seek
    - werkzeug.datastructures.CombinedMultiDict.__init__
    - werkzeug.http.dump_options_header
    - werkzeug._internal._check_str_tuple
    - <builtin>.hasattr
    - werkzeug.datastructures.Headers.extend
    - io.BytesIO
    - <builtin>.len
    - werkzeug.test.EnvironBuilder.close
    - rv.extend
    - rv.setdefault
    - werkzeug.urls.BytesURL.encode_netloc
    - base64.b64encode
    - werkzeug.urls.BaseURL.replace
    - werkzeug._internal._wsgi_encoding_dance
    - typing.NamedTuple.__init__
    - werkzeug.urls.url_quote_plus
    - value.encode
    - werkzeug.datastructures.OrderedMultiDict.lists
    - typing.NamedTuple.startswith
    - k.replace
    - typing.NamedTuple.split
    - rv.items
    - http.server.BaseHTTPRequestHandler.path.split
    - http.server.BaseHTTPRequestHandler.path.join
    - werkzeug.http.dump_header
    - key.upper
    - <builtin>.getattr
    - werkzeug.test.stream_encode_multipart
    - typing.NamedTuple.path.decode
    - werkzeug.test.stream_encode_multipart.write_binary
    - data.encode
    - werkzeug.datastructures.Authorization.__init__
    - stream.getvalue
    - werkzeug.urls.BaseURL.encode_netloc
    - werkzeug.sansio.multipart.MultipartEncoder.send_event
    - werkzeug._internal._make_encode_wrapper
    - f.close
    - werkzeug.datastructures.Headers.add
    - <builtin>.bytearray
    - werkzeug._internal._to_str
    - typing.NamedTuple.scheme.decode
    - http.server.BaseHTTPRequestHandler.path.replace
    - boundary.encode
    - http.server.BaseHTTPRequestHandler.path.decode
    - werkzeug.urls._make_fast_url_quote.quote
    - werkzeug.sansio.multipart.MultipartEncoder.__init__
    - headers.remove
    - collections.defaultdict.items
    - new_stream.write
    - typing.NamedTuple.decode
    - werkzeug.urls.url_encode
    - result.update
    - http.server.BaseHTTPRequestHandler.path.startswith
    - collections.defaultdict
    - werkzeug._internal._wsgi_decoding_dance
    - s.encode
    - typing.NamedTuple.find
    - stream.write
    - returned_keys.add
    - werkzeug.datastructures._options_header_vkw
    - werkzeug.datastructures.Headers.__init__
    - werkzeug.datastructures.Headers.set
    - werkzeug.urls.url_fix
    - werkzeug.wsgi._get_server
    - typing.cast
    - typing.NamedTuple.scheme.encode
    - <builtin>.isinstance
    - <builtin>.filter
    - items.append
    - werkzeug.urls.url_parse
    - werkzeug.urls.url_join
    - werkzeug.urls.url_quote
    - werkzeug.wrappers.request.Request.__init__
    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: 11
    functionLinenumber: 1950
    functionName: flask.app.Flask.app_context
    functionSourceFile: flask.app
    functionUses: 5
    functionsReached:
    - server_name.lower
    - werkzeug._internal._to_str
    - werkzeug.routing.Map.bind
    - p.encode
    - typing.NamedTuple.scheme.decode
    - werkzeug._internal._encode_idna
    - http.server.BaseHTTPRequestHandler.path.decode
    - <builtin>.len
    - werkzeug._internal._get_environ
    - werkzeug.urls.BytesURL.decode
    - typing.NamedTuple.query.decode
    - typing.NamedTuple.fragment.decode
    - typing.NamedTuple.decode
    - werkzeug._internal._decode_idna
    - v.strip
    - typing.NamedTuple.__init__
    - werkzeug.sansio.utils.host_is_trusted._normalize
    - werkzeug.urls.BaseURL.decode_netloc
    - werkzeug._internal._wsgi_decoding_dance
    - werkzeug.wsgi.get_host
    - s.encode
    - warnings.warn
    - <builtin>.str
    - flask.app.Flask.create_url_adapter
    - werkzeug.routing.MapAdapter.__init__
    - typing.NamedTuple.endswith
    - env.get
    - <builtin>.int
    - domain.encode
    - werkzeug._internal._decode_idna.decode_part
    - wsgi_server_name.split
    - domain.split
    - environ.get
    - <builtin>.getattr
    - werkzeug.routing.Map.bind_to_environ
    - <builtin>.any
    - hostname.rsplit
    - typing.NamedTuple.path.decode
    - part.decode
    - werkzeug.wsgi._get_server
    - server_name.split
    - werkzeug.routing.Map.bind_to_environ._get_wsgi_string
    - <builtin>.type
    - server_name.endswith
    - <builtin>.isinstance
    - <builtin>.filter
    - werkzeug.sansio.utils.get_host
    - werkzeug.sansio.utils.host_is_trusted
    - http.server.BaseHTTPRequestHandler.path.endswith
    - host.endswith
    - flask.ctx.AppContext.__init__
    - ref.startswith
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 5
    argDefaultValues:
    - <ast.Name object at 0x7fcfe3cfca60>
    - <ast.Name object at 0x7fcfe3cfca30>
    - <ast.Constant object at 0x7fcfe3cfca00>
    - <ast.Constant object at 0x7fcfe3cfc9d0>
    argNames:
    - self
    - argument_class
    - result_class
    - trim
    - bundle_errors
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 334
    functionName: flask_restx.reqparse.RequestParser.__init__
    functionSourceFile: ''
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    IfCount: 2
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 347
    functionName: flask_restx.reqparse.RequestParser.add_argument
    functionSourceFile: flask_restx.reqparse
    functionUses: 1
    functionsReached:
    - <builtin>.len
    - flask_restx.reqparse.Argument.__init__
    - <builtin>.isinstance
    - kwargs.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 3
    IfCount: 5
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe3d2c7c0>
    - <ast.Constant object at 0x7fcfe3d2c790>
    argNames:
    - self
    - req
    - strict
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 369
    functionName: flask_restx.reqparse.RequestParser.parse_args
    functionSourceFile: flask_restx.reqparse
    functionUses: 1
    functionsReached:
    - werkzeug.datastructures.OrderedMultiDict.getlist
    - werkzeug.datastructures.OrderedMultiDict.update
    - werkzeug.datastructures.OrderedMultiDict.add
    - d.items
    - <builtin>.len
    - dict.__init__
    - flask_restx.reqparse.Argument.source
    - <builtin>.dict
    - flask.abort
    - flask_restx.errors.abort
    - werkzeug.datastructures._omd_bucket.__init__
    - rv.setdefault
    - req.unparsed_arguments.keys
    - dict.setdefault
    - werkzeug.datastructures.CombinedMultiDict.items
    - <builtin>.list
    - dict.__getitem__
    - werkzeug.datastructures.CombinedMultiDict.lists
    - werkzeug.datastructures.OrderedMultiDict.lists
    - result.append
    - werkzeug.datastructures.MultiDict.add
    - werkzeug.datastructures.MultiDict.__init__
    - <builtin>.str
    - rv.items
    - returned_keys.add
    - <builtin>.getattr
    - d.lists
    - tmp.setdefault
    - <builtin>.callable
    - found.add
    - request.get_json
    - dict.items
    - flask_restx.reqparse.Argument.__init__
    - werkzeug.datastructures.MultiDict.lists
    - <builtin>.isinstance
    - werkzeug.datastructures.OrderedMultiDict.items
    - <builtin>.set
    - werkzeug.datastructures.iter_multi_items
    - arg.parse
    - errors.update
    - werkzeug.datastructures.MultiDict.update
    - werkzeug.datastructures.MultiDict.items
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: traceback.format_exc
    functionSourceFile: traceback
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.str
    functionSourceFile: <builtin>
    functionUses: 288
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 3
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 51
    functionName: '...fuzz_reqparse.main'
    functionSourceFile: '...fuzz_reqparse'
    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: werkzeug
    functionSourceFile: werkzeug
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 2
    IfCount: 3
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: werkzeug.serving
    functionSourceFile: werkzeug.serving
    functionUses: 0
    functionsReached:
    - <builtin>.hasattr
    - <builtin>.__import__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 39
    functionName: werkzeug.serving._SslDummy.__getattr__
    functionSourceFile: werkzeug.serving
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - RuntimeError
    returnType: N/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>.__import__
    functionSourceFile: <builtin>
    functionUses: 13
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.hasattr
    functionSourceFile: <builtin>
    functionUses: 131
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - rfile
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 89
    functionName: werkzeug.serving.DechunkedInput.__init__
    functionSourceFile: werkzeug.serving
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 94
    functionName: werkzeug.serving.DechunkedInput.readable
    functionSourceFile: werkzeug.serving
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 97
    functionName: werkzeug.serving.DechunkedInput.read_chunk_len
    functionSourceFile: werkzeug.serving
    functionUses: 1
    functionsReached:
    - io.RawIOBase.readline
    - <builtin>.int
    - line.strip
    linkageType: pythonLinkage
    raised:
    - OSError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: io.RawIOBase.readline
    functionSourceFile: io
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: line.strip
    functionSourceFile: <builtin>
    functionUses: 9
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.int
    functionSourceFile: <builtin>
    functionUses: 123
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 9
    ICount: 0
    IfCount: 6
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - buf
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 107
    functionName: werkzeug.serving.DechunkedInput.readinto
    functionSourceFile: werkzeug.serving
    functionUses: 0
    functionsReached:
    - io.RawIOBase.readline
    - <builtin>.int
    - io.RawIOBase.read
    - line.strip
    - <builtin>.min
    - <builtin>.len
    - werkzeug.serving.DechunkedInput.read_chunk_len
    linkageType: pythonLinkage
    raised:
    - OSError
    returnType: N/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: 321
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.min
    functionSourceFile: <builtin>
    functionUses: 95
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: io.RawIOBase.read
    functionSourceFile: io
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 154
    functionName: werkzeug.serving.WSGIRequestHandler.server_version
    functionSourceFile: werkzeug.serving
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 12
    ICount: 1
    IfCount: 8
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 7
    functionLinenumber: 159
    functionName: werkzeug.serving.WSGIRequestHandler.make_environ
    functionSourceFile: werkzeug.serving
    functionUses: 1
    functionsReached:
    - http.server.BaseHTTPRequestHandler.path.fragment.encode
    - <builtin>.bytearray
    - werkzeug._internal._to_str
    - typing.NamedTuple.fragment.split
    - typing.NamedTuple.scheme.decode
    - http.server.BaseHTTPRequestHandler.server.log
    - http.server.BaseHTTPRequestHandler.path.decode
    - http.server.BaseHTTPRequestHandler.path.query.split
    - <builtin>.len
    - werkzeug.urls.BytesURL.decode
    - typing.NamedTuple.query.decode
    - <builtin>.next
    - typing.NamedTuple.path.split
    - typing.NamedTuple.query.encode
    - http.server.BaseHTTPRequestHandler.path.query.encode
    - werkzeug.urls.url_unquote
    - werkzeug._internal._make_encode_wrapper.<lambda1>
    - typing.NamedTuple.fragment.decode
    - typing.NamedTuple.decode
    - value.replace
    - werkzeug._internal._decode_idna
    - werkzeug._internal._wsgi_encoding_dance
    - typing.NamedTuple.__init__
    - werkzeug.urls.BaseURL.decode_netloc
    - result.append
    - typing.NamedTuple.split
    - ssl.DER_cert_to_PEM_cert
    - _scheme_re.match
    - <builtin>.str
    - <builtin>.iter
    - typing.NamedTuple.query.split
    - typing.NamedTuple.find
    - http.server.BaseHTTPRequestHandler.path.split
    - domain.encode
    - werkzeug._internal._decode_idna.decode_part
    - unsafe.encode
    - <builtin>.frozenset
    - domain.split
    - key.upper
    - http.server.BaseHTTPRequestHandler.path.find
    - environ.get
    - werkzeug.serving.WSGIRequestHandler.port_integer
    - http.server.BaseHTTPRequestHandler.headers.items
    - typing.NamedTuple.fragment.encode
    - werkzeug.serving.DechunkedInput.__init__
    - <builtin>.getattr
    - <builtin>.min
    - <builtin>.any
    - http.server.BaseHTTPRequestHandler.connection.getpeercert
    - werkzeug.urls._unquote_to_bytes
    - typing.NamedTuple.path.decode
    - part.decode
    - typing.NamedTuple.path.encode
    - _hextobyte.items
    - <builtin>.bytes
    - operator.methodcaller
    - <builtin>.isinstance
    - http.server.BaseHTTPRequestHandler.path.encode
    - werkzeug.urls.url_parse
    - <builtin>.filter
    - werkzeug.serving.WSGIRequestHandler.address_string
    - werkzeug._internal._make_encode_wrapper
    - result.extend
    - rv.decode
    - http.server.BaseHTTPRequestHandler.path.fragment.split
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 12
    ICount: 1
    IfCount: 8
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe42e69a0>
    - <ast.Constant object at 0x7fcfe42e6970>
    argNames:
    - url
    - scheme
    - allow_fragments
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 457
    functionName: werkzeug.urls.url_parse
    functionSourceFile: werkzeug.urls
    functionUses: 72
    functionsReached:
    - werkzeug._internal._to_str
    - typing.NamedTuple.scheme.decode
    - http.server.BaseHTTPRequestHandler.path.decode
    - <builtin>.len
    - werkzeug.urls.BytesURL.decode
    - typing.NamedTuple.query.decode
    - werkzeug._internal._make_encode_wrapper.<lambda1>
    - typing.NamedTuple.fragment.decode
    - typing.NamedTuple.decode
    - werkzeug._internal._decode_idna
    - typing.NamedTuple.__init__
    - werkzeug.urls.BaseURL.decode_netloc
    - typing.NamedTuple.split
    - _scheme_re.match
    - <builtin>.str
    - typing.NamedTuple.find
    - http.server.BaseHTTPRequestHandler.path.split
    - domain.encode
    - werkzeug._internal._decode_idna.decode_part
    - domain.split
    - http.server.BaseHTTPRequestHandler.path.find
    - <builtin>.min
    - part.decode
    - <builtin>.any
    - typing.NamedTuple.path.decode
    - operator.methodcaller
    - <builtin>.isinstance
    - <builtin>.filter
    - werkzeug._internal._make_encode_wrapper
    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>.isinstance
    functionSourceFile: <builtin>
    functionUses: 505
    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 0x7fcfe42cf910>
    - <ast.Constant object at 0x7fcfe42cf8e0>
    - <ast.Constant object at 0x7fcfe42cf8b0>
    argNames:
    - s
    - charset
    - errors
    - unsafe
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 626
    functionName: werkzeug.urls.url_unquote
    functionSourceFile: werkzeug.urls
    functionUses: 30
    functionsReached:
    - http.server.BaseHTTPRequestHandler.path.fragment.encode
    - <builtin>.bytearray
    - typing.NamedTuple.fragment.split
    - http.server.BaseHTTPRequestHandler.path.query.split
    - <builtin>.next
    - typing.NamedTuple.path.split
    - typing.NamedTuple.query.encode
    - http.server.BaseHTTPRequestHandler.path.query.encode
    - result.append
    - <builtin>.iter
    - typing.NamedTuple.query.split
    - unsafe.encode
    - <builtin>.frozenset
    - typing.NamedTuple.fragment.encode
    - werkzeug.urls._unquote_to_bytes
    - typing.NamedTuple.path.encode
    - _hextobyte.items
    - <builtin>.bytes
    - <builtin>.isinstance
    - result.extend
    - rv.decode
    - http.server.BaseHTTPRequestHandler.path.fragment.split
    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 0x7fcfe3fb2d90>
    - <ast.Constant object at 0x7fcfe3fb2b20>
    argNames:
    - s
    - charset
    - errors
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 155
    functionName: werkzeug._internal._wsgi_encoding_dance
    functionSourceFile: werkzeug._internal
    functionUses: 20
    functionsReached:
    - http.server.BaseHTTPRequestHandler.path.decode
    - <builtin>.isinstance
    - http.server.BaseHTTPRequestHandler.path.encode
    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: 1
    functionLinenumber: 387
    functionName: werkzeug.serving.WSGIRequestHandler.address_string
    functionSourceFile: werkzeug.serving
    functionUses: 7
    functionsReached:
    - <builtin>.getattr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 396
    functionName: werkzeug.serving.WSGIRequestHandler.port_integer
    functionSourceFile: ''
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: http.server.BaseHTTPRequestHandler.headers.items
    functionSourceFile: http
    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: key.upper
    functionSourceFile: <builtin>
    functionUses: 43
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: value.replace
    functionSourceFile: <builtin>
    functionUses: 120
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: environ.get
    functionSourceFile: <builtin>
    functionUses: 70
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: http.server.BaseHTTPRequestHandler.connection.getpeercert
    functionSourceFile: http
    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: ssl.DER_cert_to_PEM_cert
    functionSourceFile: ssl
    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: http.server.BaseHTTPRequestHandler.server.log
    functionSourceFile: http
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 5
    IfCount: 4
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 8
    functionLinenumber: 239
    functionName: werkzeug.serving.WSGIRequestHandler.run_wsgi
    functionSourceFile: werkzeug.serving
    functionUses: 0
    functionsReached:
    - http.server.BaseHTTPRequestHandler.path.fragment.encode
    - itertools.islice
    - werkzeug.debug.tbtools.DebugFrameSummary.__init__
    - traceback.walk_tb
    - http.server.BaseHTTPRequestHandler.server.log
    - typing.NamedTuple.query.decode
    - <builtin>.next
    - http.server.BaseHTTPRequestHandler.path.query.encode
    - werkzeug._internal._make_encode_wrapper.<lambda1>
    - werkzeug.debug.tbtools.DebugTraceback.render_traceback_text
    - typing.NamedTuple.fragment.decode
    - werkzeug._internal._decode_idna
    - werkzeug.debug.tbtools.DebugTraceback.__init__
    - werkzeug.urls.BaseURL.decode_netloc
    - result.append
    - <builtin>.str
    - <builtin>.int
    - werkzeug._internal._decode_idna.decode_part
    - <builtin>.frozenset
    - http.server.BaseHTTPRequestHandler.path.find
    - <builtin>.min
    - typing.NamedTuple.fragment.encode
    - werkzeug.serving.DechunkedInput.__init__
    - <builtin>.any
    - application_iter.close
    - werkzeug.urls._unquote_to_bytes
    - http.server.BaseHTTPRequestHandler.send_response
    - status_sent.split
    - typing.NamedTuple.path.encode
    - <builtin>.super
    - <builtin>.set
    - http.server.BaseHTTPRequestHandler.end_headers
    - key.lower
    - f.f_locals.get
    - werkzeug.serving.WSGIRequestHandler.make_environ
    - <builtin>.zip
    - werkzeug.urls.BytesURL.decode
    - <builtin>.hex
    - typing.NamedTuple.path.split
    - header_keys.add
    - typing.NamedTuple.query.encode
    - http.server.BaseHTTPRequestHandler.wfile.write
    - value.replace
    - http.server.BaseHTTPRequestHandler.wfile.flush
    - werkzeug.serving.WSGIRequestHandler.connection_dropped
    - werkzeug.exceptions.InternalServerError.__init__
    - ssl.DER_cert_to_PEM_cert
    - _scheme_re.match
    - <builtin>.iter
    - typing.NamedTuple.query.split
    - domain.encode
    - unsafe.encode
    - domain.split
    - environ.get
    - part.decode
    - <builtin>.bytes
    - operator.methodcaller
    - http.server.BaseHTTPRequestHandler.path.encode
    - http.server.BaseHTTPRequestHandler.headers.get
    - http.server.BaseHTTPRequestHandler.path.fragment.split
    - werkzeug.debug.tbtools._process_traceback
    - werkzeug.serving.WSGIRequestHandler.run_wsgi.write
    - typing.NamedTuple.fragment.split
    - <builtin>.hasattr
    - <builtin>.len
    - http.server.BaseHTTPRequestHandler.path.query.split
    - werkzeug.urls.url_unquote
    - werkzeug._internal._wsgi_encoding_dance
    - typing.NamedTuple.__init__
    - typing.NamedTuple.split
    - http.server.BaseHTTPRequestHandler.path.split
    - key.upper
    - <builtin>.getattr
    - typing.NamedTuple.path.decode
    - new_stack.append
    - werkzeug._internal._make_encode_wrapper
    - <builtin>.bytearray
    - werkzeug._internal._to_str
    - http.server.BaseHTTPRequestHandler.server.app
    - typing.NamedTuple.scheme.decode
    - werkzeug.serving.WSGIRequestHandler.run_wsgi.execute
    - http.server.BaseHTTPRequestHandler.path.decode
    - typing.NamedTuple.decode
    - http.server.BaseHTTPRequestHandler.send_header
    - typing.NamedTuple.find
    - http.server.BaseHTTPRequestHandler.headers.items
    - werkzeug.serving.WSGIRequestHandler.port_integer
    - http.server.BaseHTTPRequestHandler.connection.getpeercert
    - typing.cast
    - _hextobyte.items
    - <builtin>.isinstance
    - werkzeug.urls.url_parse
    - <builtin>.filter
    - werkzeug.serving.WSGIRequestHandler.address_string
    - result.extend
    - rv.decode
    - traceback.TracebackException.from_exception
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: http.server.BaseHTTPRequestHandler.headers.get
    functionSourceFile: http
    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: http.server.BaseHTTPRequestHandler.wfile.write
    functionSourceFile: http
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 11
    IfCount: 5
    argCount: 1
    argDefaultValues: []
    argNames:
    - data
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 250
    functionName: werkzeug.serving.WSGIRequestHandler.run_wsgi.write
    functionSourceFile: werkzeug.serving
    functionUses: 2
    functionsReached:
    - <builtin>.hex
    - http.server.BaseHTTPRequestHandler.send_response
    - http.server.BaseHTTPRequestHandler.end_headers
    - key.lower
    - status_sent.split
    - header_keys.add
    - <builtin>.int
    - <builtin>.isinstance
    - http.server.BaseHTTPRequestHandler.wfile.write
    - http.server.BaseHTTPRequestHandler.wfile.flush
    - http.server.BaseHTTPRequestHandler.send_header
    - <builtin>.set
    - <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: status_sent.split
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: http.server.BaseHTTPRequestHandler.send_response
    functionSourceFile: http
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.set
    functionSourceFile: <builtin>
    functionUses: 217
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: http.server.BaseHTTPRequestHandler.send_header
    functionSourceFile: http
    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.lower
    functionSourceFile: <builtin>
    functionUses: 70
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/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_keys.add
    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: http.server.BaseHTTPRequestHandler.end_headers
    functionSourceFile: http
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.hex
    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: http.server.BaseHTTPRequestHandler.wfile.flush
    functionSourceFile: http
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 0
    IfCount: 3
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe2c49a90>
    argNames:
    - status
    - headers
    - exc_info
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 307
    functionName: werkzeug.serving.WSGIRequestHandler.run_wsgi.start_response
    functionSourceFile: werkzeug.serving
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - AssertionError
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 4
    IfCount: 3
    argCount: 1
    argDefaultValues: []
    argNames:
    - app
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 321
    functionName: werkzeug.serving.WSGIRequestHandler.run_wsgi.execute
    functionSourceFile: werkzeug.serving
    functionUses: 1
    functionsReached:
    - werkzeug.serving.WSGIRequestHandler.run_wsgi.write
    - http.server.BaseHTTPRequestHandler.end_headers
    - key.lower
    - http.server.BaseHTTPRequestHandler.server.app
    - <builtin>.hasattr
    - <builtin>.len
    - <builtin>.hex
    - header_keys.add
    - http.server.BaseHTTPRequestHandler.wfile.write
    - http.server.BaseHTTPRequestHandler.wfile.flush
    - http.server.BaseHTTPRequestHandler.send_header
    - werkzeug.exceptions.InternalServerError.__init__
    - <builtin>.int
    - application_iter.close
    - http.server.BaseHTTPRequestHandler.send_response
    - status_sent.split
    - <builtin>.isinstance
    - <builtin>.super
    - <builtin>.set
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe4893760>
    - <ast.Constant object at 0x7fcfe4893730>
    - <ast.Constant object at 0x7fcfe4893700>
    argNames:
    - self
    - description
    - response
    - original_exception
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 727
    functionName: werkzeug.exceptions.InternalServerError.__init__
    functionSourceFile: werkzeug.exceptions
    functionUses: 11
    functionsReached:
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: http.server.BaseHTTPRequestHandler.server.app
    functionSourceFile: http
    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: application_iter.close
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe2c530d0>
    argNames:
    - self
    - error
    - environ
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 372
    functionName: werkzeug.serving.WSGIRequestHandler.connection_dropped
    functionSourceFile: ''
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 5
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe47f0760>
    argNames:
    - self
    - exc
    - te
    - skip
    - hide
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 216
    functionName: werkzeug.debug.tbtools.DebugTraceback.__init__
    functionSourceFile: werkzeug.debug.tbtools
    functionUses: 6
    functionsReached:
    - itertools.islice
    - new_stack.append
    - werkzeug.debug.tbtools.DebugFrameSummary.__init__
    - traceback.walk_tb
    - typing.cast
    - f.f_locals.get
    - traceback.TracebackException.from_exception
    - <builtin>.zip
    - <builtin>.super
    - <builtin>.getattr
    - werkzeug.debug.tbtools._process_traceback
    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: 264
    functionName: werkzeug.debug.tbtools.DebugTraceback.render_traceback_text
    functionSourceFile: ''
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 4
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 360
    functionName: werkzeug.serving.WSGIRequestHandler.handle
    functionSourceFile: werkzeug.serving
    functionUses: 0
    functionsReached:
    - _logger.addHandler
    - colorama.AnsiToWin32
    - message.rstrip
    - logger.getEffectiveLevel
    - sys.exc_info
    - logging.getLogger
    - werkzeug.serving.WSGIRequestHandler.log
    - werkzeug.serving.WSGIRequestHandler.connection_dropped
    - werkzeug.serving.is_ssl_error
    - werkzeug._internal._log
    - http.server.BaseHTTPRequestHandler.log_date_time_string
    - <builtin>.getattr
    - werkzeug._internal._has_level_handler
    - <builtin>.any
    - werkzeug.serving.WSGIRequestHandler.log_error
    - typing.cast
    - werkzeug._internal._ColorStreamHandler.__init__
    - <builtin>.isinstance
    - _logger.setLevel
    - <builtin>.super
    - werkzeug.serving.WSGIRequestHandler.address_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: <builtin>.super
    functionSourceFile: <builtin>
    functionUses: 224
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 1
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe2c6a1f0>
    argNames:
    - error
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 600
    functionName: werkzeug.serving.is_ssl_error
    functionSourceFile: werkzeug.serving
    functionUses: 1
    functionsReached:
    - sys.exc_info
    - <builtin>.isinstance
    - typing.cast
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - format
    - args
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 429
    functionName: werkzeug.serving.WSGIRequestHandler.log_error
    functionSourceFile: werkzeug.serving
    functionUses: 1
    functionsReached:
    - logger.getEffectiveLevel
    - werkzeug._internal._ColorStreamHandler.__init__
    - _logger.addHandler
    - _logger.setLevel
    - werkzeug._internal._log
    - werkzeug.serving.WSGIRequestHandler.log
    - logging.getLogger
    - <builtin>.super
    - werkzeug.serving.WSGIRequestHandler.address_string
    - http.server.BaseHTTPRequestHandler.log_date_time_string
    - werkzeug._internal._has_level_handler
    - <builtin>.any
    - colorama.AnsiToWin32
    - <builtin>.getattr
    - message.rstrip
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 379
    functionName: werkzeug.serving.WSGIRequestHandler.__getattr__
    functionSourceFile: werkzeug.serving
    functionUses: 0
    functionsReached:
    - <builtin>.super
    - name.startswith
    - <builtin>.getattr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: name.startswith
    functionSourceFile: <builtin>
    functionUses: 7
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.getattr
    functionSourceFile: <builtin>
    functionUses: 209
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 11
    ICount: 1
    IfCount: 7
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe2c7f0d0>
    - <ast.Constant object at 0x7fcfe2c7f0a0>
    argNames:
    - self
    - code
    - size
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 7
    functionLinenumber: 399
    functionName: werkzeug.serving.WSGIRequestHandler.log_request
    functionSourceFile: werkzeug.serving
    functionUses: 0
    functionsReached:
    - http.server.BaseHTTPRequestHandler.path.fragment.encode
    - <builtin>.bytearray
    - werkzeug._internal._to_str
    - typing.NamedTuple.fragment.split
    - _logger.addHandler
    - typing.NamedTuple.scheme.decode
    - werkzeug._internal._check_str_tuple
    - http.server.BaseHTTPRequestHandler.path.decode
    - http.server.BaseHTTPRequestHandler.path.query.split
    - <builtin>.len
    - werkzeug.urls.url_unparse
    - colorama.AnsiToWin32
    - werkzeug.urls.BytesURL.decode
    - typing.NamedTuple.query.decode
    - werkzeug.serving._ansi_style
    - message.rstrip
    - <builtin>.next
    - logger.getEffectiveLevel
    - typing.NamedTuple.path.split
    - typing.NamedTuple.query.encode
    - typing.NamedTuple.fragment.decode
    - werkzeug.urls.url_unquote
    - http.server.BaseHTTPRequestHandler.path.query.encode
    - werkzeug._internal._make_encode_wrapper.<lambda1>
    - typing.NamedTuple.decode
    - logging.getLogger
    - werkzeug._internal._decode_idna
    - werkzeug.serving.WSGIRequestHandler.log
    - typing.NamedTuple.__init__
    - path.startswith
    - werkzeug.urls.BaseURL.decode_netloc
    - result.append
    - typing.NamedTuple.split
    - _scheme_re.match
    - <builtin>.str
    - <builtin>.iter
    - typing.NamedTuple.query.split
    - typing.NamedTuple.find
    - http.server.BaseHTTPRequestHandler.path.split
    - werkzeug._internal._log
    - domain.encode
    - unsafe.encode
    - <builtin>.frozenset
    - werkzeug._internal._decode_idna.decode_part
    - domain.split
    - http.server.BaseHTTPRequestHandler.path.find
    - http.server.BaseHTTPRequestHandler.log_date_time_string
    - <builtin>.getattr
    - part.decode
    - typing.NamedTuple.fragment.encode
    - <builtin>.any
    - typing.NamedTuple.path.decode
    - <builtin>.min
    - werkzeug._internal._has_level_handler
    - http.server.BaseHTTPRequestHandler.path.decode_netloc
    - werkzeug.urls.uri_to_iri
    - werkzeug.urls._unquote_to_bytes
    - typing.NamedTuple.path.encode
    - _hextobyte.items
    - <builtin>.bytes
    - werkzeug._internal._ColorStreamHandler.__init__
    - operator.methodcaller
    - <builtin>.isinstance
    - werkzeug.urls.url_parse
    - _logger.setLevel
    - <builtin>.filter
    - <builtin>.super
    - werkzeug.serving.WSGIRequestHandler.address_string
    - werkzeug._internal._make_encode_wrapper
    - result.extend
    - rv.decode
    - http.server.BaseHTTPRequestHandler.path.fragment.split
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe42f6970>
    - <ast.Constant object at 0x7fcfe42f6940>
    argNames:
    - uri
    - charset
    - errors
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 715
    functionName: werkzeug.urls.uri_to_iri
    functionSourceFile: werkzeug.urls
    functionUses: 13
    functionsReached:
    - http.server.BaseHTTPRequestHandler.path.fragment.encode
    - <builtin>.bytearray
    - werkzeug._internal._to_str
    - typing.NamedTuple.fragment.split
    - werkzeug._internal._check_str_tuple
    - typing.NamedTuple.scheme.decode
    - http.server.BaseHTTPRequestHandler.path.decode
    - http.server.BaseHTTPRequestHandler.path.query.split
    - <builtin>.len
    - werkzeug.urls.url_unparse
    - werkzeug.urls.BytesURL.decode
    - typing.NamedTuple.query.decode
    - <builtin>.next
    - typing.NamedTuple.path.split
    - typing.NamedTuple.query.encode
    - http.server.BaseHTTPRequestHandler.path.query.encode
    - werkzeug.urls.url_unquote
    - werkzeug._internal._make_encode_wrapper.<lambda1>
    - typing.NamedTuple.fragment.decode
    - typing.NamedTuple.decode
    - werkzeug._internal._decode_idna
    - typing.NamedTuple.__init__
    - path.startswith
    - werkzeug.urls.BaseURL.decode_netloc
    - result.append
    - typing.NamedTuple.split
    - _scheme_re.match
    - <builtin>.str
    - <builtin>.iter
    - typing.NamedTuple.query.split
    - typing.NamedTuple.find
    - http.server.BaseHTTPRequestHandler.path.split
    - domain.encode
    - werkzeug._internal._decode_idna.decode_part
    - unsafe.encode
    - <builtin>.frozenset
    - domain.split
    - http.server.BaseHTTPRequestHandler.path.find
    - <builtin>.min
    - part.decode
    - typing.NamedTuple.fragment.encode
    - <builtin>.any
    - typing.NamedTuple.path.decode
    - http.server.BaseHTTPRequestHandler.path.decode_netloc
    - werkzeug.urls._unquote_to_bytes
    - typing.NamedTuple.path.encode
    - _hextobyte.items
    - <builtin>.bytes
    - operator.methodcaller
    - <builtin>.isinstance
    - werkzeug.urls.url_parse
    - <builtin>.filter
    - werkzeug._internal._make_encode_wrapper
    - result.extend
    - rv.decode
    - http.server.BaseHTTPRequestHandler.path.fragment.split
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - value
    - styles
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 443
    functionName: werkzeug.serving._ansi_style
    functionSourceFile: ''
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - type
    - message
    - args
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 435
    functionName: werkzeug.serving.WSGIRequestHandler.log
    functionSourceFile: werkzeug.serving
    functionUses: 4
    functionsReached:
    - logger.getEffectiveLevel
    - werkzeug._internal._ColorStreamHandler.__init__
    - _logger.addHandler
    - _logger.setLevel
    - werkzeug._internal._log
    - logging.getLogger
    - <builtin>.super
    - werkzeug.serving.WSGIRequestHandler.address_string
    - http.server.BaseHTTPRequestHandler.log_date_time_string
    - werkzeug._internal._has_level_handler
    - <builtin>.any
    - colorama.AnsiToWin32
    - <builtin>.getattr
    - message.rstrip
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - format
    - args
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 432
    functionName: werkzeug.serving.WSGIRequestHandler.log_message
    functionSourceFile: werkzeug.serving
    functionUses: 0
    functionsReached:
    - logger.getEffectiveLevel
    - werkzeug._internal._ColorStreamHandler.__init__
    - _logger.addHandler
    - _logger.setLevel
    - werkzeug._internal._log
    - werkzeug.serving.WSGIRequestHandler.log
    - logging.getLogger
    - <builtin>.super
    - werkzeug.serving.WSGIRequestHandler.address_string
    - http.server.BaseHTTPRequestHandler.log_date_time_string
    - werkzeug._internal._has_level_handler
    - <builtin>.any
    - colorama.AnsiToWin32
    - <builtin>.getattr
    - message.rstrip
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: http.server.BaseHTTPRequestHandler.log_date_time_string
    functionSourceFile: http
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 4
    IfCount: 3
    argCount: 4
    argDefaultValues: []
    argNames:
    - type
    - message
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 205
    functionName: werkzeug._internal._log
    functionSourceFile: werkzeug._internal
    functionUses: 22
    functionsReached:
    - logger.getEffectiveLevel
    - werkzeug._internal._ColorStreamHandler.__init__
    - _logger.addHandler
    - logging.getLogger
    - _logger.setLevel
    - <builtin>.super
    - <builtin>.getattr
    - werkzeug._internal._has_level_handler
    - <builtin>.any
    - colorama.AnsiToWin32
    - message.rstrip
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 1
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe2c842b0>
    argNames:
    - cn
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 459
    functionName: werkzeug.serving.generate_adhoc_ssl_pair
    functionSourceFile: werkzeug.serving
    functionUses: 8
    functionsReached:
    - cryptography.hazmat.backends.default_backend
    - cryptography.x509.Name
    - cryptography.hazmat.primitives.hashes.SHA256
    - pkey.public_key
    - datetime.timedelta
    - cryptography.x509.CertificateBuilder
    - cryptography.x509.SubjectAlternativeName
    - cryptography.x509.ExtendedKeyUsage
    - datetime.datetime.now
    - cryptography.x509.random_serial_number
    - cryptography.hazmat.primitives.asymmetric.rsa.generate_private_key
    - cryptography.x509.NameAttribute
    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.backends.default_backend
    functionSourceFile: cryptography
    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: cryptography.hazmat.primitives.asymmetric.rsa.generate_private_key
    functionSourceFile: cryptography
    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: cryptography.x509.NameAttribute
    functionSourceFile: cryptography
    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: cryptography.x509.Name
    functionSourceFile: cryptography
    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: cryptography.hazmat.primitives.hashes.SHA256
    functionSourceFile: cryptography
    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: cryptography.x509.SubjectAlternativeName
    functionSourceFile: cryptography
    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: cryptography.x509.ExtendedKeyUsage
    functionSourceFile: cryptography
    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: datetime.datetime.now
    functionSourceFile: datetime
    functionUses: 21
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.timedelta
    functionSourceFile: datetime
    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.x509.random_serial_number
    functionSourceFile: cryptography
    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: pkey.public_key
    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: cryptography.x509.CertificateBuilder
    functionSourceFile: cryptography
    functionUses: 9
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe2c5e3a0>
    - <ast.Constant object at 0x7fcfe2c5e370>
    argNames:
    - base_path
    - host
    - cn
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 505
    functionName: werkzeug.serving.make_ssl_devcert
    functionSourceFile: werkzeug.serving
    functionUses: 0
    functionsReached:
    - cryptography.hazmat.primitives.serialization.NoEncryption
    - cryptography.hazmat.backends.default_backend
    - cryptography.x509.NameAttribute
    - cryptography.x509.Name
    - cryptography.hazmat.primitives.hashes.SHA256
    - f.write
    - pkey.public_key
    - datetime.timedelta
    - cryptography.x509.CertificateBuilder
    - cryptography.x509.SubjectAlternativeName
    - <builtin>.open
    - werkzeug.serving.generate_adhoc_ssl_pair
    - cryptography.x509.ExtendedKeyUsage
    - datetime.datetime.now
    - cryptography.x509.random_serial_number
    - pkey.private_bytes
    - cryptography.hazmat.primitives.asymmetric.rsa.generate_private_key
    - cert.public_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: <builtin>.open
    functionSourceFile: <builtin>
    functionUses: 22
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: cert.public_bytes
    functionSourceFile: <builtin>
    functionUses: 8
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: f.write
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: cryptography.hazmat.primitives.serialization.NoEncryption
    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: pkey.private_bytes
    functionSourceFile: <builtin>
    functionUses: 8
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 7
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 549
    functionName: werkzeug.serving.generate_adhoc_ssl_context
    functionSourceFile: werkzeug.serving
    functionUses: 6
    functionsReached:
    - ctx.load_cert_chain
    - cryptography.x509.NameAttribute
    - cryptography.hazmat.backends.default_backend
    - ssl.SSLContext
    - cryptography.x509.Name
    - datetime.timedelta
    - cryptography.hazmat.primitives.asymmetric.rsa.generate_private_key
    - cert.public_bytes
    - cryptography.hazmat.primitives.hashes.SHA256
    - pkey.public_key
    - cryptography.x509.CertificateBuilder
    - cryptography.x509.SubjectAlternativeName
    - werkzeug.serving.generate_adhoc_ssl_pair
    - atexit.register
    - os.close
    - cryptography.hazmat.primitives.serialization.NoEncryption
    - cryptography.x509.ExtendedKeyUsage
    - os.write
    - datetime.datetime.now
    - pkey.private_bytes
    - cryptography.x509.random_serial_number
    - tempfile.mkstemp
    - werkzeug.serving.load_ssl_context
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: tempfile.mkstemp
    functionSourceFile: tempfile
    functionUses: 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: atexit.register
    functionSourceFile: atexit
    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: os.write
    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: os.close
    functionSourceFile: os
    functionUses: 7
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe2c6a910>
    - <ast.Constant object at 0x7fcfe2c6a8e0>
    argNames:
    - cert_file
    - pkey_file
    - protocol
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 579
    functionName: werkzeug.serving.load_ssl_context
    functionSourceFile: werkzeug.serving
    functionUses: 7
    functionsReached:
    - ssl.SSLContext
    - ctx.load_cert_chain
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: ssl.SSLContext
    functionSourceFile: ssl
    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: ctx.load_cert_chain
    functionSourceFile: <builtin>
    functionUses: 8
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: sys.exc_info
    functionSourceFile: sys
    functionUses: 35
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: typing.cast
    functionSourceFile: typing
    functionUses: 119
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - host
    - port
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 607
    functionName: werkzeug.serving.select_address_family
    functionSourceFile: werkzeug.serving
    functionUses: 7
    functionsReached:
    - host.startswith
    - <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: host.startswith
    functionSourceFile: <builtin>
    functionUses: 8
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - host
    - port
    - family
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 617
    functionName: werkzeug.serving.get_sockaddr
    functionSourceFile: werkzeug.serving
    functionUses: 7
    functionsReached:
    - host.split
    - socket.getaddrinfo
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: host.split
    functionSourceFile: <builtin>
    functionUses: 8
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: socket.getaddrinfo
    functionSourceFile: socket
    functionUses: 10
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - family
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 633
    functionName: werkzeug.serving.get_interface_ip
    functionSourceFile: werkzeug.serving
    functionUses: 5
    functionsReached:
    - s.connect
    - s.getsockname
    - socket.socket
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: socket.socket
    functionSourceFile: socket
    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: s.connect
    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: s.getsockname
    functionSourceFile: <builtin>
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 9
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 14
    ICount: 5
    IfCount: 9
    argCount: 8
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe2c706a0>
    - <ast.Constant object at 0x7fcfe2c70670>
    - <ast.Constant object at 0x7fcfe2c70640>
    - <ast.Constant object at 0x7fcfe2c70610>
    argNames:
    - self
    - host
    - port
    - app
    - handler
    - passthrough_errors
    - ssl_context
    - fd
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 661
    functionName: werkzeug.serving.BaseWSGIServer.__init__
    functionSourceFile: werkzeug.serving
    functionUses: 5
    functionsReached:
    - werkzeug.serving.select_address_family
    - http.server.HTTPServer.server_activate
    - <builtin>.hasattr
    - ctx.load_cert_chain
    - cryptography.x509.NameAttribute
    - host.startswith
    - socket.getaddrinfo
    - cryptography.hazmat.backends.default_backend
    - ssl.SSLContext
    - cryptography.x509.Name
    - datetime.timedelta
    - werkzeug.serving.get_sockaddr
    - cryptography.hazmat.primitives.asymmetric.rsa.generate_private_key
    - cert.public_bytes
    - host.split
    - <builtin>.vars
    - cryptography.hazmat.primitives.hashes.SHA256
    - os.path.exists
    - os.unlink
    - pkey.public_key
    - <builtin>.int
    - cryptography.x509.CertificateBuilder
    - cryptography.x509.SubjectAlternativeName
    - werkzeug.serving.generate_adhoc_ssl_pair
    - atexit.register
    - os.close
    - cryptography.hazmat.primitives.serialization.NoEncryption
    - typing.cast
    - ssl_context.wrap_socket
    - werkzeug.serving.generate_adhoc_ssl_context
    - socket.fromfd
    - <builtin>.isinstance
    - http.server.HTTPServer.server_close
    - cryptography.x509.ExtendedKeyUsage
    - <builtin>.super
    - os.write
    - datetime.datetime.now
    - pkey.private_bytes
    - cryptography.x509.random_serial_number
    - http.server.HTTPServer.server_bind
    - tempfile.mkstemp
    - werkzeug.serving.load_ssl_context
    linkageType: pythonLinkage
    raised: []
    returnType: N/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>.vars
    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: os.path.exists
    functionSourceFile: os
    functionUses: 11
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: os.unlink
    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: http.server.HTTPServer.server_bind
    functionSourceFile: http
    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: http.server.HTTPServer.server_activate
    functionSourceFile: http
    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: http.server.HTTPServer.server_close
    functionSourceFile: http
    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: socket.fromfd
    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: ssl_context.wrap_socket
    functionSourceFile: <builtin>
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - type
    - message
    - args
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 734
    functionName: werkzeug.serving.BaseWSGIServer.log
    functionSourceFile: werkzeug.serving
    functionUses: 0
    functionsReached:
    - logger.getEffectiveLevel
    - werkzeug._internal._ColorStreamHandler.__init__
    - _logger.addHandler
    - logging.getLogger
    - werkzeug._internal._log
    - _logger.setLevel
    - <builtin>.super
    - <builtin>.getattr
    - werkzeug._internal._has_level_handler
    - <builtin>.any
    - colorama.AnsiToWin32
    - message.rstrip
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe2c7cd00>
    argNames:
    - self
    - poll_interval
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 737
    functionName: werkzeug.serving.BaseWSGIServer.serve_forever
    functionSourceFile: werkzeug.serving
    functionUses: 4
    functionsReached:
    - <builtin>.super
    - http.server.HTTPServer.server_close
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - request
    - client_address
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 745
    functionName: werkzeug.serving.BaseWSGIServer.handle_error
    functionSourceFile: werkzeug.serving
    functionUses: 0
    functionsReached:
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 8
    IfCount: 4
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 753
    functionName: werkzeug.serving.BaseWSGIServer.log_startup
    functionSourceFile: werkzeug.serving
    functionUses: 4
    functionsReached:
    - logger.getEffectiveLevel
    - werkzeug.serving.get_interface_ip
    - socket.socket
    - werkzeug._internal._ColorStreamHandler.__init__
    - _logger.addHandler
    - logging.getLogger
    - werkzeug._internal._log
    - _logger.setLevel
    - messages.append
    - <builtin>.super
    - s.getsockname
    - s.connect
    - werkzeug._internal._has_level_handler
    - <builtin>.any
    - colorama.AnsiToWin32
    - <builtin>.getattr
    - message.rstrip
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: messages.append
    functionSourceFile: <builtin>
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 9
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe2c7dc70>
    - <ast.Constant object at 0x7fcfe2c7dc40>
    - <ast.Constant object at 0x7fcfe2c7dc10>
    - <ast.Constant object at 0x7fcfe2c7dbe0>
    - <ast.Constant object at 0x7fcfe2c7dbb0>
    argNames:
    - self
    - host
    - port
    - app
    - processes
    - handler
    - passthrough_errors
    - ssl_context
    - fd
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 807
    functionName: werkzeug.serving.ForkingWSGIServer.__init__
    functionSourceFile: werkzeug.serving
    functionUses: 5
    functionsReached:
    - <builtin>.super
    linkageType: pythonLinkage
    raised:
    - ValueError
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 1
    IfCount: 3
    argCount: 9
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe2c7d0a0>
    - <ast.Constant object at 0x7fcfe2c7d070>
    - <ast.Constant object at 0x7fcfe2c7d040>
    - <ast.Constant object at 0x7fcfe2c77fd0>
    - <ast.Constant object at 0x7fcfe2c77fa0>
    - <ast.Constant object at 0x7fcfe2c77f70>
    argNames:
    - host
    - port
    - app
    - threaded
    - processes
    - request_handler
    - passthrough_errors
    - ssl_context
    - fd
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 825
    functionName: werkzeug.serving.make_server
    functionSourceFile: werkzeug.serving
    functionUses: 4
    functionsReached:
    - werkzeug.serving.select_address_family
    - http.server.HTTPServer.server_activate
    - <builtin>.hasattr
    - ctx.load_cert_chain
    - cryptography.x509.NameAttribute
    - host.startswith
    - socket.getaddrinfo
    - werkzeug.serving.ForkingWSGIServer.__init__
    - cryptography.hazmat.backends.default_backend
    - ssl.SSLContext
    - cryptography.x509.Name
    - datetime.timedelta
    - werkzeug.serving.get_sockaddr
    - cryptography.hazmat.primitives.asymmetric.rsa.generate_private_key
    - cert.public_bytes
    - host.split
    - <builtin>.vars
    - cryptography.hazmat.primitives.hashes.SHA256
    - os.path.exists
    - os.unlink
    - pkey.public_key
    - <builtin>.int
    - cryptography.x509.CertificateBuilder
    - cryptography.x509.SubjectAlternativeName
    - werkzeug.serving.generate_adhoc_ssl_pair
    - atexit.register
    - os.close
    - cryptography.hazmat.primitives.serialization.NoEncryption
    - typing.cast
    - ssl_context.wrap_socket
    - werkzeug.serving.generate_adhoc_ssl_context
    - socket.fromfd
    - <builtin>.isinstance
    - http.server.HTTPServer.server_close
    - cryptography.x509.ExtendedKeyUsage
    - <builtin>.super
    - os.write
    - datetime.datetime.now
    - cryptography.x509.random_serial_number
    - pkey.private_bytes
    - werkzeug.serving.BaseWSGIServer.__init__
    - http.server.HTTPServer.server_bind
    - tempfile.mkstemp
    - werkzeug.serving.load_ssl_context
    linkageType: pythonLinkage
    raised:
    - ValueError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 870
    functionName: werkzeug.serving.is_running_from_reloader
    functionSourceFile: werkzeug.serving
    functionUses: 4
    functionsReached:
    - os.environ.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: os.environ.get
    functionSourceFile: os
    functionUses: 30
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 10
    IfCount: 4
    argCount: 2
    argDefaultValues: []
    argNames:
    - hostname
    - port
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 879
    functionName: werkzeug.serving.prepare_socket
    functionSourceFile: werkzeug.serving
    functionUses: 4
    functionsReached:
    - s.setsockopt
    - s.set_inheritable
    - werkzeug.serving.select_address_family
    - s.listen
    - socket.socket
    - typing.cast
    - sys.exit
    - os.path.exists
    - os.unlink
    - <builtin>.print
    - s.bind
    - werkzeug.serving.get_sockaddr
    - socket.getaddrinfo
    - <builtin>.hasattr
    - host.split
    - host.startswith
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: s.setsockopt
    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: s.set_inheritable
    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: s.bind
    functionSourceFile: <builtin>
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.print
    functionSourceFile: <builtin>
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: sys.exit
    functionSourceFile: sys
    functionUses: 10
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: s.listen
    functionSourceFile: <builtin>
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 9
    ICount: 4
    IfCount: 6
    argCount: 16
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe2c80880>
    - <ast.Constant object at 0x7fcfe2c80850>
    - <ast.Constant object at 0x7fcfe2c80820>
    - <ast.Constant object at 0x7fcfe2c807f0>
    - <ast.Constant object at 0x7fcfe2c807c0>
    - <ast.Constant object at 0x7fcfe2c80790>
    - <ast.Constant object at 0x7fcfe2c80760>
    - <ast.Constant object at 0x7fcfe2c80730>
    - <ast.Constant object at 0x7fcfe2c80700>
    - <ast.Constant object at 0x7fcfe2c806d0>
    - <ast.Constant object at 0x7fcfe2c806a0>
    - <ast.Constant object at 0x7fcfe2c80670>
    - <ast.Constant object at 0x7fcfe2c80640>
    argNames:
    - hostname
    - port
    - application
    - use_reloader
    - use_debugger
    - use_evalex
    - extra_files
    - exclude_patterns
    - reloader_interval
    - reloader_type
    - threaded
    - processes
    - request_handler
    - static_files
    - passthrough_errors
    - ssl_context
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 933
    functionName: werkzeug.serving.run_simple
    functionSourceFile: werkzeug.serving
    functionUses: 3
    functionsReached:
    - sys.stdin.isatty
    - ctx.load_cert_chain
    - host.startswith
    - socket.getaddrinfo
    - datetime.timedelta
    - werkzeug.serving.make_server
    - cryptography.hazmat.primitives.asymmetric.rsa.generate_private_key
    - reloader.run
    - sys.exit
    - <builtin>.str
    - <builtin>.int
    - werkzeug._internal._log
    - provider.get_resource_reader
    - werkzeug._internal._has_level_handler
    - atexit.register
    - <builtin>.any
    - pkgutil.get_loader
    - <builtin>.super
    - datetime.datetime.now
    - os.write
    - werkzeug.serving.BaseWSGIServer.__init__
    - werkzeug.serving.is_running_from_reloader
    - s.set_inheritable
    - werkzeug.serving.select_address_family
    - termios.tcgetattr
    - messages.append
    - http.server.HTTPServer.server_activate
    - colorama.AnsiToWin32
    - cryptography.x509.NameAttribute
    - logger.getEffectiveLevel
    - ssl.SSLContext
    - logging.getLogger
    - s.connect
    - werkzeug._reloader.run_with_reloader
    - <builtin>.vars
    - secrets.choice
    - os.path.exists
    - pkey.public_key
    - cryptography.x509.SubjectAlternativeName
    - cryptography.hazmat.primitives.serialization.NoEncryption
    - werkzeug._reloader.ensure_echo_on
    - werkzeug.serving.prepare_socket
    - threading.Thread
    - <builtin>.print
    - werkzeug.serving.generate_adhoc_ssl_context
    - socket.fromfd
    - cryptography.x509.random_serial_number
    - socket.socket
    - werkzeug.middleware.shared_data.SharedDataMiddleware.get_file_loader
    - reloader.restart_with_reloader
    - _logger.addHandler
    - <builtin>.hasattr
    - werkzeug.serving.ForkingWSGIServer.__init__
    - cryptography.hazmat.backends.default_backend
    - signal.signal
    - werkzeug.serving.BaseWSGIServer.log_startup
    - werkzeug.security.gen_salt
    - t.start
    - cert.public_bytes
    - werkzeug.serving.get_interface_ip
    - os.unlink
    - <builtin>.getattr
    - werkzeug._internal._ColorStreamHandler.__init__
    - _logger.setLevel
    - http.server.HTTPServer.server_close
    - pkey.private_bytes
    - http.server.HTTPServer.server_bind
    - tempfile.mkstemp
    - exports.items
    - s.getsockname
    - werkzeug.serving.load_ssl_context
    - os.path.isfile
    - message.rstrip
    - cryptography.x509.Name
    - werkzeug.debug.DebuggedApplication.__init__
    - werkzeug.serving.BaseWSGIServer.serve_forever
    - werkzeug.serving.get_sockaddr
    - werkzeug.middleware.shared_data.SharedDataMiddleware.get_directory_loader
    - host.split
    - cryptography.hazmat.primitives.hashes.SHA256
    - cryptography.x509.CertificateBuilder
    - werkzeug.middleware.shared_data.SharedDataMiddleware.__init__
    - werkzeug.serving.generate_adhoc_ssl_pair
    - os.close
    - s.setsockopt
    - s.listen
    - typing.cast
    - ssl_context.wrap_socket
    - s.bind
    - <builtin>.isinstance
    - s.fileno
    - <builtin>.range
    - cryptography.x509.ExtendedKeyUsage
    - werkzeug.middleware.shared_data.SharedDataMiddleware.get_package_loader
    - os.environ.get
    - termios.tcsetattr
    linkageType: pythonLinkage
    raised:
    - TypeError
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 1
    IfCount: 5
    argCount: 7
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe3fb2c40>
    - <ast.Constant object at 0x7fcfe3fb2880>
    - <ast.BinOp object at 0x7fcfe3fb2d90>
    - <ast.Constant object at 0x7fcfe3fb2940>
    argNames:
    - self
    - app
    - exports
    - disallow
    - cache
    - cache_timeout
    - fallback_mimetype
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 100
    functionName: werkzeug.middleware.shared_data.SharedDataMiddleware.__init__
    functionSourceFile: werkzeug.middleware.shared_data
    functionUses: 7
    functionsReached:
    - pkgutil.get_loader
    - werkzeug.middleware.shared_data.SharedDataMiddleware.get_file_loader
    - os.path.isfile
    - <builtin>.isinstance
    - werkzeug.middleware.shared_data.SharedDataMiddleware.get_directory_loader
    - datetime.datetime.now
    - werkzeug.middleware.shared_data.SharedDataMiddleware.get_package_loader
    - provider.get_resource_reader
    - exports.items
    linkageType: pythonLinkage
    raised:
    - TypeError
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 3
    IfCount: 4
    argCount: 9
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe1a3b760>
    - <ast.Constant object at 0x7fcfe1a3b610>
    - <ast.Constant object at 0x7fcfe1a3bf10>
    - <ast.Constant object at 0x7fcfe1a3bcd0>
    - <ast.Constant object at 0x7fcfe1a3bac0>
    - <ast.Constant object at 0x7fcfe246d430>
    - <ast.Constant object at 0x7fcfe246d070>
    argNames:
    - self
    - app
    - evalex
    - request_key
    - console_path
    - console_init_func
    - show_hidden_frames
    - pin_security
    - pin_logging
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 251
    functionName: werkzeug.debug.DebuggedApplication.__init__
    functionSourceFile: werkzeug.debug
    functionUses: 7
    functionsReached:
    - logger.getEffectiveLevel
    - werkzeug._internal._ColorStreamHandler.__init__
    - _logger.addHandler
    - _logger.setLevel
    - werkzeug._internal._log
    - logging.getLogger
    - werkzeug.security.gen_salt
    - <builtin>.range
    - <builtin>.super
    - <builtin>.any
    - <builtin>.getattr
    - werkzeug._internal._has_level_handler
    - os.environ.get
    - colorama.AnsiToWin32
    - secrets.choice
    - message.rstrip
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: s.fileno
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 6
    IfCount: 1
    argCount: 5
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe43e6820>
    - <ast.Constant object at 0x7fcfe43e67f0>
    - <ast.Constant object at 0x7fcfe43e67c0>
    - <ast.Constant object at 0x7fcfe43e6790>
    argNames:
    - main_func
    - extra_files
    - exclude_patterns
    - interval
    - reloader_type
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 417
    functionName: werkzeug._reloader.run_with_reloader
    functionSourceFile: werkzeug._reloader
    functionUses: 4
    functionsReached:
    - werkzeug._reloader.ensure_echo_on
    - sys.exit
    - threading.Thread
    - signal.signal
    - reloader.restart_with_reloader
    - termios.tcgetattr
    - sys.stdin.isatty
    - t.start
    - reloader.run
    - os.environ.get
    - termios.tcsetattr
    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: werkzeug.middleware.shared_data
    functionSourceFile: werkzeug.middleware.shared_data
    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: exports.items
    functionSourceFile: <builtin>
    functionUses: 8
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - package
    - package_path
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 157
    functionName: werkzeug.middleware.shared_data.SharedDataMiddleware.get_package_loader
    functionSourceFile: werkzeug.middleware.shared_data
    functionUses: 8
    functionsReached:
    - pkgutil.get_loader
    - datetime.datetime.now
    - provider.get_resource_reader
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: os.path.isfile
    functionSourceFile: os
    functionUses: 22
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - filename
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 154
    functionName: werkzeug.middleware.shared_data.SharedDataMiddleware.get_file_loader
    functionSourceFile: ''
    functionUses: 8
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - directory
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 199
    functionName: werkzeug.middleware.shared_data.SharedDataMiddleware.get_directory_loader
    functionSourceFile: ''
    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: 1
    functionLinenumber: -1
    functionName: werkzeug.middleware.shared_data.SharedDataMiddleware.__init__.<lambda1>
    functionSourceFile: werkzeug.middleware.shared_data
    functionUses: 1
    functionsReached:
    - fnmatch.fnmatch
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: fnmatch.fnmatch
    functionSourceFile: fnmatch
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - filename
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 140
    functionName: werkzeug.middleware.shared_data.SharedDataMiddleware.is_allowed
    functionSourceFile: werkzeug.middleware.shared_data
    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
    - filename
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 147
    functionName: werkzeug.middleware.shared_data.SharedDataMiddleware._opener
    functionSourceFile: werkzeug.middleware.shared_data
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: werkzeug.middleware.shared_data.SharedDataMiddleware._opener.<lambda1>
    functionSourceFile: werkzeug.middleware.shared_data
    functionUses: 0
    functionsReached:
    - os.path.getsize
    - <builtin>.int
    - <builtin>.open
    - os.path.getmtime
    - datetime.datetime.fromtimestamp
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: os.path.getmtime
    functionSourceFile: os
    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: datetime.datetime.fromtimestamp
    functionSourceFile: datetime
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: os.path.getsize
    functionSourceFile: os
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: werkzeug.middleware.shared_data.SharedDataMiddleware.get_file_loader.<lambda1>
    functionSourceFile: werkzeug.middleware.shared_data
    functionUses: 0
    functionsReached:
    - os.path.basename
    - werkzeug.middleware.shared_data.SharedDataMiddleware._opener
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: os.path.basename
    functionSourceFile: os
    functionUses: 22
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: pkgutil.get_loader
    functionSourceFile: pkgutil
    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: provider.get_resource_reader
    functionSourceFile: <builtin>
    functionUses: 9
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 0
    IfCount: 3
    argCount: 1
    argDefaultValues: []
    argNames:
    - path
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 162
    functionName: werkzeug.middleware.shared_data.SharedDataMiddleware.get_package_loader.loader
    functionSourceFile: werkzeug.middleware.shared_data
    functionUses: 0
    functionsReached:
    - os.path.isabs
    - posixpath.normpath
    - reader.open_resource
    - posixpath.basename
    - filename.startswith
    - <builtin>.isinstance
    - werkzeug.security.safe_join
    - parts.append
    - posixpath.join
    - <builtin>.any
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 2
    IfCount: 3
    argCount: 2
    argDefaultValues: []
    argNames:
    - directory
    - pathnames
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 110
    functionName: werkzeug.security.safe_join
    functionSourceFile: werkzeug.security
    functionUses: 5
    functionsReached:
    - os.path.isabs
    - posixpath.normpath
    - filename.startswith
    - parts.append
    - posixpath.join
    - <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: posixpath.basename
    functionSourceFile: posixpath
    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: reader.open_resource
    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: werkzeug.middleware.shared_data.SharedDataMiddleware.get_package_loader.loader.<lambda1>
    functionSourceFile: werkzeug.middleware.shared_data
    functionUses: 0
    functionsReached:
    - <builtin>.len
    - resource.getvalue
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: resource.getvalue
    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: werkzeug.middleware.shared_data.SharedDataMiddleware.get_package_loader.loader.<lambda2>
    functionSourceFile: werkzeug.middleware.shared_data
    functionUses: 0
    functionsReached:
    - os.path.getsize
    - datetime.datetime.fromtimestamp
    - os.path.getmtime
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 0
    IfCount: 3
    argCount: 1
    argDefaultValues: []
    argNames:
    - path
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 200
    functionName: werkzeug.middleware.shared_data.SharedDataMiddleware.get_directory_loader.loader
    functionSourceFile: werkzeug.middleware.shared_data
    functionUses: 0
    functionsReached:
    - os.path.isabs
    - posixpath.normpath
    - os.path.isfile
    - filename.startswith
    - werkzeug.security.safe_join
    - werkzeug.middleware.shared_data.SharedDataMiddleware._opener
    - os.path.basename
    - parts.append
    - posixpath.join
    - <builtin>.any
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - mtime
    - file_size
    - real_filename
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 218
    functionName: werkzeug.middleware.shared_data.SharedDataMiddleware.generate_etag
    functionSourceFile: werkzeug.middleware.shared_data
    functionUses: 1
    functionsReached:
    - mtime.timestamp
    - zlib.adler32
    - os.fsencode
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.fsencode
    functionSourceFile: os
    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: mtime.timestamp
    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.adler32
    functionSourceFile: zlib
    functionUses: 9
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 12
    ICount: 6
    IfCount: 8
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - environ
    - start_response
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 10
    functionLinenumber: 224
    functionName: werkzeug.middleware.shared_data.SharedDataMiddleware.__call__
    functionSourceFile: werkzeug.middleware.shared_data
    functionUses: 0
    functionsReached:
    - http.server.BaseHTTPRequestHandler.path.fragment.encode
    - email.utils.format_datetime
    - werkzeug.routing.Rule.compile
    - werkzeug.testapp.render_testapp
    - werkzeug.routing._pythonize
    - werkzeug.routing.Map.__init__
    - flask.cli.DispatchingApp._load_unlocked
    - ast.Load
    - typing.NamedTuple.query.decode
    - werkzeug.datastructures.ETags.is_strong
    - datetime.datetime.combine
    - headers.extend
    - <builtin>.dict
    - flask.scaffold.find_package
    - <builtin>.next
    - path.relative_to
    - os.path.normpath
    - typing.NamedTuple.fragment.decode
    - werkzeug.datastructures.ETags.contains_weak
    - re.compile
    - http.server.BaseHTTPRequestHandler.path.query.encode
    - werkzeug._internal._decode_idna
    - body.append
    - os.getcwd
    - pathlib.Path
    - flask.config.Config.__init__
    - werkzeug.testapp.test_app
    - werkzeug.urls.BaseURL.decode_netloc
    - flask.app.Flask.add_url_rule
    - typing.NamedTuple.encode
    - <builtin>.exec
    - <builtin>.str
    - flask.scaffold._path_is_relative_to
    - <builtin>.int
    - re.finditer
    - dt.replace
    - werkzeug._internal._log
    - <builtin>.frozenset
    - werkzeug._internal._decode_idna.decode_part
    - provider.get_resource_reader
    - werkzeug._internal._has_level_handler
    - typing.NamedTuple.fragment.encode
    - <builtin>.any
    - ast.parse
    - fnmatch.fnmatch
    - os.path.expanduser
    - pkgutil.get_loader
    - threading.Lock
    - typing.NamedTuple.path.encode
    - flask.app.Flask.auto_find_instance_path
    - werkzeug.routing.Rule.compile._build_regex
    - safe.encode
    - flask.app.Flask.__init__
    - time.mktime
    - ast.Str
    - click.get_current_context
    - req.environ.items
    - x.startswith
    - email.utils.formatdate
    - <builtin>.super
    - <builtin>.set
    - hashlib.sha1
    - datetime.datetime.now
    - flask.app.Flask.make_config
    - ret.append
    - os.path.abspath
    - mtime.timestamp
    - required_methods.add
    - time.time
    - werkzeug._internal._to_bytes
    - werkzeug.routing.parse_converter_args
    - werkzeug.http.parse_if_range_header
    - html.escape.splitlines
    - colorama.AnsiToWin32
    - werkzeug.urls.BytesURL.decode
    - mimetypes.guess_type
    - os.fsencode
    - folder.lower
    - logger.getEffectiveLevel
    - import_name.partition
    - flask.cli.DispatchingApp._load_in_background
    - flask.scaffold._find_package_path
    - typing.NamedTuple.query.encode
    - logging.getLogger
    - werkzeug.http.http_date
    - mimetype.endswith
    - etag.strip
    - werkzeug.routing.Rule.get_converter
    - pathlib.PurePath
    - args.append
    - flask.scaffold._endpoint_from_view_func
    - datetime.time
    - secrets.choice
    - werkzeug.wrappers.response.Response.__init__
    - werkzeug.datastructures.IfRange.__init__
    - <builtin>.sorted
    - rv.append
    - <builtin>.iter
    - werkzeug.testapp.iter_sys_path
    - ast.Return
    - werkzeug.routing.Rule._compile_builder._parts
    - domain.encode
    - ast.JoinedStr
    - unsafe.encode
    - domain.split
    - m.end
    - werkzeug.datastructures.ImmutableDict.copy
    - environ.get
    - part.decode
    - _CALL_CONVERTER_CODE_FMT.format
    - werkzeug.routing.Rule._compile_builder._join
    - options.pop
    - <builtin>.type
    - werkzeug.urls.URL.encode
    - threading.Thread
    - part.startswith
    - <builtin>.bytes
    - http.server.BaseHTTPRequestHandler.path.encode
    - werkzeug.testapp.iter_sys_path.strip
    - func_ast.args.args.append
    - werkzeug.datastructures.EnvironHeaders.__init__
    - werkzeug.routing.Rule._compile_builder
    - <builtin>.tuple
    - headers.append
    - flask.scaffold._matching_loader_thinks_module_is_package
    - werkzeug.middleware.shared_data.SharedDataMiddleware.generate_etag
    - match.end
    - werkzeug.http.unquote_etag
    - flask.helpers.get_env
    - werkzeug.middleware.shared_data.SharedDataMiddleware.get_file_loader
    - werkzeug.routing.parse_rule
    - ast.arg
    - _logger.addHandler
    - os.path.split
    - match.group
    - search_path.endswith
    - <builtin>.hasattr
    - <builtin>.len
    - loader.is_package
    - ast.Name
    - rv.extend
    - flask.cli.DispatchingApp.__init__
    - wsgi_env.append
    - werkzeug.wsgi.get_path_info
    - m.groupdict
    - werkzeug.urls.BytesURL.encode_netloc
    - zlib.adler32
    - werkzeug.security.gen_salt
    - ast.walk
    - value.encode
    - threading.Thread.start
    - typing.NamedTuple.__init__
    - textwrap.wrap
    - typing.NamedTuple.startswith
    - time.mktime.replace
    - func_ast.args.defaults.append
    - class_.append
    - weakref.ref
    - werkzeug.middleware.shared_data.SharedDataMiddleware.is_allowed
    - string.startswith
    - werkzeug.datastructures.ETags.__init__
    - os.environ.get
    - werkzeug.routing.Rule._get_func_code
    - <builtin>.getattr
    - typing.NamedTuple.path.decode
    - ast.Tuple
    - opl.append
    - werkzeug._internal._dt_as_utc
    - werkzeug._internal._ColorStreamHandler.__init__
    - werkzeug.routing.Rule.bind
    - _logger.setLevel
    - werkzeug.urls.BaseURL.encode_netloc
    - item.upper
    - os.path.basename
    - os.path.join
    - importlib.util.find_spec
    - site_folder.lower
    - exports.items
    - werkzeug.http.generate_etag
    - f.close
    - os.path.isabs
    - used_names.add
    - <builtin>.bytearray
    - werkzeug.middleware.shared_data.SharedDataMiddleware.__init__.<lambda1>
    - werkzeug._internal._to_str
    - strong.append
    - x.upper
    - werkzeug.http.is_resource_modified
    - os.path.isfile
    - werkzeug.utils.get_content_type
    - typing.NamedTuple.scheme.decode
    - importlib.import_module
    - werkzeug.http.parse_etags
    - <builtin>.repr
    - werkzeug.routing.Rule._compile_builder._convert
    - http.server.BaseHTTPRequestHandler.path.decode
    - werkzeug.wsgi.wrap_file
    - python_eggs.append
    - weak.append
    - <builtin>.bool
    - message.rstrip
    - werkzeug.routing._prefix_names
    - werkzeug.datastructures.ETags.contains
    - werkzeug.routing.Map.add
    - werkzeug.routing.Rule.get_rules
    - werkzeug.debug.DebuggedApplication.__init__
    - typing.NamedTuple.decode
    - email.utils.parsedate_to_datetime
    - match.groups
    - werkzeug.datastructures.ETags.is_weak
    - werkzeug.middleware.shared_data.SharedDataMiddleware.get_directory_loader
    - _converter_args_re.finditer
    - loader.get_filename
    - _etag_re.match
    - http.server.BaseHTTPRequestHandler.path.startswith
    - time.mktime.astimezone
    - werkzeug._internal._wsgi_decoding_dance
    - os.path.commonpath
    - url_parts.extend
    - s.encode
    - regex_parts.append
    - sys_path.append
    - item.group
    - etag.startswith
    - werkzeug.middleware.shared_data.SharedDataMiddleware.__init__
    - string.endswith
    - werkzeug.wsgi._get_server
    - werkzeug.wrappers.response.Response.set_data
    - werkzeug.http.parse_date
    - hashlib.sha1.hexdigest
    - flask.helpers.get_debug_flag
    - typing.cast
    - methods.add
    - mimetype.startswith
    - werkzeug.routing.Rule.__init__
    - os.path.isdir
    - <builtin>.isinstance
    - re.escape
    - <builtin>.filter
    - typing.NamedTuple.scheme.encode
    - html.escape
    - <builtin>.range
    - werkzeug.urls.url_quote
    - os.path.dirname
    - werkzeug.middleware.shared_data.SharedDataMiddleware.get_package_loader
    - werkzeug.wrappers.request.Request.__init__
    - val.lower
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe41df0a0>
    - <ast.Constant object at 0x7fcfe41df3d0>
    argNames:
    - environ
    - charset
    - errors
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 195
    functionName: werkzeug.wsgi.get_path_info
    functionSourceFile: werkzeug.wsgi
    functionUses: 1
    functionsReached:
    - werkzeug._internal._to_str
    - typing.NamedTuple.scheme.decode
    - http.server.BaseHTTPRequestHandler.path.decode
    - werkzeug.urls.BytesURL.decode
    - typing.NamedTuple.query.decode
    - typing.NamedTuple.fragment.decode
    - typing.NamedTuple.decode
    - werkzeug._internal._decode_idna
    - typing.NamedTuple.__init__
    - werkzeug.urls.BaseURL.decode_netloc
    - <builtin>.str
    - domain.encode
    - werkzeug._internal._decode_idna.decode_part
    - domain.split
    - environ.get
    - part.decode
    - typing.NamedTuple.path.decode
    - <builtin>.isinstance
    - <builtin>.filter
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: search_path.endswith
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: http.server.BaseHTTPRequestHandler.path.startswith
    functionSourceFile: http
    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: typing.NamedTuple.startswith
    functionSourceFile: typing
    functionUses: 19
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 2
    IfCount: 3
    argCount: 11
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe47f0b50>
    - <ast.Constant object at 0x7fcfe47f0a60>
    - <ast.Constant object at 0x7fcfe47f0550>
    - <ast.Constant object at 0x7fcfe47f0340>
    - <ast.Constant object at 0x7fcfe47f0cd0>
    - <ast.Constant object at 0x7fcfe47f0ee0>
    - <ast.Constant object at 0x7fcfe47f00d0>
    - <ast.Constant object at 0x7fcfe47f0b80>
    - <ast.Constant object at 0x7fcfe47f0be0>
    argNames:
    - self
    - import_name
    - static_url_path
    - static_folder
    - static_host
    - host_matching
    - subdomain_matching
    - template_folder
    - instance_path
    - instance_relative_config
    - root_path
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 9
    functionLinenumber: 378
    functionName: flask.app.Flask.__init__
    functionSourceFile: flask.app
    functionUses: 3
    functionsReached:
    - http.server.BaseHTTPRequestHandler.path.fragment.encode
    - werkzeug.routing.Rule.compile
    - werkzeug.routing._pythonize
    - werkzeug.routing.Map.__init__
    - ast.Load
    - <builtin>.dict
    - <builtin>.next
    - flask.scaffold.find_package
    - path.relative_to
    - re.compile
    - http.server.BaseHTTPRequestHandler.path.query.encode
    - body.append
    - os.getcwd
    - pathlib.Path
    - flask.config.Config.__init__
    - flask.app.Flask.add_url_rule
    - typing.NamedTuple.encode
    - <builtin>.exec
    - <builtin>.str
    - flask.scaffold._path_is_relative_to
    - re.finditer
    - <builtin>.frozenset
    - typing.NamedTuple.fragment.encode
    - ast.parse
    - pkgutil.get_loader
    - threading.Lock
    - typing.NamedTuple.path.encode
    - flask.app.Flask.auto_find_instance_path
    - werkzeug.routing.Rule.compile._build_regex
    - safe.encode
    - ast.Str
    - <builtin>.super
    - <builtin>.set
    - flask.app.Flask.make_config
    - ret.append
    - os.path.abspath
    - val.lower
    - required_methods.add
    - werkzeug._internal._to_bytes
    - werkzeug.routing.parse_converter_args
    - folder.lower
    - import_name.partition
    - typing.NamedTuple.query.encode
    - flask.scaffold._find_package_path
    - pathlib.PurePath
    - werkzeug.routing.Rule.get_converter
    - args.append
    - flask.scaffold._endpoint_from_view_func
    - rv.append
    - <builtin>.iter
    - ast.Return
    - werkzeug.routing.Rule._compile_builder._parts
    - ast.JoinedStr
    - unsafe.encode
    - m.end
    - werkzeug.datastructures.ImmutableDict.copy
    - _CALL_CONVERTER_CODE_FMT.format
    - werkzeug.routing.Rule._compile_builder._join
    - options.pop
    - <builtin>.type
    - werkzeug.urls.URL.encode
    - part.startswith
    - <builtin>.bytes
    - http.server.BaseHTTPRequestHandler.path.encode
    - func_ast.args.args.append
    - werkzeug.routing.Rule._compile_builder
    - <builtin>.tuple
    - flask.helpers.get_env
    - flask.scaffold._matching_loader_thinks_module_is_package
    - werkzeug.routing.parse_rule
    - ast.arg
    - os.path.split
    - match.group
    - <builtin>.hasattr
    - <builtin>.len
    - loader.is_package
    - ast.Name
    - rv.extend
    - m.groupdict
    - werkzeug.urls.BytesURL.encode_netloc
    - ast.walk
    - typing.NamedTuple.__init__
    - func_ast.args.defaults.append
    - weakref.ref
    - string.startswith
    - werkzeug.routing.Rule._get_func_code
    - <builtin>.getattr
    - ast.Tuple
    - opl.append
    - werkzeug.routing.Rule.bind
    - werkzeug.urls.BaseURL.encode_netloc
    - item.upper
    - os.path.basename
    - os.path.join
    - site_folder.lower
    - importlib.util.find_spec
    - used_names.add
    - os.path.isabs
    - <builtin>.bytearray
    - x.upper
    - importlib.import_module
    - werkzeug.routing.Rule._compile_builder._convert
    - werkzeug.routing._prefix_names
    - <builtin>.bool
    - werkzeug.routing.Map.add
    - werkzeug.routing.Rule.get_rules
    - loader.get_filename
    - os.path.commonpath
    - url_parts.extend
    - regex_parts.append
    - item.group
    - string.endswith
    - flask.helpers.get_debug_flag
    - methods.add
    - werkzeug.routing.Rule.__init__
    - typing.NamedTuple.scheme.encode
    - <builtin>.isinstance
    - re.escape
    - <builtin>.filter
    - os.path.dirname
    - werkzeug.urls.url_quote
    - os.environ.get
    - _converter_args_re.finditer
    linkageType: pythonLinkage
    raised:
    - ValueError
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    IfCount: 2
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe2c75040>
    argNames:
    - self
    - loader
    - use_eager_loading
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 269
    functionName: flask.cli.DispatchingApp.__init__
    functionSourceFile: flask.cli
    functionUses: 4
    functionsReached:
    - threading.Lock
    - threading.Thread
    - flask.cli.DispatchingApp._load_in_background
    - click.get_current_context
    - threading.Thread.start
    - flask.cli.DispatchingApp._load_unlocked
    - os.environ.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - environ
    - start_response
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 213
    functionName: werkzeug.testapp.test_app
    functionSourceFile: werkzeug.testapp
    functionUses: 3
    functionsReached:
    - werkzeug.testapp.render_testapp
    - os.path.join
    - html.escape.splitlines
    - <builtin>.repr
    - <builtin>.len
    - python_eggs.append
    - wsgi_env.append
    - os.path.normpath
    - os.getcwd
    - value.encode
    - textwrap.wrap
    - werkzeug._internal._wsgi_decoding_dance
    - werkzeug.wrappers.response.Response.__init__
    - class_.append
    - s.encode
    - <builtin>.sorted
    - sys_path.append
    - <builtin>.str
    - werkzeug.testapp.iter_sys_path
    - <builtin>.int
    - environ.get
    - werkzeug.wsgi._get_server
    - werkzeug.wrappers.response.Response.set_data
    - os.path.expanduser
    - <builtin>.bytes
    - os.path.isdir
    - <builtin>.isinstance
    - x.startswith
    - req.environ.items
    - werkzeug.testapp.iter_sys_path.strip
    - html.escape
    - <builtin>.super
    - werkzeug.datastructures.EnvironHeaders.__init__
    - werkzeug.wrappers.request.Request.__init__
    - os.path.abspath
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: mimetypes.guess_type
    functionSourceFile: mimetypes
    functionUses: 28
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - mimetype
    - charset
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 170
    functionName: werkzeug.utils.get_content_type
    functionSourceFile: werkzeug.utils
    functionUses: 4
    functionsReached:
    - mimetype.endswith
    - mimetype.startswith
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 1
    IfCount: 3
    argCount: 1
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe3b2f6d0>
    argNames:
    - timestamp
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 951
    functionName: werkzeug.http.http_date
    functionSourceFile: werkzeug.http
    functionUses: 15
    functionsReached:
    - email.utils.format_datetime
    - time.mktime
    - <builtin>.isinstance
    - email.utils.formatdate
    - time.mktime.replace
    - datetime.time
    - time.mktime.astimezone
    - datetime.datetime.combine
    - werkzeug._internal._dt_as_utc
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 11
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 16
    ICount: 1
    IfCount: 11
    argCount: 5
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe3b3b160>
    - <ast.Constant object at 0x7fcfe3b3b130>
    - <ast.Constant object at 0x7fcfe3b3b100>
    - <ast.Constant object at 0x7fcfe3b3b0d0>
    argNames:
    - environ
    - etag
    - data
    - last_modified
    - ignore_if_range
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 1025
    functionName: werkzeug.http.is_resource_modified
    functionSourceFile: werkzeug.http
    functionUses: 4
    functionsReached:
    - match.end
    - werkzeug.http.unquote_etag
    - strong.append
    - werkzeug.http.parse_if_range_header
    - werkzeug.http.parse_etags
    - <builtin>.len
    - weak.append
    - werkzeug.datastructures.ETags.is_strong
    - werkzeug.datastructures.ETags.contains
    - werkzeug.datastructures.ETags.contains_weak
    - email.utils.parsedate_to_datetime
    - werkzeug.datastructures.ETags.is_weak
    - match.groups
    - etag.strip
    - _etag_re.match
    - time.mktime.astimezone
    - time.mktime.replace
    - werkzeug.datastructures.IfRange.__init__
    - dt.replace
    - etag.startswith
    - werkzeug.datastructures.ETags.__init__
    - <builtin>.frozenset
    - environ.get
    - werkzeug._internal._dt_as_utc
    - werkzeug.http.parse_date
    - hashlib.sha1.hexdigest
    - typing.cast
    - <builtin>.isinstance
    - hashlib.sha1
    - werkzeug.http.generate_etag
    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: f.close
    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: time.time
    functionSourceFile: time
    functionUses: 34
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: headers.append
    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: headers.extend
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe3587cd0>
    argNames:
    - environ
    - file
    - buffer_size
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 469
    functionName: werkzeug.wsgi.wrap_file
    functionSourceFile: werkzeug.wsgi
    functionUses: 8
    functionsReached:
    - environ.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: werkzeug.wsgi
    functionSourceFile: werkzeug.wsgi
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - f
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 24
    functionName: werkzeug.wsgi.responder
    functionSourceFile: werkzeug.wsgi
    functionUses: 0
    functionsReached:
    - functools.update_wrapper
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: werkzeug.wsgi.responder.<lambda1>
    functionSourceFile: werkzeug.wsgi
    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: functools.update_wrapper
    functionSourceFile: functools
    functionUses: 30
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 1
    IfCount: 3
    argCount: 5
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe19897f0>
    - <ast.Constant object at 0x7fcfe19897c0>
    - <ast.Constant object at 0x7fcfe1989790>
    - <ast.Constant object at 0x7fcfe1989760>
    argNames:
    - environ
    - root_only
    - strip_querystring
    - host_only
    - trusted_hosts
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 8
    functionLinenumber: 37
    functionName: werkzeug.wsgi.get_current_url
    functionSourceFile: werkzeug.wsgi
    functionUses: 5
    functionsReached:
    - http.server.BaseHTTPRequestHandler.path.fragment.encode
    - p.encode
    - typing.NamedTuple.query.decode
    - <builtin>.next
    - http.server.BaseHTTPRequestHandler.path.query.encode
    - werkzeug._internal._make_encode_wrapper.<lambda1>
    - typing.NamedTuple.fragment.decode
    - werkzeug._internal._decode_idna
    - werkzeug.urls.BaseURL.decode_netloc
    - result.append
    - typing.NamedTuple.encode
    - <builtin>.str
    - <builtin>.int
    - werkzeug._internal._decode_idna.decode_part
    - <builtin>.frozenset
    - http.server.BaseHTTPRequestHandler.path.find
    - <builtin>.min
    - typing.NamedTuple.fragment.encode
    - <builtin>.any
    - werkzeug.urls._unquote_to_bytes
    - typing.NamedTuple.path.encode
    - safe.encode
    - werkzeug._internal._encode_idna
    - werkzeug.urls.url_unparse
    - werkzeug.urls.BytesURL.decode
    - typing.NamedTuple.path.split
    - root_path.rstrip
    - typing.NamedTuple.query.encode
    - path.lstrip
    - path.startswith
    - rv.append
    - _scheme_re.match
    - <builtin>.iter
    - typing.NamedTuple.query.split
    - domain.encode
    - unsafe.encode
    - domain.split
    - environ.get
    - part.decode
    - result.extend
    - <builtin>.bytes
    - operator.methodcaller
    - http.server.BaseHTTPRequestHandler.path.encode
    - http.server.BaseHTTPRequestHandler.path.fragment.split
    - typing.NamedTuple.fragment.split
    - werkzeug._internal._check_str_tuple
    - http.server.BaseHTTPRequestHandler.path.query.split
    - <builtin>.len
    - rv.extend
    - werkzeug.urls.url_unquote
    - werkzeug.urls.BytesURL.encode_netloc
    - typing.NamedTuple.__init__
    - werkzeug.sansio.utils.host_is_trusted._normalize
    - typing.NamedTuple.split
    - http.server.BaseHTTPRequestHandler.path.split
    - typing.NamedTuple.path.decode
    - hostname.rsplit
    - werkzeug.urls.uri_to_iri
    - werkzeug.urls.BaseURL.encode_netloc
    - werkzeug.sansio.utils.get_host
    - werkzeug._internal._make_encode_wrapper
    - <builtin>.bytearray
    - werkzeug._internal._to_str
    - typing.NamedTuple.scheme.decode
    - http.server.BaseHTTPRequestHandler.path.decode
    - typing.NamedTuple.decode
    - url.append
    - werkzeug.wsgi.get_host
    - typing.NamedTuple.find
    - werkzeug.sansio.utils.get_current_url
    - werkzeug.wsgi._get_server
    - http.server.BaseHTTPRequestHandler.path.decode_netloc
    - _hextobyte.items
    - typing.NamedTuple.scheme.encode
    - <builtin>.isinstance
    - werkzeug.urls.url_parse
    - <builtin>.filter
    - werkzeug.sansio.utils.host_is_trusted
    - werkzeug.urls.url_quote
    - host.endswith
    - werkzeug.urls.URL.encode
    - ref.startswith
    - rv.decode
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe35ae190>
    argNames:
    - environ
    - trusted_hosts
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 92
    functionName: werkzeug.wsgi.get_host
    functionSourceFile: werkzeug.wsgi
    functionUses: 18
    functionsReached:
    - ref.startswith
    - p.encode
    - werkzeug._internal._encode_idna
    - <builtin>.isinstance
    - <builtin>.int
    - werkzeug.sansio.utils.get_host
    - werkzeug.sansio.utils.host_is_trusted
    - host.endswith
    - environ.get
    - werkzeug.sansio.utils.host_is_trusted._normalize
    - hostname.rsplit
    - werkzeug.wsgi._get_server
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 7
    IfCount: 3
    argCount: 5
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe3750310>
    - <ast.Constant object at 0x7fcfe37502e0>
    - <ast.Constant object at 0x7fcfe3750dc0>
    argNames:
    - scheme
    - host
    - root_path
    - path
    - query_string
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 7
    functionLinenumber: 104
    functionName: werkzeug.sansio.utils.get_current_url
    functionSourceFile: werkzeug.sansio.utils
    functionUses: 10
    functionsReached:
    - http.server.BaseHTTPRequestHandler.path.fragment.encode
    - <builtin>.bytearray
    - werkzeug._internal._to_str
    - typing.NamedTuple.fragment.split
    - werkzeug._internal._check_str_tuple
    - typing.NamedTuple.scheme.decode
    - http.server.BaseHTTPRequestHandler.path.decode
    - http.server.BaseHTTPRequestHandler.path.query.split
    - <builtin>.len
    - werkzeug.urls.url_unparse
    - werkzeug.urls.BytesURL.decode
    - typing.NamedTuple.query.decode
    - rv.extend
    - <builtin>.next
    - typing.NamedTuple.path.split
    - root_path.rstrip
    - typing.NamedTuple.query.encode
    - http.server.BaseHTTPRequestHandler.path.query.encode
    - werkzeug.urls.url_unquote
    - werkzeug._internal._make_encode_wrapper.<lambda1>
    - typing.NamedTuple.fragment.decode
    - typing.NamedTuple.decode
    - werkzeug.urls.BytesURL.encode_netloc
    - werkzeug._internal._decode_idna
    - path.lstrip
    - typing.NamedTuple.__init__
    - path.startswith
    - werkzeug.urls.BaseURL.decode_netloc
    - result.append
    - url.append
    - typing.NamedTuple.encode
    - typing.NamedTuple.split
    - rv.append
    - _scheme_re.match
    - <builtin>.str
    - <builtin>.iter
    - typing.NamedTuple.query.split
    - typing.NamedTuple.find
    - http.server.BaseHTTPRequestHandler.path.split
    - domain.encode
    - werkzeug._internal._decode_idna.decode_part
    - unsafe.encode
    - <builtin>.frozenset
    - domain.split
    - http.server.BaseHTTPRequestHandler.path.find
    - <builtin>.min
    - part.decode
    - typing.NamedTuple.fragment.encode
    - <builtin>.any
    - typing.NamedTuple.path.decode
    - http.server.BaseHTTPRequestHandler.path.decode_netloc
    - werkzeug.urls.uri_to_iri
    - werkzeug.urls._unquote_to_bytes
    - werkzeug.urls.URL.encode
    - typing.NamedTuple.path.encode
    - _hextobyte.items
    - <builtin>.bytes
    - safe.encode
    - operator.methodcaller
    - <builtin>.isinstance
    - werkzeug.urls.url_parse
    - http.server.BaseHTTPRequestHandler.path.encode
    - <builtin>.filter
    - werkzeug.urls.BaseURL.encode_netloc
    - typing.NamedTuple.scheme.encode
    - werkzeug.urls.url_quote
    - werkzeug._internal._make_encode_wrapper
    - result.extend
    - rv.decode
    - http.server.BaseHTTPRequestHandler.path.fragment.split
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - environ
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 75
    functionName: werkzeug.wsgi._get_server
    functionSourceFile: werkzeug.wsgi
    functionUses: 37
    functionsReached:
    - <builtin>.int
    - environ.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 11
    ICount: 1
    IfCount: 7
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe4b3da60>
    - <ast.Constant object at 0x7fcfe4b3d460>
    argNames:
    - scheme
    - host_header
    - server
    - trusted_hosts
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 56
    functionName: werkzeug.sansio.utils.get_host
    functionSourceFile: werkzeug.sansio.utils
    functionUses: 20
    functionsReached:
    - p.encode
    - werkzeug._internal._encode_idna
    - <builtin>.isinstance
    - werkzeug.sansio.utils.host_is_trusted
    - host.endswith
    - ref.startswith
    - werkzeug.sansio.utils.host_is_trusted._normalize
    - hostname.rsplit
    linkageType: pythonLinkage
    raised:
    - SecurityError
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - environ
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 120
    functionName: werkzeug.wsgi.get_content_length
    functionSourceFile: werkzeug.wsgi
    functionUses: 6
    functionsReached:
    - <builtin>.int
    - <builtin>.max
    - environ.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.max
    functionSourceFile: <builtin>
    functionUses: 17
    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 0x7fcfe3589a30>
    argNames:
    - environ
    - safe_fallback
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 141
    functionName: werkzeug.wsgi.get_input_stream
    functionSourceFile: werkzeug.wsgi
    functionUses: 5
    functionsReached:
    - typing.cast
    - werkzeug.wsgi.LimitedStream.__init__
    - <builtin>.int
    - <builtin>.max
    - werkzeug.wsgi.get_content_length
    - environ.get
    - io.BytesIO
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: io.BytesIO
    functionSourceFile: io
    functionUses: 45
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - stream
    - limit
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 862
    functionName: werkzeug.wsgi.LimitedStream.__init__
    functionSourceFile: ''
    functionUses: 14
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - environ
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 179
    functionName: werkzeug.wsgi.get_query_string
    functionSourceFile: werkzeug.wsgi
    functionUses: 0
    functionsReached:
    - http.server.BaseHTTPRequestHandler.path.fragment.encode
    - <builtin>.bytearray
    - rv.extend
    - typing.NamedTuple.query.encode
    - http.server.BaseHTTPRequestHandler.path.query.encode
    - werkzeug.urls.BytesURL.encode_netloc
    - typing.NamedTuple.__init__
    - typing.NamedTuple.encode
    - rv.append
    - <builtin>.str
    - unsafe.encode
    - <builtin>.frozenset
    - environ.get
    - typing.NamedTuple.fragment.encode
    - typing.NamedTuple.path.encode
    - safe.encode
    - <builtin>.bytes
    - typing.NamedTuple.scheme.encode
    - <builtin>.isinstance
    - werkzeug.urls.BaseURL.encode_netloc
    - http.server.BaseHTTPRequestHandler.path.encode
    - <builtin>.filter
    - werkzeug.urls.url_quote
    - werkzeug.urls.URL.encode
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 3
    IfCount: 5
    argCount: 5
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe42f5e50>
    - <ast.Constant object at 0x7fcfe42f5e20>
    - <ast.Constant object at 0x7fcfe42f5df0>
    - <ast.Constant object at 0x7fcfe42f5dc0>
    argNames:
    - string
    - charset
    - errors
    - safe
    - unsafe
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 547
    functionName: werkzeug.urls.url_quote
    functionSourceFile: werkzeug.urls
    functionUses: 65
    functionsReached:
    - http.server.BaseHTTPRequestHandler.path.fragment.encode
    - <builtin>.bytearray
    - rv.extend
    - typing.NamedTuple.query.encode
    - http.server.BaseHTTPRequestHandler.path.query.encode
    - werkzeug.urls.BytesURL.encode_netloc
    - typing.NamedTuple.__init__
    - typing.NamedTuple.encode
    - rv.append
    - <builtin>.str
    - unsafe.encode
    - <builtin>.frozenset
    - typing.NamedTuple.fragment.encode
    - typing.NamedTuple.path.encode
    - safe.encode
    - <builtin>.bytes
    - typing.NamedTuple.scheme.encode
    - <builtin>.isinstance
    - werkzeug.urls.BaseURL.encode_netloc
    - http.server.BaseHTTPRequestHandler.path.encode
    - <builtin>.filter
    - werkzeug.urls.URL.encode
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 0
    IfCount: 4
    argCount: 4
    argDefaultValues:
    - <ast.Name object at 0x7fcfe49b1790>
    - <ast.Constant object at 0x7fcfe1a3b640>
    - <ast.Constant object at 0x7fcfe1a3bdc0>
    argNames:
    - x
    - charset
    - errors
    - allow_none_charset
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 130
    functionName: werkzeug._internal._to_str
    functionSourceFile: werkzeug._internal
    functionUses: 110
    functionsReached:
    - typing.NamedTuple.fragment.decode
    - <builtin>.str
    - werkzeug.urls.BaseURL.decode_netloc
    - typing.NamedTuple.scheme.decode
    - typing.NamedTuple.decode
    - <builtin>.isinstance
    - <builtin>.filter
    - werkzeug._internal._decode_idna
    - domain.encode
    - domain.split
    - typing.NamedTuple.__init__
    - werkzeug._internal._decode_idna.decode_part
    - http.server.BaseHTTPRequestHandler.path.decode
    - part.decode
    - typing.NamedTuple.path.decode
    - werkzeug.urls.BytesURL.decode
    - typing.NamedTuple.query.decode
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe246df10>
    - <ast.Constant object at 0x7fcfe246d5b0>
    argNames:
    - environ
    - charset
    - errors
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 212
    functionName: werkzeug.wsgi.get_script_name
    functionSourceFile: werkzeug.wsgi
    functionUses: 0
    functionsReached:
    - werkzeug._internal._to_str
    - typing.NamedTuple.scheme.decode
    - http.server.BaseHTTPRequestHandler.path.decode
    - werkzeug.urls.BytesURL.decode
    - typing.NamedTuple.query.decode
    - typing.NamedTuple.fragment.decode
    - typing.NamedTuple.decode
    - werkzeug._internal._decode_idna
    - typing.NamedTuple.__init__
    - werkzeug.urls.BaseURL.decode_netloc
    - <builtin>.str
    - domain.encode
    - werkzeug._internal._decode_idna.decode_part
    - domain.split
    - environ.get
    - part.decode
    - typing.NamedTuple.path.decode
    - <builtin>.isinstance
    - <builtin>.filter
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 1
    IfCount: 3
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe41e2400>
    - <ast.Constant object at 0x7fcfe41e2e80>
    argNames:
    - environ
    - charset
    - errors
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 229
    functionName: werkzeug.wsgi.pop_path_info
    functionSourceFile: werkzeug.wsgi
    functionUses: 0
    functionsReached:
    - werkzeug._internal._to_str
    - typing.NamedTuple.scheme.decode
    - segment.encode
    - http.server.BaseHTTPRequestHandler.path.decode
    - <builtin>.len
    - werkzeug.urls.BytesURL.decode
    - typing.NamedTuple.query.decode
    - path.encode
    - typing.NamedTuple.fragment.decode
    - path.split
    - typing.NamedTuple.decode
    - werkzeug._internal._decode_idna
    - path.lstrip
    - typing.NamedTuple.__init__
    - werkzeug.urls.BaseURL.decode_netloc
    - <builtin>.str
    - domain.encode
    - werkzeug._internal._decode_idna.decode_part
    - domain.split
    - environ.get
    - part.decode
    - typing.NamedTuple.path.decode
    - <builtin>.isinstance
    - <builtin>.filter
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: path.lstrip
    functionSourceFile: <builtin>
    functionUses: 16
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: path.encode
    functionSourceFile: <builtin>
    functionUses: 8
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: path.split
    functionSourceFile: <builtin>
    functionUses: 41
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: segment.encode
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe2c88070>
    - <ast.Constant object at 0x7fcfe2c88040>
    argNames:
    - environ
    - charset
    - errors
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 287
    functionName: werkzeug.wsgi.peek_path_info
    functionSourceFile: werkzeug.wsgi
    functionUses: 0
    functionsReached:
    - werkzeug._internal._to_str
    - typing.NamedTuple.scheme.decode
    - http.server.BaseHTTPRequestHandler.path.decode
    - werkzeug.urls.BytesURL.decode
    - typing.NamedTuple.query.decode
    - typing.NamedTuple.fragment.decode
    - typing.NamedTuple.decode
    - werkzeug._internal._decode_idna
    - typing.NamedTuple.__init__
    - werkzeug.urls.BaseURL.decode_netloc
    - <builtin>.str
    - domain.encode
    - werkzeug._internal._decode_idna.decode_part
    - domain.split
    - environ.get
    - part.decode
    - typing.NamedTuple.path.decode
    - <builtin>.isinstance
    - <builtin>.filter
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 9
    ICount: 1
    IfCount: 6
    argCount: 5
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe3f4c7f0>
    - <ast.Constant object at 0x7fcfe3f4cdc0>
    - <ast.Constant object at 0x7fcfe3f4c490>
    argNames:
    - environ_or_baseurl
    - path_or_url
    - charset
    - errors
    - collapse_http_schemes
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 7
    functionLinenumber: 318
    functionName: werkzeug.wsgi.extract_path_info
    functionSourceFile: werkzeug.wsgi
    functionUses: 0
    functionsReached:
    - http.server.BaseHTTPRequestHandler.path.fragment.encode
    - p.encode
    - typing.NamedTuple.query.decode
    - <builtin>.next
    - http.server.BaseHTTPRequestHandler.path.query.encode
    - werkzeug._internal._make_encode_wrapper.<lambda1>
    - typing.NamedTuple.fragment.decode
    - werkzeug.wsgi.get_current_url
    - werkzeug._internal._decode_idna
    - werkzeug.urls.BaseURL.decode_netloc
    - result.append
    - typing.NamedTuple.encode
    - <builtin>.str
    - <builtin>.int
    - werkzeug._internal._decode_idna.decode_part
    - <builtin>.frozenset
    - http.server.BaseHTTPRequestHandler.path.find
    - <builtin>.min
    - typing.NamedTuple.fragment.encode
    - <builtin>.any
    - werkzeug.urls._unquote_to_bytes
    - werkzeug.wsgi.extract_path_info._normalize_netloc
    - typing.NamedTuple.path.encode
    - safe.encode
    - werkzeug._internal._encode_idna
    - werkzeug.urls.url_unparse
    - werkzeug.urls.BytesURL.decode
    - typing.NamedTuple.path.split
    - root_path.rstrip
    - typing.NamedTuple.query.encode
    - path.split
    - bpath.split
    - path.lstrip
    - path.startswith
    - rv.append
    - _scheme_re.match
    - <builtin>.iter
    - typing.NamedTuple.query.split
    - domain.encode
    - unsafe.encode
    - domain.split
    - environ.get
    - part.decode
    - cur_path.startswith
    - werkzeug.urls.URL.encode
    - <builtin>.bytes
    - operator.methodcaller
    - http.server.BaseHTTPRequestHandler.path.encode
    - http.server.BaseHTTPRequestHandler.path.fragment.split
    - typing.NamedTuple.fragment.split
    - werkzeug._internal._check_str_tuple
    - http.server.BaseHTTPRequestHandler.path.query.split
    - <builtin>.len
    - rv.extend
    - werkzeug.urls.url_unquote
    - werkzeug.urls.BytesURL.encode_netloc
    - typing.NamedTuple.__init__
    - werkzeug.sansio.utils.host_is_trusted._normalize
    - typing.NamedTuple.split
    - http.server.BaseHTTPRequestHandler.path.split
    - netloc.split
    - typing.NamedTuple.path.decode
    - hostname.rsplit
    - werkzeug.urls.uri_to_iri
    - werkzeug.urls.BaseURL.encode_netloc
    - werkzeug.sansio.utils.get_host
    - werkzeug._internal._make_encode_wrapper
    - <builtin>.bytearray
    - werkzeug._internal._to_str
    - typing.NamedTuple.scheme.decode
    - http.server.BaseHTTPRequestHandler.path.decode
    - typing.NamedTuple.decode
    - url.append
    - werkzeug.wsgi.get_host
    - typing.NamedTuple.find
    - werkzeug.sansio.utils.get_current_url
    - werkzeug.wsgi._get_server
    - http.server.BaseHTTPRequestHandler.path.decode_netloc
    - base_path.rstrip
    - _hextobyte.items
    - typing.NamedTuple.scheme.encode
    - <builtin>.isinstance
    - werkzeug.urls.url_join
    - werkzeug.urls.url_parse
    - <builtin>.filter
    - werkzeug.sansio.utils.host_is_trusted
    - werkzeug.urls.url_quote
    - host.endswith
    - result.extend
    - ref.startswith
    - rv.decode
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 0
    IfCount: 3
    argCount: 2
    argDefaultValues: []
    argNames:
    - scheme
    - netloc
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 364
    functionName: werkzeug.wsgi.extract_path_info._normalize_netloc
    functionSourceFile: werkzeug.wsgi
    functionUses: 1
    functionsReached:
    - <builtin>.len
    - netloc.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: netloc.split
    functionSourceFile: <builtin>
    functionUses: 12
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 11
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 16
    ICount: 2
    IfCount: 11
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe42d1cd0>
    argNames:
    - base
    - url
    - allow_fragments
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 7
    functionLinenumber: 999
    functionName: werkzeug.urls.url_join
    functionSourceFile: werkzeug.urls
    functionUses: 38
    functionsReached:
    - werkzeug._internal._to_str
    - werkzeug._internal._check_str_tuple
    - typing.NamedTuple.scheme.decode
    - http.server.BaseHTTPRequestHandler.path.decode
    - <builtin>.len
    - werkzeug.urls.url_unparse
    - werkzeug.urls.BytesURL.decode
    - typing.NamedTuple.query.decode
    - werkzeug._internal._make_encode_wrapper.<lambda1>
    - typing.NamedTuple.fragment.decode
    - path.split
    - bpath.split
    - typing.NamedTuple.decode
    - werkzeug._internal._decode_idna
    - typing.NamedTuple.__init__
    - path.startswith
    - werkzeug.urls.BaseURL.decode_netloc
    - typing.NamedTuple.split
    - _scheme_re.match
    - <builtin>.str
    - typing.NamedTuple.find
    - http.server.BaseHTTPRequestHandler.path.split
    - domain.encode
    - werkzeug._internal._decode_idna.decode_part
    - domain.split
    - http.server.BaseHTTPRequestHandler.path.find
    - <builtin>.min
    - part.decode
    - <builtin>.any
    - typing.NamedTuple.path.decode
    - operator.methodcaller
    - <builtin>.isinstance
    - werkzeug.urls.url_parse
    - <builtin>.filter
    - werkzeug._internal._make_encode_wrapper
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: base_path.rstrip
    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: cur_path.startswith
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 1
    IfCount: 3
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe24fcf70>
    argNames:
    - self
    - iterable
    - callbacks
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 438
    functionName: werkzeug.wsgi.ClosingIterator.__init__
    functionSourceFile: werkzeug.wsgi
    functionUses: 13
    functionsReached:
    - <builtin>.callable
    - typing.cast
    - <builtin>.list
    - <builtin>.iter
    - <builtin>.getattr
    - functools.partial
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.iter
    functionSourceFile: <builtin>
    functionUses: 115
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: functools.partial
    functionSourceFile: functools
    functionUses: 27
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.callable
    functionSourceFile: <builtin>
    functionUses: 49
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.list
    functionSourceFile: <builtin>
    functionUses: 146
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 458
    functionName: werkzeug.wsgi.ClosingIterator.__iter__
    functionSourceFile: werkzeug.wsgi
    functionUses: 9
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 461
    functionName: werkzeug.wsgi.ClosingIterator.__next__
    functionSourceFile: werkzeug.wsgi
    functionUses: 9
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 464
    functionName: werkzeug.wsgi.ClosingIterator.close
    functionSourceFile: werkzeug.wsgi
    functionUses: 0
    functionsReached:
    - werkzeug.wrappers.response.Response.close
    - local.__release_local__
    - werkzeug.wsgi._RangeWrapper.close
    - werkzeug.local.release_local
    - werkzeug.local.LocalManager.cleanup
    - <builtin>.hasattr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 181
    functionName: werkzeug.local.LocalManager.cleanup
    functionSourceFile: werkzeug.local
    functionUses: 1
    functionsReached:
    - werkzeug.local.release_local
    - local.__release_local__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 434
    functionName: werkzeug.wrappers.response.Response.close
    functionSourceFile: werkzeug.wrappers.response
    functionUses: 2
    functionsReached:
    - <builtin>.hasattr
    - werkzeug.wsgi._RangeWrapper.close
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe35876d0>
    argNames:
    - self
    - file
    - buffer_size
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 510
    functionName: werkzeug.wsgi.FileWrapper.__init__
    functionSourceFile: werkzeug.wsgi
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 514
    functionName: werkzeug.wsgi.FileWrapper.close
    functionSourceFile: werkzeug.wsgi
    functionUses: 0
    functionsReached:
    - <builtin>.hasattr
    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: 1
    functionLinenumber: 518
    functionName: werkzeug.wsgi.FileWrapper.seekable
    functionSourceFile: werkzeug.wsgi
    functionUses: 0
    functionsReached:
    - <builtin>.hasattr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - args
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 525
    functionName: werkzeug.wsgi.FileWrapper.seek
    functionSourceFile: werkzeug.wsgi
    functionUses: 0
    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: 1
    functionLinenumber: 529
    functionName: werkzeug.wsgi.FileWrapper.tell
    functionSourceFile: werkzeug.wsgi
    functionUses: 0
    functionsReached:
    - <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: 0
    functionLinenumber: 534
    functionName: werkzeug.wsgi.FileWrapper.__iter__
    functionSourceFile: werkzeug.wsgi
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 537
    functionName: werkzeug.wsgi.FileWrapper.__next__
    functionSourceFile: werkzeug.wsgi
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - StopIteration
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe3584a00>
    - <ast.Constant object at 0x7fcfe35849d0>
    argNames:
    - self
    - iterable
    - start_byte
    - byte_range
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 561
    functionName: werkzeug.wsgi._RangeWrapper.__init__
    functionSourceFile: werkzeug.wsgi
    functionUses: 3
    functionsReached:
    - <builtin>.iter
    - <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: 0
    functionLinenumber: 581
    functionName: werkzeug.wsgi._RangeWrapper.__iter__
    functionSourceFile: werkzeug.wsgi
    functionUses: 19
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 584
    functionName: werkzeug.wsgi._RangeWrapper._next_chunk
    functionSourceFile: werkzeug.wsgi
    functionUses: 22
    functionsReached:
    - <builtin>.next
    - <builtin>.len
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.next
    functionSourceFile: <builtin>
    functionUses: 80
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 593
    functionName: werkzeug.wsgi._RangeWrapper._first_iteration
    functionSourceFile: werkzeug.wsgi
    functionUses: 21
    functionsReached:
    - <builtin>.next
    - <builtin>.len
    - werkzeug.wsgi._RangeWrapper._next_chunk
    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: 607
    functionName: werkzeug.wsgi._RangeWrapper._next
    functionSourceFile: werkzeug.wsgi
    functionUses: 20
    functionsReached:
    - <builtin>.next
    - <builtin>.len
    - werkzeug.wsgi._RangeWrapper._next_chunk
    - werkzeug.wsgi._RangeWrapper._first_iteration
    linkageType: pythonLinkage
    raised:
    - StopIteration
    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: 4
    functionLinenumber: 621
    functionName: werkzeug.wsgi._RangeWrapper.__next__
    functionSourceFile: werkzeug.wsgi
    functionUses: 19
    functionsReached:
    - <builtin>.next
    - werkzeug.wsgi._RangeWrapper._next_chunk
    - werkzeug.wsgi._RangeWrapper._next
    - werkzeug.wsgi._RangeWrapper._first_iteration
    - <builtin>.len
    linkageType: pythonLinkage
    raised:
    - StopIteration
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 628
    functionName: werkzeug.wsgi._RangeWrapper.close
    functionSourceFile: werkzeug.wsgi
    functionUses: 3
    functionsReached:
    - <builtin>.hasattr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 3
    IfCount: 5
    argCount: 3
    argDefaultValues: []
    argNames:
    - stream
    - limit
    - buffer_size
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 633
    functionName: werkzeug.wsgi._make_chunk_iter
    functionSourceFile: werkzeug.wsgi
    functionUses: 7
    functionsReached:
    - werkzeug.wsgi.LimitedStream.__init__
    - <builtin>.hasattr
    - <builtin>.isinstance
    - typing.cast
    linkageType: pythonLinkage
    raised:
    - TypeError
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 3
    IfCount: 4
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe3590f10>
    - <ast.BinOp object at 0x7fcfe3590ee0>
    - <ast.Constant object at 0x7fcfe3590e50>
    argNames:
    - stream
    - limit
    - buffer_size
    - cap_at_buffer
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 659
    functionName: werkzeug.wsgi.make_line_iter
    functionSourceFile: werkzeug.wsgi
    functionUses: 0
    functionsReached:
    - <builtin>.next
    - <builtin>.len
    - itertools.chain
    - typing.cast
    - werkzeug._internal._make_encode_wrapper.<lambda1>
    - new_data.splitlines
    - werkzeug.wsgi.LimitedStream.__init__
    - operator.methodcaller
    - <builtin>.isinstance
    - new_buf.append
    - werkzeug.wsgi._make_chunk_iter
    - <builtin>.hasattr
    - werkzeug._internal._make_encode_wrapper
    - werkzeug.wsgi.make_line_iter._iter_basic_lines
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - reference
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 71
    functionName: werkzeug._internal._make_encode_wrapper
    functionSourceFile: werkzeug._internal
    functionUses: 86
    functionsReached:
    - operator.methodcaller
    - <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: werkzeug._internal._make_encode_wrapper.<lambda1>
    functionSourceFile: ''
    functionUses: 86
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: itertools.chain
    functionSourceFile: itertools
    functionUses: 49
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 4
    IfCount: 4
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 710
    functionName: werkzeug.wsgi.make_line_iter._iter_basic_lines
    functionSourceFile: werkzeug.wsgi
    functionUses: 1
    functionsReached:
    - <builtin>.next
    - itertools.chain
    - typing.cast
    - new_data.splitlines
    - new_buf.append
    - <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: new_data.splitlines
    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: new_buf.append
    functionSourceFile: <builtin>
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 9
    ICount: 5
    IfCount: 6
    argCount: 5
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe3581820>
    - <ast.BinOp object at 0x7fcfe35817f0>
    - <ast.Constant object at 0x7fcfe3581760>
    argNames:
    - stream
    - separator
    - limit
    - buffer_size
    - cap_at_buffer
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 751
    functionName: werkzeug.wsgi.make_chunk_iter
    functionSourceFile: werkzeug.wsgi
    functionUses: 3
    functionsReached:
    - werkzeug._internal._to_str
    - werkzeug._internal._to_bytes
    - typing.NamedTuple.scheme.decode
    - werkzeug.wsgi.LimitedStream.__init__
    - werkzeug.wsgi._make_chunk_iter
    - <builtin>.hasattr
    - http.server.BaseHTTPRequestHandler.path.decode
    - <builtin>.len
    - werkzeug.urls.BytesURL.decode
    - typing.NamedTuple.query.decode
    - <builtin>.next
    - itertools.chain
    - re.compile
    - typing.NamedTuple.fragment.decode
    - typing.NamedTuple.decode
    - werkzeug._internal._decode_idna
    - typing.NamedTuple.__init__
    - werkzeug.urls.BaseURL.decode_netloc
    - <builtin>.str
    - domain.encode
    - werkzeug._internal._decode_idna.decode_part
    - domain.split
    - part.decode
    - typing.NamedTuple.path.decode
    - typing.cast
    - <builtin>.bytes
    - <builtin>.isinstance
    - re.escape
    - <builtin>.filter
    - new_buf.append
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: re.escape
    functionSourceFile: re
    functionUses: 22
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: 36
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 0
    IfCount: 3
    argCount: 3
    argDefaultValues:
    - <ast.Name object at 0x7fcfe2c755b0>
    - <ast.Constant object at 0x7fcfe2c75070>
    argNames:
    - x
    - charset
    - errors
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 95
    functionName: werkzeug._internal._to_bytes
    functionSourceFile: werkzeug._internal
    functionUses: 44
    functionsReached:
    - <builtin>.bytes
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised:
    - TypeError
    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: 868
    functionName: werkzeug.wsgi.LimitedStream.__iter__
    functionSourceFile: werkzeug.wsgi
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 872
    functionName: werkzeug.wsgi.LimitedStream.is_exhausted
    functionSourceFile: werkzeug.wsgi
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 876
    functionName: werkzeug.wsgi.LimitedStream.on_exhausted
    functionSourceFile: werkzeug.wsgi
    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:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 885
    functionName: werkzeug.wsgi.LimitedStream.on_disconnect
    functionSourceFile: werkzeug.wsgi
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - ClientDisconnected
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues:
    - <ast.BinOp object at 0x7fcfe35b1df0>
    argNames:
    - self
    - chunk_size
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 895
    functionName: werkzeug.wsgi.LimitedStream.exhaust
    functionSourceFile: werkzeug.wsgi
    functionUses: 0
    functionsReached:
    - werkzeug.wsgi.LimitedStream.read
    - werkzeug.wsgi.LimitedStream.on_disconnect
    - <builtin>.min
    - <builtin>.len
    - werkzeug.wsgi.LimitedStream.on_exhausted
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 1
    IfCount: 3
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe35b15b0>
    argNames:
    - self
    - size
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 910
    functionName: werkzeug.wsgi.LimitedStream.read
    functionSourceFile: werkzeug.wsgi
    functionUses: 1
    functionsReached:
    - <builtin>.len
    - werkzeug.wsgi.LimitedStream.on_exhausted
    - <builtin>.min
    - werkzeug.wsgi.LimitedStream.on_disconnect
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 1
    IfCount: 3
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe3585580>
    argNames:
    - self
    - size
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 929
    functionName: werkzeug.wsgi.LimitedStream.readline
    functionSourceFile: werkzeug.wsgi
    functionUses: 2
    functionsReached:
    - <builtin>.len
    - werkzeug.wsgi.LimitedStream.on_exhausted
    - <builtin>.min
    - werkzeug.wsgi.LimitedStream.on_disconnect
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 2
    IfCount: 4
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe3596640>
    argNames:
    - self
    - size
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 946
    functionName: werkzeug.wsgi.LimitedStream.readlines
    functionSourceFile: werkzeug.wsgi
    functionUses: 0
    functionsReached:
    - werkzeug.wsgi.LimitedStream.on_disconnect
    - <builtin>.min
    - <builtin>.len
    - werkzeug.wsgi.LimitedStream.readline
    - werkzeug.wsgi.LimitedStream.on_exhausted
    - result.append
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: result.append
    functionSourceFile: <builtin>
    functionUses: 112
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 968
    functionName: werkzeug.wsgi.LimitedStream.tell
    functionSourceFile: werkzeug.wsgi
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 975
    functionName: werkzeug.wsgi.LimitedStream.__next__
    functionSourceFile: werkzeug.wsgi
    functionUses: 0
    functionsReached:
    - werkzeug.wsgi.LimitedStream.on_disconnect
    - <builtin>.min
    - <builtin>.len
    - werkzeug.wsgi.LimitedStream.readline
    - werkzeug.wsgi.LimitedStream.on_exhausted
    linkageType: pythonLinkage
    raised:
    - StopIteration
    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: 981
    functionName: werkzeug.wsgi.LimitedStream.readable
    functionSourceFile: werkzeug.wsgi
    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: werkzeug.sansio.utils
    functionSourceFile: werkzeug.sansio.utils
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 1
    IfCount: 5
    argCount: 2
    argDefaultValues: []
    argNames:
    - hostname
    - trusted_list
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 9
    functionName: werkzeug.sansio.utils.host_is_trusted
    functionSourceFile: werkzeug.sansio.utils
    functionUses: 21
    functionsReached:
    - p.encode
    - werkzeug._internal._encode_idna
    - <builtin>.isinstance
    - ref.startswith
    - werkzeug.sansio.utils.host_is_trusted._normalize
    - hostname.rsplit
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - hostname
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 24
    functionName: werkzeug.sansio.utils.host_is_trusted._normalize
    functionSourceFile: werkzeug.sansio.utils
    functionUses: 22
    functionsReached:
    - p.encode
    - hostname.rsplit
    - werkzeug._internal._encode_idna
    - <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: hostname.rsplit
    functionSourceFile: <builtin>
    functionUses: 23
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - domain
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 398
    functionName: werkzeug._internal._encode_idna
    functionSourceFile: werkzeug._internal
    functionUses: 33
    functionsReached:
    - p.encode
    - <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: ref.startswith
    functionSourceFile: <builtin>
    functionUses: 22
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: host.endswith
    functionSourceFile: <builtin>
    functionUses: 22
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: url.append
    functionSourceFile: <builtin>
    functionUses: 11
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: root_path.rstrip
    functionSourceFile: <builtin>
    functionUses: 12
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: -1
    functionName: werkzeug.urls
    functionSourceFile: werkzeug.urls
    functionUses: 0
    functionsReached:
    - <builtin>.bytearray
    - re.compile
    - safe.encode
    - werkzeug.urls._make_fast_url_quote
    - <builtin>.int
    - <builtin>.isinstance
    - <builtin>.frozenset
    - unsafe.encode
    - <builtin>.range
    - codecs.register_error
    - <builtin>.chr
    linkageType: pythonLinkage
    raised: []
    returnType: N/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>.bytearray
    functionSourceFile: <builtin>
    functionUses: 100
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.frozenset
    functionSourceFile: <builtin>
    functionUses: 102
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.range
    functionSourceFile: <builtin>
    functionUses: 16
    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: 4
    functionLinenumber: 60
    functionName: werkzeug.urls.BaseURL.__str__
    functionSourceFile: werkzeug.urls
    functionUses: 0
    functionsReached:
    - werkzeug.urls.BaseURL.to_url
    - werkzeug._internal._make_encode_wrapper.<lambda1>
    - werkzeug._internal._check_str_tuple
    - operator.methodcaller
    - <builtin>.isinstance
    - <builtin>.any
    - werkzeug._internal._make_encode_wrapper
    - werkzeug.urls.url_unparse
    - path.startswith
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 159
    functionName: werkzeug.urls.BaseURL.to_url
    functionSourceFile: werkzeug.urls
    functionUses: 2
    functionsReached:
    - werkzeug._internal._make_encode_wrapper.<lambda1>
    - werkzeug._internal._check_str_tuple
    - operator.methodcaller
    - <builtin>.isinstance
    - <builtin>.any
    - werkzeug._internal._make_encode_wrapper
    - werkzeug.urls.url_unparse
    - path.startswith
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 63
    functionName: werkzeug.urls.BaseURL.replace
    functionSourceFile: werkzeug.urls
    functionUses: 18
    functionsReached:
    - typing.NamedTuple._replace
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: typing.NamedTuple._replace
    functionSourceFile: typing
    functionUses: 19
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 69
    functionName: werkzeug.urls.BaseURL.host
    functionSourceFile: werkzeug.urls
    functionUses: 0
    functionsReached:
    - rv.find
    - rest.startswith
    - typing.NamedTuple.netloc.partition
    - rv.startswith
    - werkzeug.urls.BaseURL._split_host
    - rv.partition
    - werkzeug.urls.BaseURL._split_netloc
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 0
    IfCount: 5
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 308
    functionName: werkzeug.urls.BaseURL._split_host
    functionSourceFile: werkzeug.urls
    functionUses: 2
    functionsReached:
    - rv.find
    - rest.startswith
    - typing.NamedTuple.netloc.partition
    - rv.startswith
    - werkzeug.urls.BaseURL._split_netloc
    - rv.partition
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 77
    functionName: werkzeug.urls.BaseURL.ascii_host
    functionSourceFile: werkzeug.urls
    functionUses: 0
    functionsReached:
    - werkzeug._internal._to_str
    - p.encode
    - typing.NamedTuple.scheme.decode
    - werkzeug._internal._encode_idna
    - http.server.BaseHTTPRequestHandler.path.decode
    - werkzeug.urls.BytesURL.decode
    - typing.NamedTuple.query.decode
    - typing.NamedTuple.fragment.decode
    - typing.NamedTuple.decode
    - werkzeug._internal._decode_idna
    - typing.NamedTuple.__init__
    - werkzeug.urls.BaseURL.decode_netloc
    - <builtin>.str
    - domain.encode
    - werkzeug._internal._decode_idna.decode_part
    - domain.split
    - part.decode
    - typing.NamedTuple.path.decode
    - <builtin>.isinstance
    - <builtin>.filter
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 92
    functionName: werkzeug.urls.BaseURL.port
    functionSourceFile: werkzeug.urls
    functionUses: 0
    functionsReached:
    - rv.find
    - werkzeug._internal._to_str
    - typing.NamedTuple.scheme.decode
    - http.server.BaseHTTPRequestHandler.path.decode
    - werkzeug.urls.BaseURL._split_netloc
    - werkzeug.urls.BytesURL.decode
    - typing.NamedTuple.query.decode
    - rest.startswith
    - typing.NamedTuple.fragment.decode
    - typing.NamedTuple.netloc.partition
    - typing.NamedTuple.decode
    - werkzeug._internal._decode_idna
    - typing.NamedTuple.__init__
    - werkzeug.urls.BaseURL._split_host
    - werkzeug.urls.BaseURL.decode_netloc
    - <builtin>.str
    - <builtin>.int
    - domain.encode
    - werkzeug._internal._decode_idna.decode_part
    - domain.split
    - part.decode
    - rv.partition
    - typing.NamedTuple.path.decode
    - <builtin>.isinstance
    - rv.startswith
    - <builtin>.filter
    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: 2
    functionLinenumber: 105
    functionName: werkzeug.urls.BaseURL.auth
    functionSourceFile: werkzeug.urls
    functionUses: 0
    functionsReached:
    - werkzeug.urls.BaseURL._split_netloc
    - typing.NamedTuple.netloc.partition
    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: 292
    functionName: werkzeug.urls.BaseURL._split_netloc
    functionSourceFile: werkzeug.urls
    functionUses: 9
    functionsReached:
    - typing.NamedTuple.netloc.partition
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 112
    functionName: werkzeug.urls.BaseURL.username
    functionSourceFile: werkzeug.urls
    functionUses: 0
    functionsReached:
    - werkzeug.urls.BaseURL._split_auth
    - http.server.BaseHTTPRequestHandler.path.fragment.encode
    - <builtin>.bytearray
    - typing.NamedTuple.fragment.split
    - auth.partition
    - werkzeug.urls.BaseURL._split_netloc
    - http.server.BaseHTTPRequestHandler.path.query.split
    - <builtin>.next
    - typing.NamedTuple.path.split
    - typing.NamedTuple.query.encode
    - http.server.BaseHTTPRequestHandler.path.query.encode
    - werkzeug.urls.url_unquote
    - typing.NamedTuple.netloc.partition
    - result.append
    - <builtin>.iter
    - typing.NamedTuple.query.split
    - unsafe.encode
    - <builtin>.frozenset
    - typing.NamedTuple.fragment.encode
    - werkzeug.urls._unquote_to_bytes
    - typing.NamedTuple.path.encode
    - _hextobyte.items
    - <builtin>.bytes
    - <builtin>.isinstance
    - werkzeug.urls._url_unquote_legacy
    - result.extend
    - rv.decode
    - http.server.BaseHTTPRequestHandler.path.fragment.split
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 298
    functionName: werkzeug.urls.BaseURL._split_auth
    functionSourceFile: werkzeug.urls
    functionUses: 4
    functionsReached:
    - werkzeug.urls.BaseURL._split_netloc
    - auth.partition
    - typing.NamedTuple.netloc.partition
    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 0x7fcfe42cb0a0>
    argNames:
    - value
    - unsafe
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 450
    functionName: werkzeug.urls._url_unquote_legacy
    functionSourceFile: werkzeug.urls
    functionUses: 2
    functionsReached:
    - http.server.BaseHTTPRequestHandler.path.fragment.encode
    - <builtin>.bytearray
    - typing.NamedTuple.fragment.split
    - http.server.BaseHTTPRequestHandler.path.query.split
    - <builtin>.next
    - typing.NamedTuple.path.split
    - typing.NamedTuple.query.encode
    - http.server.BaseHTTPRequestHandler.path.query.encode
    - werkzeug.urls.url_unquote
    - result.append
    - <builtin>.iter
    - typing.NamedTuple.query.split
    - unsafe.encode
    - <builtin>.frozenset
    - typing.NamedTuple.fragment.encode
    - werkzeug.urls._unquote_to_bytes
    - typing.NamedTuple.path.encode
    - _hextobyte.items
    - <builtin>.bytes
    - <builtin>.isinstance
    - result.extend
    - rv.decode
    - http.server.BaseHTTPRequestHandler.path.fragment.split
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 122
    functionName: werkzeug.urls.BaseURL.raw_username
    functionSourceFile: werkzeug.urls
    functionUses: 0
    functionsReached:
    - werkzeug.urls.BaseURL._split_auth
    - auth.partition
    - typing.NamedTuple.netloc.partition
    - werkzeug.urls.BaseURL._split_netloc
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 129
    functionName: werkzeug.urls.BaseURL.password
    functionSourceFile: werkzeug.urls
    functionUses: 0
    functionsReached:
    - werkzeug.urls.BaseURL._split_auth
    - http.server.BaseHTTPRequestHandler.path.fragment.encode
    - <builtin>.bytearray
    - typing.NamedTuple.fragment.split
    - auth.partition
    - werkzeug.urls.BaseURL._split_netloc
    - http.server.BaseHTTPRequestHandler.path.query.split
    - <builtin>.next
    - typing.NamedTuple.path.split
    - typing.NamedTuple.query.encode
    - http.server.BaseHTTPRequestHandler.path.query.encode
    - werkzeug.urls.url_unquote
    - typing.NamedTuple.netloc.partition
    - result.append
    - <builtin>.iter
    - typing.NamedTuple.query.split
    - unsafe.encode
    - <builtin>.frozenset
    - typing.NamedTuple.fragment.encode
    - werkzeug.urls._unquote_to_bytes
    - typing.NamedTuple.path.encode
    - _hextobyte.items
    - <builtin>.bytes
    - <builtin>.isinstance
    - werkzeug.urls._url_unquote_legacy
    - result.extend
    - rv.decode
    - http.server.BaseHTTPRequestHandler.path.fragment.split
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 139
    functionName: werkzeug.urls.BaseURL.raw_password
    functionSourceFile: werkzeug.urls
    functionUses: 0
    functionsReached:
    - werkzeug.urls.BaseURL._split_auth
    - auth.partition
    - typing.NamedTuple.netloc.partition
    - werkzeug.urls.BaseURL._split_netloc
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 145
    functionName: werkzeug.urls.BaseURL.decode_query
    functionSourceFile: werkzeug.urls
    functionUses: 0
    functionsReached:
    - http.server.BaseHTTPRequestHandler.path.fragment.encode
    - <builtin>.bytearray
    - werkzeug.datastructures.OrderedMultiDict.getlist
    - pair.split
    - typing.NamedTuple.fragment.split
    - d.items
    - dict.__init__
    - http.server.BaseHTTPRequestHandler.path.query.split
    - <builtin>.len
    - <builtin>.next
    - typing.NamedTuple.path.split
    - rv.setdefault
    - typing.NamedTuple.query.encode
    - werkzeug._internal._make_encode_wrapper.<lambda1>
    - werkzeug.urls.url_unquote
    - http.server.BaseHTTPRequestHandler.path.query.encode
    - werkzeug.datastructures.CombinedMultiDict.items
    - <builtin>.list
    - werkzeug.datastructures.MultiDict.items
    - separator.encode
    - dict.__getitem__
    - werkzeug.datastructures.CombinedMultiDict.lists
    - werkzeug.datastructures.OrderedMultiDict.lists
    - result.append
    - s.replace
    - werkzeug.urls.url_decode
    - werkzeug.datastructures.MultiDict.__init__
    - <builtin>.iter
    - separator.decode
    - typing.NamedTuple.query.split
    - rv.items
    - unsafe.encode
    - <builtin>.frozenset
    - returned_keys.add
    - typing.NamedTuple.fragment.encode
    - d.lists
    - tmp.setdefault
    - werkzeug.urls._url_decode_impl
    - werkzeug.urls._unquote_to_bytes
    - werkzeug.urls.url_unquote_plus
    - typing.NamedTuple.path.encode
    - found.add
    - dict.items
    - _hextobyte.items
    - <builtin>.bytes
    - werkzeug.datastructures.MultiDict.lists
    - <builtin>.isinstance
    - operator.methodcaller
    - werkzeug.datastructures.OrderedMultiDict.items
    - <builtin>.set
    - werkzeug._internal._make_encode_wrapper
    - result.extend
    - rv.decode
    - http.server.BaseHTTPRequestHandler.path.fragment.split
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 1
    IfCount: 3
    argCount: 6
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe42c7160>
    - <ast.Constant object at 0x7fcfe42c7130>
    - <ast.Constant object at 0x7fcfe42c7100>
    - <ast.Constant object at 0x7fcfe42c70d0>
    - <ast.Constant object at 0x7fcfe42c70a0>
    argNames:
    - s
    - charset
    - include_empty
    - errors
    - separator
    - cls
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 819
    functionName: werkzeug.urls.url_decode
    functionSourceFile: werkzeug.urls
    functionUses: 2
    functionsReached:
    - http.server.BaseHTTPRequestHandler.path.fragment.encode
    - <builtin>.bytearray
    - werkzeug.datastructures.OrderedMultiDict.getlist
    - pair.split
    - typing.NamedTuple.fragment.split
    - d.items
    - dict.__init__
    - http.server.BaseHTTPRequestHandler.path.query.split
    - <builtin>.len
    - <builtin>.next
    - typing.NamedTuple.path.split
    - rv.setdefault
    - typing.NamedTuple.query.encode
    - werkzeug._internal._make_encode_wrapper.<lambda1>
    - werkzeug.urls.url_unquote
    - http.server.BaseHTTPRequestHandler.path.query.encode
    - werkzeug.datastructures.CombinedMultiDict.items
    - <builtin>.list
    - werkzeug.datastructures.MultiDict.items
    - separator.encode
    - dict.__getitem__
    - werkzeug.datastructures.CombinedMultiDict.lists
    - werkzeug.datastructures.OrderedMultiDict.lists
    - result.append
    - s.replace
    - werkzeug.datastructures.MultiDict.__init__
    - <builtin>.iter
    - separator.decode
    - typing.NamedTuple.query.split
    - rv.items
    - unsafe.encode
    - <builtin>.frozenset
    - returned_keys.add
    - typing.NamedTuple.fragment.encode
    - d.lists
    - tmp.setdefault
    - werkzeug.urls._url_decode_impl
    - werkzeug.urls._unquote_to_bytes
    - werkzeug.urls.url_unquote_plus
    - typing.NamedTuple.path.encode
    - found.add
    - dict.items
    - _hextobyte.items
    - <builtin>.bytes
    - werkzeug.datastructures.MultiDict.lists
    - <builtin>.isinstance
    - operator.methodcaller
    - werkzeug.datastructures.OrderedMultiDict.items
    - <builtin>.set
    - werkzeug._internal._make_encode_wrapper
    - result.extend
    - rv.decode
    - http.server.BaseHTTPRequestHandler.path.fragment.split
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 8
    functionLinenumber: 152
    functionName: werkzeug.urls.BaseURL.join
    functionSourceFile: werkzeug.urls
    functionUses: 33
    functionsReached:
    - werkzeug._internal._to_str
    - typing.NamedTuple.scheme.decode
    - werkzeug._internal._check_str_tuple
    - http.server.BaseHTTPRequestHandler.path.decode
    - <builtin>.len
    - werkzeug.urls.url_unparse
    - werkzeug.urls.BytesURL.decode
    - typing.NamedTuple.query.decode
    - werkzeug._internal._make_encode_wrapper.<lambda1>
    - typing.NamedTuple.fragment.decode
    - typing.NamedTuple.decode
    - path.split
    - bpath.split
    - werkzeug._internal._decode_idna
    - typing.NamedTuple.__init__
    - path.startswith
    - werkzeug.urls.BaseURL.decode_netloc
    - typing.NamedTuple.split
    - _scheme_re.match
    - <builtin>.str
    - typing.NamedTuple.find
    - http.server.BaseHTTPRequestHandler.path.split
    - domain.encode
    - werkzeug._internal._decode_idna.decode_part
    - domain.split
    - http.server.BaseHTTPRequestHandler.path.find
    - <builtin>.min
    - part.decode
    - <builtin>.any
    - typing.NamedTuple.path.decode
    - operator.methodcaller
    - <builtin>.isinstance
    - werkzeug.urls.url_parse
    - <builtin>.filter
    - werkzeug.urls.url_join
    - werkzeug._internal._make_encode_wrapper
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 9
    ICount: 2
    IfCount: 6
    argCount: 1
    argDefaultValues: []
    argNames:
    - components
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 595
    functionName: werkzeug.urls.url_unparse
    functionSourceFile: werkzeug.urls
    functionUses: 68
    functionsReached:
    - werkzeug._internal._make_encode_wrapper.<lambda1>
    - werkzeug._internal._check_str_tuple
    - operator.methodcaller
    - <builtin>.isinstance
    - werkzeug._internal._make_encode_wrapper
    - <builtin>.any
    - path.startswith
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 1
    IfCount: 3
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 166
    functionName: werkzeug.urls.BaseURL.encode_netloc
    functionSourceFile: werkzeug.urls
    functionUses: 67
    functionsReached:
    - <builtin>.filter
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.filter
    functionSourceFile: <builtin>
    functionUses: 139
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 1
    IfCount: 3
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 187
    functionName: werkzeug.urls.BaseURL.decode_netloc
    functionSourceFile: werkzeug.urls
    functionUses: 112
    functionsReached:
    - <builtin>.isinstance
    - werkzeug._internal._decode_idna
    - domain.encode
    - <builtin>.filter
    - domain.split
    - werkzeug._internal._decode_idna.decode_part
    - part.decode
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - domain
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 414
    functionName: werkzeug._internal._decode_idna
    functionSourceFile: werkzeug._internal
    functionUses: 113
    functionsReached:
    - <builtin>.isinstance
    - domain.encode
    - werkzeug._internal._decode_idna.decode_part
    - domain.split
    - part.decode
    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: 7
    functionLinenumber: 209
    functionName: werkzeug.urls.BaseURL.to_uri_tuple
    functionSourceFile: werkzeug.urls
    functionUses: 0
    functionsReached:
    - http.server.BaseHTTPRequestHandler.path.fragment.encode
    - <builtin>.bytearray
    - werkzeug._internal._to_str
    - werkzeug.urls.iri_to_uri
    - werkzeug._internal._check_str_tuple
    - typing.NamedTuple.scheme.decode
    - http.server.BaseHTTPRequestHandler.path.decode
    - <builtin>.len
    - werkzeug.urls.url_unparse
    - rv.extend
    - werkzeug.urls.BytesURL.decode
    - typing.NamedTuple.query.decode
    - typing.NamedTuple.query.encode
    - werkzeug._internal._make_encode_wrapper.<lambda1>
    - http.server.BaseHTTPRequestHandler.path.query.encode
    - werkzeug.urls.BytesURL.encode_netloc
    - typing.NamedTuple.fragment.decode
    - typing.NamedTuple.decode
    - werkzeug._internal._decode_idna
    - typing.NamedTuple.__init__
    - path.startswith
    - werkzeug.urls.BaseURL.decode_netloc
    - typing.NamedTuple.encode
    - typing.NamedTuple.split
    - rv.append
    - _scheme_re.match
    - <builtin>.str
    - typing.NamedTuple.find
    - http.server.BaseHTTPRequestHandler.path.split
    - domain.encode
    - werkzeug._internal._decode_idna.decode_part
    - unsafe.encode
    - <builtin>.frozenset
    - domain.split
    - http.server.BaseHTTPRequestHandler.path.find
    - <builtin>.min
    - part.decode
    - typing.NamedTuple.fragment.encode
    - <builtin>.any
    - typing.NamedTuple.path.decode
    - typing.NamedTuple.path.encode
    - safe.encode
    - <builtin>.bytes
    - typing.NamedTuple.scheme.encode
    - <builtin>.isinstance
    - werkzeug.urls.url_parse
    - http.server.BaseHTTPRequestHandler.path.encode
    - werkzeug.urls.BaseURL.encode_netloc
    - <builtin>.filter
    - http.server.BaseHTTPRequestHandler.path.encode_netloc
    - werkzeug.urls.url_quote
    - operator.methodcaller
    - werkzeug._internal._make_encode_wrapper
    - werkzeug.urls.URL.encode
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 1
    IfCount: 3
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe42f87f0>
    - <ast.Constant object at 0x7fcfe42f87c0>
    - <ast.Constant object at 0x7fcfe42f8790>
    argNames:
    - iri
    - charset
    - errors
    - safe_conversion
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 753
    functionName: werkzeug.urls.iri_to_uri
    functionSourceFile: werkzeug.urls
    functionUses: 30
    functionsReached:
    - http.server.BaseHTTPRequestHandler.path.fragment.encode
    - <builtin>.bytearray
    - werkzeug._internal._to_str
    - werkzeug._internal._check_str_tuple
    - typing.NamedTuple.scheme.decode
    - http.server.BaseHTTPRequestHandler.path.decode
    - <builtin>.len
    - werkzeug.urls.url_unparse
    - rv.extend
    - werkzeug.urls.BytesURL.decode
    - typing.NamedTuple.query.decode
    - typing.NamedTuple.query.encode
    - werkzeug._internal._make_encode_wrapper.<lambda1>
    - http.server.BaseHTTPRequestHandler.path.query.encode
    - werkzeug.urls.BytesURL.encode_netloc
    - typing.NamedTuple.fragment.decode
    - typing.NamedTuple.decode
    - werkzeug._internal._decode_idna
    - typing.NamedTuple.__init__
    - path.startswith
    - werkzeug.urls.BaseURL.decode_netloc
    - typing.NamedTuple.encode
    - typing.NamedTuple.split
    - rv.append
    - _scheme_re.match
    - <builtin>.str
    - typing.NamedTuple.find
    - http.server.BaseHTTPRequestHandler.path.split
    - domain.encode
    - werkzeug._internal._decode_idna.decode_part
    - unsafe.encode
    - <builtin>.frozenset
    - domain.split
    - http.server.BaseHTTPRequestHandler.path.find
    - <builtin>.min
    - part.decode
    - typing.NamedTuple.fragment.encode
    - <builtin>.any
    - typing.NamedTuple.path.decode
    - typing.NamedTuple.path.encode
    - safe.encode
    - <builtin>.bytes
    - typing.NamedTuple.scheme.encode
    - <builtin>.isinstance
    - http.server.BaseHTTPRequestHandler.path.encode
    - werkzeug.urls.url_parse
    - werkzeug.urls.BaseURL.encode_netloc
    - <builtin>.filter
    - http.server.BaseHTTPRequestHandler.path.encode_netloc
    - werkzeug.urls.url_quote
    - operator.methodcaller
    - werkzeug._internal._make_encode_wrapper
    - werkzeug.urls.URL.encode
    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: 7
    functionLinenumber: 219
    functionName: werkzeug.urls.BaseURL.to_iri_tuple
    functionSourceFile: werkzeug.urls
    functionUses: 0
    functionsReached:
    - http.server.BaseHTTPRequestHandler.path.fragment.encode
    - <builtin>.bytearray
    - werkzeug._internal._to_str
    - typing.NamedTuple.fragment.split
    - werkzeug._internal._check_str_tuple
    - typing.NamedTuple.scheme.decode
    - http.server.BaseHTTPRequestHandler.path.decode
    - http.server.BaseHTTPRequestHandler.path.query.split
    - <builtin>.len
    - werkzeug.urls.url_unparse
    - werkzeug.urls.BytesURL.decode
    - typing.NamedTuple.query.decode
    - <builtin>.next
    - typing.NamedTuple.path.split
    - typing.NamedTuple.query.encode
    - http.server.BaseHTTPRequestHandler.path.query.encode
    - werkzeug.urls.url_unquote
    - werkzeug._internal._make_encode_wrapper.<lambda1>
    - typing.NamedTuple.fragment.decode
    - typing.NamedTuple.decode
    - werkzeug._internal._decode_idna
    - typing.NamedTuple.__init__
    - path.startswith
    - werkzeug.urls.BaseURL.decode_netloc
    - result.append
    - typing.NamedTuple.split
    - _scheme_re.match
    - <builtin>.str
    - <builtin>.iter
    - typing.NamedTuple.query.split
    - typing.NamedTuple.find
    - http.server.BaseHTTPRequestHandler.path.split
    - domain.encode
    - werkzeug._internal._decode_idna.decode_part
    - unsafe.encode
    - <builtin>.frozenset
    - domain.split
    - http.server.BaseHTTPRequestHandler.path.find
    - <builtin>.min
    - part.decode
    - typing.NamedTuple.fragment.encode
    - <builtin>.any
    - typing.NamedTuple.path.decode
    - http.server.BaseHTTPRequestHandler.path.decode_netloc
    - werkzeug.urls.uri_to_iri
    - werkzeug.urls._unquote_to_bytes
    - typing.NamedTuple.path.encode
    - _hextobyte.items
    - <builtin>.bytes
    - operator.methodcaller
    - <builtin>.isinstance
    - werkzeug.urls.url_parse
    - <builtin>.filter
    - werkzeug._internal._make_encode_wrapper
    - result.extend
    - rv.decode
    - http.server.BaseHTTPRequestHandler.path.fragment.split
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 9
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 14
    ICount: 1
    IfCount: 9
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe107b7c0>
    argNames:
    - self
    - pathformat
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 230
    functionName: werkzeug.urls.BaseURL.get_file_location
    functionSourceFile: werkzeug.urls
    functionUses: 0
    functionsReached:
    - http.server.BaseHTTPRequestHandler.path.fragment.encode
    - <builtin>.bytearray
    - typing.NamedTuple.fragment.split
    - http.server.BaseHTTPRequestHandler.path.query.split
    - <builtin>.len
    - <builtin>.next
    - typing.NamedTuple.path.split
    - typing.NamedTuple.query.encode
    - http.server.BaseHTTPRequestHandler.path.query.encode
    - werkzeug.urls.url_unquote
    - path.lstrip
    - result.append
    - <builtin>.iter
    - typing.NamedTuple.query.split
    - unsafe.encode
    - <builtin>.frozenset
    - typing.NamedTuple.fragment.encode
    - werkzeug.urls._unquote_to_bytes
    - posixpath.normpath
    - typing.NamedTuple.path.encode
    - _hextobyte.items
    - <builtin>.bytes
    - ntpath.normpath
    - <builtin>.isinstance
    - result.extend
    - rv.decode
    - http.server.BaseHTTPRequestHandler.path.fragment.split
    linkageType: pythonLinkage
    raised:
    - TypeError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: ntpath.normpath
    functionSourceFile: ntpath
    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: posixpath.normpath
    functionSourceFile: posixpath
    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: typing.NamedTuple.netloc.partition
    functionSourceFile: typing
    functionUses: 10
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: auth.partition
    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: rv.startswith
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: rv.partition
    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: rv.find
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: rest.startswith
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe21920d0>
    - <ast.Constant object at 0x7fcfe21920a0>
    argNames:
    - self
    - charset
    - errors
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 342
    functionName: werkzeug.urls.URL.encode
    functionSourceFile: werkzeug.urls
    functionUses: 66
    functionsReached:
    - typing.NamedTuple.path.encode
    - typing.NamedTuple.query.encode
    - werkzeug.urls.BytesURL.encode_netloc
    - typing.NamedTuple.scheme.encode
    - werkzeug.urls.BaseURL.encode_netloc
    - <builtin>.filter
    - typing.NamedTuple.__init__
    - typing.NamedTuple.fragment.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: typing.NamedTuple.scheme.encode
    functionSourceFile: typing
    functionUses: 67
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 367
    functionName: werkzeug.urls.BytesURL.encode_netloc
    functionSourceFile: ''
    functionUses: 67
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: typing.NamedTuple.path.encode
    functionSourceFile: typing
    functionUses: 88
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: typing.NamedTuple.query.encode
    functionSourceFile: typing
    functionUses: 88
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: typing.NamedTuple.fragment.encode
    functionSourceFile: typing
    functionUses: 88
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: typing.NamedTuple.__init__
    functionSourceFile: ''
    functionUses: 136
    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: 4
    functionLinenumber: 364
    functionName: werkzeug.urls.BytesURL.__str__
    functionSourceFile: werkzeug.urls
    functionUses: 0
    functionsReached:
    - werkzeug.urls.BaseURL.to_url
    - werkzeug._internal._make_encode_wrapper.<lambda1>
    - werkzeug._internal._check_str_tuple
    - operator.methodcaller
    - <builtin>.isinstance
    - <builtin>.any
    - werkzeug._internal._make_encode_wrapper
    - werkzeug.urls.url_unparse
    - path.startswith
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe2179fd0>
    - <ast.Constant object at 0x7fcfe2179fa0>
    argNames:
    - self
    - charset
    - errors
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 371
    functionName: werkzeug.urls.BytesURL.decode
    functionSourceFile: werkzeug.urls
    functionUses: 111
    functionsReached:
    - typing.NamedTuple.fragment.decode
    - typing.NamedTuple.scheme.decode
    - <builtin>.isinstance
    - werkzeug._internal._decode_idna
    - <builtin>.filter
    - domain.encode
    - domain.split
    - typing.NamedTuple.__init__
    - typing.NamedTuple.path.decode
    - werkzeug._internal._decode_idna.decode_part
    - part.decode
    - werkzeug.urls.BaseURL.decode_netloc
    - typing.NamedTuple.query.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: typing.NamedTuple.scheme.decode
    functionSourceFile: typing
    functionUses: 112
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: typing.NamedTuple.path.decode
    functionSourceFile: typing
    functionUses: 112
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: typing.NamedTuple.query.decode
    functionSourceFile: typing
    functionUses: 112
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: typing.NamedTuple.fragment.decode
    functionSourceFile: typing
    functionUses: 112
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 4
    IfCount: 3
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe2179220>
    argNames:
    - string
    - unsafe
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 387
    functionName: werkzeug.urls._unquote_to_bytes
    functionSourceFile: werkzeug.urls
    functionUses: 31
    functionsReached:
    - http.server.BaseHTTPRequestHandler.path.fragment.encode
    - <builtin>.bytearray
    - typing.NamedTuple.fragment.split
    - http.server.BaseHTTPRequestHandler.path.query.split
    - <builtin>.next
    - typing.NamedTuple.path.split
    - typing.NamedTuple.query.encode
    - http.server.BaseHTTPRequestHandler.path.query.encode
    - result.append
    - <builtin>.iter
    - typing.NamedTuple.query.split
    - unsafe.encode
    - <builtin>.frozenset
    - typing.NamedTuple.fragment.encode
    - typing.NamedTuple.path.encode
    - _hextobyte.items
    - <builtin>.bytes
    - <builtin>.isinstance
    - result.extend
    - http.server.BaseHTTPRequestHandler.path.fragment.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: http.server.BaseHTTPRequestHandler.path.fragment.encode
    functionSourceFile: http
    functionUses: 87
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: http.server.BaseHTTPRequestHandler.path.query.encode
    functionSourceFile: http
    functionUses: 87
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: unsafe.encode
    functionSourceFile: <builtin>
    functionUses: 89
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: typing.NamedTuple.path.split
    functionSourceFile: typing
    functionUses: 32
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: typing.NamedTuple.fragment.split
    functionSourceFile: typing
    functionUses: 32
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: typing.NamedTuple.query.split
    functionSourceFile: typing
    functionUses: 32
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: http.server.BaseHTTPRequestHandler.path.query.split
    functionSourceFile: http
    functionUses: 32
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: http.server.BaseHTTPRequestHandler.path.fragment.split
    functionSourceFile: http
    functionUses: 32
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: _hextobyte.items
    functionSourceFile: <builtin>
    functionUses: 32
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: result.extend
    functionSourceFile: <builtin>
    functionUses: 32
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: 123
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 1
    IfCount: 4
    argCount: 4
    argDefaultValues: []
    argNames:
    - obj
    - charset
    - sort
    - key
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 420
    functionName: werkzeug.urls._url_encode_impl
    functionSourceFile: werkzeug.urls
    functionUses: 34
    functionsReached:
    - <builtin>.sorted
    - dict.items
    - found.add
    - <builtin>.str
    - werkzeug.datastructures.CombinedMultiDict.items
    - <builtin>.isinstance
    - werkzeug.datastructures.OrderedMultiDict.items
    - <builtin>.set
    - werkzeug.datastructures.iter_multi_items
    - returned_keys.add
    - d.items
    - werkzeug.urls._make_fast_url_quote.quote
    - werkzeug.urls._fast_url_quote_plus
    - werkzeug.datastructures.MultiDict.items
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 5
    IfCount: 3
    argCount: 1
    argDefaultValues: []
    argNames:
    - mapping
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 21
    functionName: werkzeug.datastructures.iter_multi_items
    functionSourceFile: werkzeug.datastructures
    functionUses: 79
    functionsReached:
    - dict.items
    - found.add
    - werkzeug.datastructures.CombinedMultiDict.items
    - <builtin>.isinstance
    - werkzeug.datastructures.OrderedMultiDict.items
    - <builtin>.set
    - returned_keys.add
    - d.items
    - werkzeug.datastructures.MultiDict.items
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.sorted
    functionSourceFile: <builtin>
    functionUses: 80
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - string
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 543
    functionName: werkzeug.urls._fast_url_quote_plus
    functionSourceFile: werkzeug.urls
    functionUses: 35
    functionsReached:
    - werkzeug.urls._make_fast_url_quote.quote
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: http.server.BaseHTTPRequestHandler.path.find
    functionSourceFile: http
    functionUses: 73
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: typing.NamedTuple.find
    functionSourceFile: typing
    functionUses: 73
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: _scheme_re.match
    functionSourceFile: <builtin>
    functionUses: 73
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: 123
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: typing.NamedTuple.split
    functionSourceFile: typing
    functionUses: 75
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: http.server.BaseHTTPRequestHandler.path.split
    functionSourceFile: http
    functionUses: 75
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe42feb50>
    - <ast.Constant object at 0x7fcfe42feb20>
    - <ast.Constant object at 0x7fcfe42feaf0>
    - <ast.Constant object at 0x7fcfe42feac0>
    argNames:
    - charset
    - errors
    - safe
    - unsafe
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 508
    functionName: werkzeug.urls._make_fast_url_quote
    functionSourceFile: werkzeug.urls
    functionUses: 1
    functionsReached:
    - <builtin>.bytearray
    - safe.encode
    - <builtin>.isinstance
    - unsafe.encode
    - <builtin>.frozenset
    - <builtin>.range
    - <builtin>.chr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: safe.encode
    functionSourceFile: <builtin>
    functionUses: 68
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/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>.chr
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - string
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 533
    functionName: werkzeug.urls._make_fast_url_quote.quote
    functionSourceFile: werkzeug.urls
    functionUses: 38
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: typing.NamedTuple.encode
    functionSourceFile: typing
    functionUses: 66
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: http.server.BaseHTTPRequestHandler.path.encode
    functionSourceFile: http
    functionUses: 72
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: rv.append
    functionSourceFile: <builtin>
    functionUses: 76
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: rv.extend
    functionSourceFile: <builtin>
    functionUses: 77
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe42de7f0>
    - <ast.Constant object at 0x7fcfe42de7c0>
    - <ast.Constant object at 0x7fcfe42de790>
    argNames:
    - string
    - charset
    - errors
    - safe
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 582
    functionName: werkzeug.urls.url_quote_plus
    functionSourceFile: werkzeug.urls
    functionUses: 18
    functionsReached:
    - http.server.BaseHTTPRequestHandler.path.fragment.encode
    - <builtin>.bytearray
    - rv.extend
    - typing.NamedTuple.query.encode
    - http.server.BaseHTTPRequestHandler.path.query.encode
    - werkzeug.urls.BytesURL.encode_netloc
    - typing.NamedTuple.__init__
    - typing.NamedTuple.encode
    - rv.append
    - <builtin>.str
    - unsafe.encode
    - <builtin>.frozenset
    - typing.NamedTuple.fragment.encode
    - typing.NamedTuple.path.encode
    - safe.encode
    - <builtin>.bytes
    - typing.NamedTuple.scheme.encode
    - <builtin>.isinstance
    - werkzeug.urls.BaseURL.encode_netloc
    - http.server.BaseHTTPRequestHandler.path.encode
    - <builtin>.filter
    - werkzeug.urls.url_quote
    - werkzeug.urls.URL.encode
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - value
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 81
    functionName: werkzeug._internal._check_str_tuple
    functionSourceFile: werkzeug._internal
    functionUses: 69
    functionsReached:
    - <builtin>.any
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised:
    - TypeError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: path.startswith
    functionSourceFile: <builtin>
    functionUses: 70
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: rv.decode
    functionSourceFile: <builtin>
    functionUses: 49
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe42cf190>
    - <ast.Constant object at 0x7fcfe42cf160>
    argNames:
    - s
    - charset
    - errors
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 647
    functionName: werkzeug.urls.url_unquote_plus
    functionSourceFile: werkzeug.urls
    functionUses: 7
    functionsReached:
    - http.server.BaseHTTPRequestHandler.path.fragment.encode
    - <builtin>.bytearray
    - typing.NamedTuple.fragment.split
    - http.server.BaseHTTPRequestHandler.path.query.split
    - <builtin>.next
    - typing.NamedTuple.path.split
    - typing.NamedTuple.query.encode
    - http.server.BaseHTTPRequestHandler.path.query.encode
    - werkzeug.urls.url_unquote
    - result.append
    - s.replace
    - <builtin>.iter
    - typing.NamedTuple.query.split
    - unsafe.encode
    - <builtin>.frozenset
    - typing.NamedTuple.fragment.encode
    - werkzeug.urls._unquote_to_bytes
    - typing.NamedTuple.path.encode
    - _hextobyte.items
    - <builtin>.bytes
    - <builtin>.isinstance
    - result.extend
    - rv.decode
    - http.server.BaseHTTPRequestHandler.path.fragment.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: s.replace
    functionSourceFile: <builtin>
    functionUses: 8
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe42c5a30>
    argNames:
    - s
    - charset
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 668
    functionName: werkzeug.urls.url_fix
    functionSourceFile: werkzeug.urls
    functionUses: 17
    functionsReached:
    - http.server.BaseHTTPRequestHandler.path.fragment.encode
    - <builtin>.bytearray
    - werkzeug._internal._to_str
    - url.encode_netloc
    - werkzeug._internal._check_str_tuple
    - typing.NamedTuple.scheme.decode
    - typing.NamedTuple._replace
    - http.server.BaseHTTPRequestHandler.path.replace
    - http.server.BaseHTTPRequestHandler.path.decode
    - <builtin>.len
    - werkzeug.urls.url_unparse
    - werkzeug.urls.BytesURL.decode
    - rv.extend
    - typing.NamedTuple.query.decode
    - typing.NamedTuple.query.encode
    - werkzeug._internal._make_encode_wrapper.<lambda1>
    - http.server.BaseHTTPRequestHandler.path.query.encode
    - typing.NamedTuple.fragment.decode
    - werkzeug.urls.BytesURL.encode_netloc
    - typing.NamedTuple.decode
    - werkzeug._internal._decode_idna
    - werkzeug.urls.BaseURL.replace
    - typing.NamedTuple.__init__
    - werkzeug.urls.url_quote_plus
    - path.startswith
    - http.server.BaseHTTPRequestHandler.path.startswith
    - werkzeug.urls.BaseURL.decode_netloc
    - typing.NamedTuple.startswith
    - typing.NamedTuple.encode
    - typing.NamedTuple.split
    - rv.append
    - _scheme_re.match
    - <builtin>.str
    - typing.NamedTuple.find
    - http.server.BaseHTTPRequestHandler.path.split
    - domain.encode
    - werkzeug._internal._decode_idna.decode_part
    - unsafe.encode
    - <builtin>.frozenset
    - domain.split
    - http.server.BaseHTTPRequestHandler.path.find
    - <builtin>.min
    - part.decode
    - typing.NamedTuple.fragment.encode
    - <builtin>.any
    - typing.NamedTuple.path.decode
    - typing.NamedTuple.path.encode
    - safe.encode
    - <builtin>.bytes
    - typing.NamedTuple.scheme.encode
    - <builtin>.isinstance
    - werkzeug.urls.url_parse
    - http.server.BaseHTTPRequestHandler.path.encode
    - <builtin>.filter
    - werkzeug.urls.BaseURL.encode_netloc
    - operator.methodcaller
    - werkzeug.urls.url_quote
    - werkzeug._internal._make_encode_wrapper
    - werkzeug.urls.URL.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: http.server.BaseHTTPRequestHandler.path.replace
    functionSourceFile: http
    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: url.encode_netloc
    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:
    - e
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 702
    functionName: werkzeug.urls._codec_error_url_quote
    functionSourceFile: werkzeug.urls
    functionUses: 0
    functionsReached:
    - werkzeug.urls._make_fast_url_quote.quote
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: codecs.register_error
    functionSourceFile: codecs
    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: http.server.BaseHTTPRequestHandler.path.decode_netloc
    functionSourceFile: http
    functionUses: 14
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: http.server.BaseHTTPRequestHandler.path.encode_netloc
    functionSourceFile: http
    functionUses: 31
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: separator.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: separator.encode
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 1
    IfCount: 3
    argCount: 4
    argDefaultValues: []
    argNames:
    - pair_iter
    - charset
    - include_empty
    - errors
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 910
    functionName: werkzeug.urls._url_decode_impl
    functionSourceFile: werkzeug.urls
    functionUses: 6
    functionsReached:
    - http.server.BaseHTTPRequestHandler.path.fragment.encode
    - <builtin>.bytearray
    - pair.split
    - typing.NamedTuple.fragment.split
    - http.server.BaseHTTPRequestHandler.path.query.split
    - <builtin>.next
    - typing.NamedTuple.path.split
    - typing.NamedTuple.query.encode
    - werkzeug._internal._make_encode_wrapper.<lambda1>
    - werkzeug.urls.url_unquote
    - http.server.BaseHTTPRequestHandler.path.query.encode
    - result.append
    - s.replace
    - <builtin>.iter
    - typing.NamedTuple.query.split
    - unsafe.encode
    - <builtin>.frozenset
    - typing.NamedTuple.fragment.encode
    - werkzeug.urls._unquote_to_bytes
    - werkzeug.urls.url_unquote_plus
    - typing.NamedTuple.path.encode
    - _hextobyte.items
    - <builtin>.bytes
    - operator.methodcaller
    - <builtin>.isinstance
    - werkzeug._internal._make_encode_wrapper
    - result.extend
    - rv.decode
    - http.server.BaseHTTPRequestHandler.path.fragment.split
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 4
    IfCount: 4
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe107bfd0>
    argNames:
    - self
    - mapping
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 330
    functionName: werkzeug.datastructures.MultiDict.__init__
    functionSourceFile: werkzeug.datastructures
    functionUses: 46
    functionsReached:
    - werkzeug.datastructures.OrderedMultiDict.getlist
    - d.items
    - dict.__init__
    - <builtin>.len
    - rv.setdefault
    - werkzeug.datastructures.CombinedMultiDict.items
    - <builtin>.list
    - dict.__getitem__
    - werkzeug.datastructures.CombinedMultiDict.lists
    - werkzeug.datastructures.OrderedMultiDict.lists
    - result.append
    - rv.items
    - returned_keys.add
    - d.lists
    - tmp.setdefault
    - found.add
    - dict.items
    - werkzeug.datastructures.MultiDict.lists
    - <builtin>.isinstance
    - werkzeug.datastructures.OrderedMultiDict.items
    - <builtin>.set
    - werkzeug.datastructures.MultiDict.items
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 7
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe42d8e50>
    - <ast.Constant object at 0x7fcfe42d8e20>
    - <ast.Constant object at 0x7fcfe42d8df0>
    - <ast.Constant object at 0x7fcfe42d8dc0>
    - <ast.Constant object at 0x7fcfe42d8d90>
    - <ast.Constant object at 0x7fcfe42d8d60>
    argNames:
    - stream
    - charset
    - include_empty
    - errors
    - separator
    - cls
    - limit
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 7
    functionLinenumber: 864
    functionName: werkzeug.urls.url_decode_stream
    functionSourceFile: werkzeug.urls
    functionUses: 2
    functionsReached:
    - http.server.BaseHTTPRequestHandler.path.fragment.encode
    - dict.__init__
    - typing.NamedTuple.query.decode
    - <builtin>.next
    - werkzeug._internal._make_encode_wrapper.<lambda1>
    - re.compile
    - typing.NamedTuple.fragment.decode
    - http.server.BaseHTTPRequestHandler.path.query.encode
    - dict.__getitem__
    - werkzeug._internal._decode_idna
    - werkzeug.urls.BaseURL.decode_netloc
    - result.append
    - werkzeug.datastructures.MultiDict.__init__
    - <builtin>.str
    - werkzeug._internal._decode_idna.decode_part
    - <builtin>.frozenset
    - typing.NamedTuple.fragment.encode
    - d.lists
    - werkzeug.urls._unquote_to_bytes
    - werkzeug.urls.url_unquote_plus
    - typing.NamedTuple.path.encode
    - dict.items
    - werkzeug.datastructures.MultiDict.lists
    - new_buf.append
    - werkzeug.wsgi.make_chunk_iter
    - <builtin>.set
    - werkzeug.datastructures.OrderedMultiDict.getlist
    - werkzeug._internal._to_bytes
    - pair.split
    - d.items
    - werkzeug.urls.BytesURL.decode
    - itertools.chain
    - typing.NamedTuple.path.split
    - typing.NamedTuple.query.encode
    - werkzeug.datastructures.CombinedMultiDict.items
    - <builtin>.list
    - werkzeug.datastructures.CombinedMultiDict.lists
    - <builtin>.iter
    - typing.NamedTuple.query.split
    - domain.encode
    - unsafe.encode
    - domain.split
    - part.decode
    - tmp.setdefault
    - found.add
    - <builtin>.bytes
    - operator.methodcaller
    - werkzeug.datastructures.OrderedMultiDict.items
    - werkzeug.datastructures.MultiDict.items
    - http.server.BaseHTTPRequestHandler.path.fragment.split
    - typing.NamedTuple.fragment.split
    - <builtin>.hasattr
    - <builtin>.len
    - http.server.BaseHTTPRequestHandler.path.query.split
    - rv.setdefault
    - werkzeug.urls.url_unquote
    - typing.NamedTuple.__init__
    - werkzeug.datastructures.OrderedMultiDict.lists
    - rv.items
    - typing.NamedTuple.path.decode
    - werkzeug.urls._url_decode_impl
    - werkzeug._internal._make_encode_wrapper
    - <builtin>.bytearray
    - werkzeug._internal._to_str
    - werkzeug.wsgi.LimitedStream.__init__
    - typing.NamedTuple.scheme.decode
    - werkzeug.wsgi._make_chunk_iter
    - http.server.BaseHTTPRequestHandler.path.decode
    - typing.NamedTuple.decode
    - s.replace
    - returned_keys.add
    - typing.cast
    - _hextobyte.items
    - <builtin>.isinstance
    - re.escape
    - <builtin>.filter
    - result.extend
    - rv.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: pair.split
    functionSourceFile: <builtin>
    functionUses: 7
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 5
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe42dcd60>
    - <ast.Constant object at 0x7fcfe42dcd30>
    - <ast.Constant object at 0x7fcfe42dcd00>
    - <ast.Constant object at 0x7fcfe42dccd0>
    argNames:
    - obj
    - charset
    - sort
    - key
    - separator
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 931
    functionName: werkzeug.urls.url_encode
    functionSourceFile: werkzeug.urls
    functionUses: 32
    functionsReached:
    - werkzeug.urls.BaseURL.join
    - werkzeug._internal._to_str
    - werkzeug._internal._check_str_tuple
    - typing.NamedTuple.scheme.decode
    - http.server.BaseHTTPRequestHandler.path.decode
    - d.items
    - <builtin>.len
    - werkzeug.urls._make_fast_url_quote.quote
    - werkzeug.urls.url_unparse
    - werkzeug.urls.BytesURL.decode
    - typing.NamedTuple.query.decode
    - werkzeug._internal._make_encode_wrapper.<lambda1>
    - werkzeug.datastructures.CombinedMultiDict.items
    - typing.NamedTuple.fragment.decode
    - typing.NamedTuple.decode
    - path.split
    - bpath.split
    - werkzeug._internal._decode_idna
    - typing.NamedTuple.__init__
    - path.startswith
    - werkzeug.urls.BaseURL.decode_netloc
    - <builtin>.sorted
    - typing.NamedTuple.split
    - _scheme_re.match
    - <builtin>.str
    - typing.NamedTuple.find
    - http.server.BaseHTTPRequestHandler.path.split
    - http.server.BaseHTTPRequestHandler.path.join
    - domain.encode
    - werkzeug._internal._decode_idna.decode_part
    - werkzeug.urls._url_encode_impl
    - domain.split
    - http.server.BaseHTTPRequestHandler.path.find
    - returned_keys.add
    - <builtin>.min
    - part.decode
    - werkzeug.urls._fast_url_quote_plus
    - <builtin>.any
    - typing.NamedTuple.path.decode
    - found.add
    - dict.items
    - operator.methodcaller
    - <builtin>.isinstance
    - werkzeug.urls.url_parse
    - werkzeug.urls.url_join
    - <builtin>.filter
    - werkzeug.datastructures.OrderedMultiDict.items
    - <builtin>.set
    - werkzeug.datastructures.iter_multi_items
    - werkzeug._internal._make_encode_wrapper
    - werkzeug.datastructures.MultiDict.items
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: http.server.BaseHTTPRequestHandler.path.join
    functionSourceFile: http
    functionUses: 33
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    IfCount: 2
    argCount: 6
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe42dde20>
    - <ast.Constant object at 0x7fcfe42dddf0>
    - <ast.Constant object at 0x7fcfe42dddc0>
    - <ast.Constant object at 0x7fcfe42ddd90>
    - <ast.Constant object at 0x7fcfe42ddd60>
    argNames:
    - obj
    - stream
    - charset
    - sort
    - key
    - separator
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 960
    functionName: werkzeug.urls.url_encode_stream
    functionSourceFile: werkzeug.urls
    functionUses: 0
    functionsReached:
    - werkzeug._internal._to_str
    - typing.NamedTuple.scheme.decode
    - <builtin>.enumerate
    - http.server.BaseHTTPRequestHandler.path.decode
    - d.items
    - werkzeug.urls._make_fast_url_quote.quote
    - werkzeug.urls.BytesURL.decode
    - typing.NamedTuple.query.decode
    - typing.NamedTuple.fragment.decode
    - werkzeug.datastructures.CombinedMultiDict.items
    - typing.NamedTuple.decode
    - werkzeug._internal._decode_idna
    - typing.NamedTuple.__init__
    - werkzeug.urls.BaseURL.decode_netloc
    - <builtin>.sorted
    - <builtin>.str
    - stream.write
    - domain.encode
    - werkzeug._internal._decode_idna.decode_part
    - werkzeug.urls._url_encode_impl
    - domain.split
    - returned_keys.add
    - part.decode
    - werkzeug.urls._fast_url_quote_plus
    - typing.NamedTuple.path.decode
    - found.add
    - dict.items
    - <builtin>.isinstance
    - <builtin>.filter
    - werkzeug.datastructures.OrderedMultiDict.items
    - <builtin>.set
    - werkzeug.datastructures.iter_multi_items
    - werkzeug.datastructures.MultiDict.items
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.enumerate
    functionSourceFile: <builtin>
    functionUses: 64
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: stream.write
    functionSourceFile: <builtin>
    functionUses: 21
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: bpath.split
    functionSourceFile: <builtin>
    functionUses: 39
    functionsReached: []
    linkageType: 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: werkzeug._internal
    functionSourceFile: werkzeug._internal
    functionUses: 0
    functionsReached:
    - itertools.chain
    - sys.getdefaultencoding
    - re.compile
    - itertools.chain.to_bytes
    - datetime.date
    - <builtin>.frozenset
    - typing.overload
    - weakref.WeakKeyDictionary
    - <builtin>.range
    - c.encode
    - typing.TypeVar
    - datetime.date.toordinal
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: weakref.WeakKeyDictionary
    functionSourceFile: weakref
    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: datetime.date
    functionSourceFile: datetime
    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: datetime.date.toordinal
    functionSourceFile: datetime
    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: c.encode
    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: itertools.chain.to_bytes
    functionSourceFile: itertools
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 51
    functionName: werkzeug._internal._Missing.__repr__
    functionSourceFile: werkzeug._internal
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 54
    functionName: werkzeug._internal._Missing.__reduce__
    functionSourceFile: werkzeug._internal
    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: typing.overload
    functionSourceFile: ''
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: operator.methodcaller
    functionSourceFile: operator
    functionUses: 87
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: sys.getdefaultencoding
    functionSourceFile: sys
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: http.server.BaseHTTPRequestHandler.path.decode
    functionSourceFile: http
    functionUses: 113
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: typing.NamedTuple.decode
    functionSourceFile: typing
    functionUses: 111
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe33c1ee0>
    - <ast.Constant object at 0x7fcfe33c1f10>
    argNames:
    - s
    - charset
    - errors
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 149
    functionName: werkzeug._internal._wsgi_decoding_dance
    functionSourceFile: werkzeug._internal
    functionUses: 34
    functionsReached:
    - s.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: s.encode
    functionSourceFile: <builtin>
    functionUses: 35
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - obj
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 164
    functionName: werkzeug._internal._get_environ
    functionSourceFile: werkzeug._internal
    functionUses: 22
    functionsReached:
    - <builtin>.type
    - <builtin>.isinstance
    - <builtin>.getattr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.type
    functionSourceFile: <builtin>
    functionUses: 132
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - logger
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 172
    functionName: werkzeug._internal._has_level_handler
    functionSourceFile: werkzeug._internal
    functionUses: 23
    functionsReached:
    - logger.getEffectiveLevel
    - <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: logger.getEffectiveLevel
    functionSourceFile: <builtin>
    functionUses: 27
    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: 194
    functionName: werkzeug._internal._ColorStreamHandler.__init__
    functionSourceFile: werkzeug._internal
    functionUses: 23
    functionsReached:
    - colorama.AnsiToWin32
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: colorama.AnsiToWin32
    functionSourceFile: colorama
    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: logging.getLogger
    functionSourceFile: logging
    functionUses: 30
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: _logger.setLevel
    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: _logger.addHandler
    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: message.rstrip
    functionSourceFile: <builtin>
    functionUses: 26
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 0
    IfCount: 3
    argCount: 1
    argDefaultValues: []
    argNames:
    - dt
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 237
    functionName: werkzeug._internal._dt_as_utc
    functionSourceFile: werkzeug._internal
    functionUses: 19
    functionsReached:
    - time.mktime.astimezone
    - time.mktime.replace
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: time.mktime.replace
    functionSourceFile: time
    functionUses: 20
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: time.mktime.astimezone
    functionSourceFile: time
    functionUses: 20
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: typing.TypeVar
    functionSourceFile: typing
    functionUses: 8
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 7
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe4112130>
    - <ast.Constant object at 0x7fcfe4112100>
    - <ast.Constant object at 0x7fcfe41120d0>
    - <ast.Constant object at 0x7fcfe41120a0>
    - <ast.Constant object at 0x7fcfe4112070>
    argNames:
    - self
    - name
    - default
    - load_func
    - dump_func
    - read_only
    - doc
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 257
    functionName: werkzeug._internal._DictAccessorProperty.__init__
    functionSourceFile: werkzeug._internal
    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
    - instance
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 274
    functionName: werkzeug._internal._DictAccessorProperty.lookup
    functionSourceFile: werkzeug._internal
    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: werkzeug._internal._DictAccessorProperty
    functionSourceFile: werkzeug._internal
    functionUses: 0
    functionsReached:
    - typing.overload
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 0
    IfCount: 3
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - instance
    - owner
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 287
    functionName: werkzeug._internal._DictAccessorProperty.__get__
    functionSourceFile: werkzeug._internal
    functionUses: 0
    functionsReached:
    - werkzeug._internal._DictAccessorProperty.lookup
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - instance
    - value
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 308
    functionName: werkzeug._internal._DictAccessorProperty.__set__
    functionSourceFile: werkzeug._internal
    functionUses: 0
    functionsReached:
    - werkzeug._internal._DictAccessorProperty.lookup
    linkageType: pythonLinkage
    raised:
    - AttributeError
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - instance
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 317
    functionName: werkzeug._internal._DictAccessorProperty.__delete__
    functionSourceFile: werkzeug._internal
    functionUses: 0
    functionsReached:
    - werkzeug._internal._DictAccessorProperty.lookup
    linkageType: pythonLinkage
    raised:
    - AttributeError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 323
    functionName: werkzeug._internal._DictAccessorProperty.__repr__
    functionSourceFile: werkzeug._internal
    functionUses: 0
    functionsReached:
    - <builtin>.type
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - b
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 327
    functionName: werkzeug._internal._cookie_quote
    functionSourceFile: werkzeug._internal
    functionUses: 7
    functionsReached:
    - <builtin>.bytes
    - <builtin>.bytearray
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 9
    ICount: 5
    IfCount: 6
    argCount: 1
    argDefaultValues: []
    argNames:
    - b
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 345
    functionName: werkzeug._internal._cookie_unquote
    functionSourceFile: werkzeug._internal
    functionUses: 9
    functionsReached:
    - <builtin>.bytearray
    - rv.append
    - _octal_re.search
    - _quote_re.search
    - <builtin>.bytes
    - <builtin>.int
    - q_match.start
    - <builtin>.len
    - o_match.start
    - rv.extend
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: _octal_re.search
    functionSourceFile: <builtin>
    functionUses: 10
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: _quote_re.search
    functionSourceFile: <builtin>
    functionUses: 10
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: o_match.start
    functionSourceFile: <builtin>
    functionUses: 10
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: q_match.start
    functionSourceFile: <builtin>
    functionUses: 10
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - b
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 381
    functionName: werkzeug._internal._cookie_parse_impl
    functionSourceFile: werkzeug._internal
    functionUses: 8
    functionsReached:
    - <builtin>.bytearray
    - match.end
    - _octal_re.search
    - rv.append
    - _quote_re.search
    - rv.extend
    - <builtin>.bytes
    - <builtin>.int
    - match.group
    - q_match.start
    - <builtin>.len
    - o_match.start
    - _cookie_re.search
    - werkzeug._internal._cookie_unquote
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: _cookie_re.search
    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: match.group
    functionSourceFile: <builtin>
    functionUses: 55
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: match.end
    functionSourceFile: <builtin>
    functionUses: 21
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: p.encode
    functionSourceFile: <builtin>
    functionUses: 34
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: domain.encode
    functionSourceFile: <builtin>
    functionUses: 114
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - part
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 427
    functionName: werkzeug._internal._decode_idna.decode_part
    functionSourceFile: werkzeug._internal
    functionUses: 114
    functionsReached:
    - part.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: part.decode
    functionSourceFile: <builtin>
    functionUses: 115
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: domain.split
    functionSourceFile: <builtin>
    functionUses: 115
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 0
    IfCount: 3
    argCount: 1
    argDefaultValues: []
    argNames:
    - domain
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 446
    functionName: werkzeug._internal._make_cookie_domain
    functionSourceFile: werkzeug._internal
    functionUses: 7
    functionsReached:
    - domain.split
    - p.encode
    - werkzeug._internal._encode_idna
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised:
    - ValueError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe41333a0>
    argNames:
    - app
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 463
    functionName: werkzeug._internal._easteregg
    functionSourceFile: werkzeug._internal
    functionUses: 0
    functionsReached:
    - <builtin>.len
    - werkzeug._internal._easteregg.bzzzzzzz
    - zlib.decompress
    - base64.b64decode
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - gyver
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 466
    functionName: werkzeug._internal._easteregg.bzzzzzzz
    functionSourceFile: werkzeug._internal
    functionUses: 1
    functionsReached:
    - zlib.decompress
    - base64.b64decode
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.b64decode
    functionSourceFile: base64
    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: zlib.decompress
    functionSourceFile: zlib
    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:
    - environ
    - start_response
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 512
    functionName: werkzeug._internal._easteregg.easteregged
    functionSourceFile: werkzeug._internal
    functionUses: 0
    functionsReached:
    - headers.append
    - werkzeug._internal._easteregg.easteregged.injecting_start_response
    - environ.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe4135520>
    argNames:
    - status
    - headers
    - exc_info
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 515
    functionName: werkzeug._internal._easteregg.easteregged.injecting_start_response
    functionSourceFile: werkzeug._internal
    functionUses: 1
    functionsReached:
    - headers.append
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: -1
    functionName: werkzeug.exceptions
    functionSourceFile: werkzeug.exceptions
    functionUses: 0
    functionsReached:
    - <builtin>.globals
    - werkzeug.exceptions._find_exceptions
    - werkzeug.exceptions.Aborter.__init__
    - <builtin>.dict
    - <builtin>.issubclass
    - default_exceptions.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe48b8430>
    - <ast.Constant object at 0x7fcfe48b8400>
    argNames:
    - self
    - description
    - response
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 74
    functionName: werkzeug.exceptions.HTTPException.__init__
    functionSourceFile: werkzeug.exceptions
    functionUses: 4
    functionsReached:
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 85
    functionName: werkzeug.exceptions.HTTPException.name
    functionSourceFile: werkzeug.exceptions
    functionUses: 0
    functionsReached:
    - HTTP_STATUS_CODES.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: HTTP_STATUS_CODES.get
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe4894a00>
    - <ast.Constant object at 0x7fcfe48949d0>
    argNames:
    - self
    - environ
    - scope
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 91
    functionName: werkzeug.exceptions.HTTPException.get_description
    functionSourceFile: werkzeug.exceptions
    functionUses: 3
    functionsReached:
    - <builtin>.str
    - html.escape.replace
    - html.escape
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: html.escape
    functionSourceFile: html
    functionUses: 37
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: html.escape.replace
    functionSourceFile: html
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe412adc0>
    - <ast.Constant object at 0x7fcfe412acd0>
    argNames:
    - self
    - environ
    - scope
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 107
    functionName: werkzeug.exceptions.HTTPException.get_body
    functionSourceFile: werkzeug.exceptions
    functionUses: 2
    functionsReached:
    - <builtin>.str
    - werkzeug.exceptions.HTTPException.get_description
    - html.escape.replace
    - <builtin>.isinstance
    - html.escape
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe246d6a0>
    - <ast.Constant object at 0x7fcfe246da00>
    argNames:
    - self
    - environ
    - scope
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 121
    functionName: werkzeug.exceptions.HTTPException.get_headers
    functionSourceFile: werkzeug.exceptions
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe2461e80>
    - <ast.Constant object at 0x7fcfe245e880>
    argNames:
    - self
    - environ
    - scope
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 129
    functionName: werkzeug.exceptions.HTTPException.get_response
    functionSourceFile: werkzeug.exceptions
    functionUses: 1
    functionsReached:
    - headers.append
    - <builtin>.len
    - werkzeug._internal._get_environ
    - werkzeug.exceptions.MethodNotAllowed.get_headers
    - html.escape.replace
    - werkzeug.exceptions.HTTPException.get_headers
    - value.encode
    - werkzeug.wrappers.response.Response.__init__
    - <builtin>.str
    - werkzeug.exceptions.HTTPException.get_body
    - <builtin>.getattr
    - werkzeug.wrappers.response.Response.set_data
    - <builtin>.type
    - <builtin>.bytes
    - werkzeug.exceptions.HTTPException.get_description
    - <builtin>.isinstance
    - html.escape
    - <builtin>.super
    - werkzeug.exceptions.RequestedRangeNotSatisfiable.get_headers
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe48cf4c0>
    - <ast.Constant object at 0x7fcfe48cf490>
    argNames:
    - self
    - environ
    - scope
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 377
    functionName: werkzeug.exceptions.MethodNotAllowed.get_headers
    functionSourceFile: werkzeug.exceptions
    functionUses: 2
    functionsReached:
    - headers.append
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe48cad00>
    - <ast.Constant object at 0x7fcfe48cacd0>
    argNames:
    - self
    - environ
    - scope
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 537
    functionName: werkzeug.exceptions.RequestedRangeNotSatisfiable.get_headers
    functionSourceFile: werkzeug.exceptions
    functionUses: 2
    functionsReached:
    - headers.append
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    IfCount: 2
    argCount: 7
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe16a6a00>
    - <ast.Constant object at 0x7fcfe16a69d0>
    - <ast.Constant object at 0x7fcfe16a69a0>
    - <ast.Constant object at 0x7fcfe16a6970>
    - <ast.Constant object at 0x7fcfe16a6940>
    - <ast.Constant object at 0x7fcfe16a6910>
    argNames:
    - self
    - response
    - status
    - headers
    - mimetype
    - content_type
    - direct_passthrough
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 170
    functionName: werkzeug.wrappers.response.Response.__init__
    functionSourceFile: werkzeug.wrappers.response
    functionUses: 28
    functionsReached:
    - <builtin>.str
    - <builtin>.bytes
    - <builtin>.isinstance
    - value.encode
    - <builtin>.super
    - <builtin>.len
    - werkzeug.wrappers.response.Response.set_data
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - environ
    - start_response
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 9
    functionLinenumber: 151
    functionName: werkzeug.exceptions.HTTPException.__call__
    functionSourceFile: werkzeug.exceptions
    functionUses: 0
    functionsReached:
    - http.server.BaseHTTPRequestHandler.path.fragment.encode
    - headers.append
    - <builtin>.bytearray
    - werkzeug._internal._to_str
    - werkzeug.urls.iri_to_uri
    - werkzeug._internal._check_str_tuple
    - typing.NamedTuple.scheme.decode
    - operator.methodcaller
    - http.server.BaseHTTPRequestHandler.path.decode
    - werkzeug.routing.RequestRedirect.get_response
    - <builtin>.len
    - werkzeug.urls.url_unparse
    - werkzeug._internal._get_environ
    - werkzeug.urls.BytesURL.decode
    - typing.NamedTuple.query.decode
    - rv.extend
    - werkzeug.exceptions.HTTPException.get_response
    - typing.NamedTuple.query.encode
    - werkzeug.exceptions.MethodNotAllowed.get_headers
    - werkzeug.utils.redirect
    - werkzeug._internal._make_encode_wrapper.<lambda1>
    - typing.NamedTuple.fragment.decode
    - werkzeug.urls.BytesURL.encode_netloc
    - typing.NamedTuple.decode
    - html.escape.replace
    - werkzeug.exceptions.HTTPException.get_headers
    - value.encode
    - http.server.BaseHTTPRequestHandler.path.query.encode
    - typing.NamedTuple.__init__
    - werkzeug._internal._decode_idna
    - path.startswith
    - werkzeug.urls.BaseURL.decode_netloc
    - typing.NamedTuple.encode
    - werkzeug.wrappers.response.Response.__init__
    - typing.NamedTuple.split
    - rv.append
    - _scheme_re.match
    - <builtin>.str
    - typing.NamedTuple.find
    - http.server.BaseHTTPRequestHandler.path.split
    - domain.encode
    - werkzeug.exceptions.HTTPException.get_body
    - unsafe.encode
    - <builtin>.frozenset
    - domain.split
    - werkzeug._internal._decode_idna.decode_part
    - http.server.BaseHTTPRequestHandler.path.find
    - <builtin>.getattr
    - <builtin>.min
    - typing.NamedTuple.fragment.encode
    - <builtin>.any
    - typing.NamedTuple.path.decode
    - part.decode
    - werkzeug.wrappers.response.Response.set_data
    - <builtin>.type
    - typing.cast
    - typing.NamedTuple.path.encode
    - <builtin>.bytes
    - werkzeug.exceptions.HTTPException.get_description
    - safe.encode
    - typing.NamedTuple.scheme.encode
    - <builtin>.isinstance
    - http.server.BaseHTTPRequestHandler.path.encode
    - werkzeug.urls.url_parse
    - werkzeug.urls.BaseURL.encode_netloc
    - html.escape
    - <builtin>.filter
    - <builtin>.super
    - http.server.BaseHTTPRequestHandler.path.encode_netloc
    - werkzeug.urls.url_quote
    - werkzeug._internal._make_encode_wrapper
    - werkzeug.urls.URL.encode
    - werkzeug.exceptions.RequestedRangeNotSatisfiable.get_headers
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe47f0130>
    - <ast.Constant object at 0x7fcfe47f0400>
    argNames:
    - self
    - environ
    - scope
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 8
    functionLinenumber: 268
    functionName: werkzeug.routing.RequestRedirect.get_response
    functionSourceFile: werkzeug.routing
    functionUses: 1
    functionsReached:
    - http.server.BaseHTTPRequestHandler.path.fragment.encode
    - <builtin>.bytearray
    - werkzeug._internal._to_str
    - werkzeug.urls.iri_to_uri
    - werkzeug._internal._check_str_tuple
    - typing.NamedTuple.scheme.decode
    - http.server.BaseHTTPRequestHandler.path.decode
    - <builtin>.len
    - werkzeug.urls.url_unparse
    - rv.extend
    - werkzeug.urls.BytesURL.decode
    - typing.NamedTuple.query.decode
    - typing.NamedTuple.query.encode
    - werkzeug.utils.redirect
    - werkzeug._internal._make_encode_wrapper.<lambda1>
    - werkzeug.urls.BytesURL.encode_netloc
    - http.server.BaseHTTPRequestHandler.path.query.encode
    - typing.NamedTuple.decode
    - typing.NamedTuple.fragment.decode
    - werkzeug._internal._decode_idna
    - typing.NamedTuple.__init__
    - path.startswith
    - werkzeug.urls.BaseURL.decode_netloc
    - typing.NamedTuple.encode
    - typing.NamedTuple.split
    - rv.append
    - _scheme_re.match
    - <builtin>.str
    - typing.NamedTuple.find
    - http.server.BaseHTTPRequestHandler.path.split
    - domain.encode
    - werkzeug._internal._decode_idna.decode_part
    - unsafe.encode
    - <builtin>.frozenset
    - domain.split
    - http.server.BaseHTTPRequestHandler.path.find
    - <builtin>.min
    - part.decode
    - typing.NamedTuple.fragment.encode
    - <builtin>.any
    - typing.NamedTuple.path.decode
    - typing.NamedTuple.path.encode
    - safe.encode
    - <builtin>.bytes
    - typing.NamedTuple.scheme.encode
    - <builtin>.isinstance
    - http.server.BaseHTTPRequestHandler.path.encode
    - werkzeug.urls.url_parse
    - werkzeug.urls.BaseURL.encode_netloc
    - html.escape
    - <builtin>.filter
    - http.server.BaseHTTPRequestHandler.path.encode_netloc
    - werkzeug.urls.url_quote
    - operator.methodcaller
    - werkzeug._internal._make_encode_wrapper
    - werkzeug.urls.URL.encode
    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: 163
    functionName: werkzeug.exceptions.HTTPException.__str__
    functionSourceFile: werkzeug.exceptions
    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: 167
    functionName: werkzeug.exceptions.HTTPException.__repr__
    functionSourceFile: werkzeug.exceptions
    functionUses: 0
    functionsReached:
    - <builtin>.type
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe107b340>
    argNames:
    - self
    - arg
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 197
    functionName: werkzeug.exceptions.BadRequestKeyError.__init__
    functionSourceFile: werkzeug.exceptions
    functionUses: 0
    functionsReached:
    - <builtin>.super
    - KeyError.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: KeyError.__init__
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - value
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 216
    functionName: werkzeug.exceptions.BadRequestKeyError.description
    functionSourceFile: werkzeug.exceptions
    functionUses: 0
    functionsReached:
    - KeyError.__str__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: KeyError.__str__
    functionSourceFile: <builtin>
    functionUses: 1
    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 0x7fcfe2c75220>
    - <ast.Constant object at 0x7fcfe2c75550>
    - <ast.Constant object at 0x7fcfe2c753a0>
    argNames:
    - self
    - description
    - response
    - www_authenticate
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 296
    functionName: werkzeug.exceptions.Unauthorized.__init__
    functionSourceFile: werkzeug.exceptions
    functionUses: 0
    functionsReached:
    - <builtin>.super
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe11f9eb0>
    - <ast.Constant object at 0x7fcfe11f9280>
    argNames:
    - self
    - environ
    - scope
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 313
    functionName: werkzeug.exceptions.Unauthorized.get_headers
    functionSourceFile: werkzeug.exceptions
    functionUses: 0
    functionsReached:
    - <builtin>.str
    - <builtin>.super
    - headers.extend
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe48cfb20>
    - <ast.Constant object at 0x7fcfe48cfaf0>
    - <ast.Constant object at 0x7fcfe48cfac0>
    argNames:
    - self
    - valid_methods
    - description
    - response
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 366
    functionName: werkzeug.exceptions.MethodNotAllowed.__init__
    functionSourceFile: werkzeug.exceptions
    functionUses: 0
    functionsReached:
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 5
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe48c5490>
    - <ast.Constant object at 0x7fcfe48c5460>
    - <ast.Constant object at 0x7fcfe48c5430>
    - <ast.Constant object at 0x7fcfe48c5400>
    argNames:
    - self
    - length
    - units
    - description
    - response
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 523
    functionName: werkzeug.exceptions.RequestedRangeNotSatisfiable.__init__
    functionSourceFile: werkzeug.exceptions
    functionUses: 0
    functionsReached:
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe48c9310>
    - <ast.Constant object at 0x7fcfe48c92e0>
    - <ast.Constant object at 0x7fcfe48c92b0>
    argNames:
    - self
    - description
    - response
    - retry_after
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 637
    functionName: werkzeug.exceptions._RetryAfter.__init__
    functionSourceFile: werkzeug.exceptions
    functionUses: 0
    functionsReached:
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe48c0d60>
    - <ast.Constant object at 0x7fcfe48c0d30>
    argNames:
    - self
    - environ
    - scope
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 646
    functionName: werkzeug.exceptions._RetryAfter.get_headers
    functionSourceFile: werkzeug.exceptions
    functionUses: 0
    functionsReached:
    - headers.append
    - email.utils.format_datetime
    - <builtin>.str
    - <builtin>.isinstance
    - time.mktime
    - werkzeug.http.http_date
    - email.utils.formatdate
    - <builtin>.super
    - time.mktime.replace
    - datetime.time
    - time.mktime.astimezone
    - datetime.datetime.combine
    - werkzeug._internal._dt_as_utc
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 813
    functionName: werkzeug.exceptions._find_exceptions
    functionSourceFile: werkzeug.exceptions
    functionUses: 1
    functionsReached:
    - <builtin>.globals
    - <builtin>.issubclass
    - default_exceptions.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.globals
    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: <builtin>.issubclass
    functionSourceFile: <builtin>
    functionUses: 46
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: default_exceptions.get
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe48a84c0>
    - <ast.Constant object at 0x7fcfe48a8490>
    argNames:
    - self
    - mapping
    - extra
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 840
    functionName: werkzeug.exceptions.Aborter.__init__
    functionSourceFile: werkzeug.exceptions
    functionUses: 1
    functionsReached:
    - <builtin>.dict
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.dict
    functionSourceFile: <builtin>
    functionUses: 87
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - code
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 851
    functionName: werkzeug.exceptions.Aborter.__call__
    functionSourceFile: werkzeug.exceptions
    functionUses: 0
    functionsReached:
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised:
    - HTTPException
    - LookupError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - status
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 865
    functionName: werkzeug.exceptions.abort
    functionSourceFile: werkzeug.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: werkzeug.sansio
    functionSourceFile: werkzeug.sansio
    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: werkzeug.sansio.response
    functionSourceFile: werkzeug.sansio.response
    functionUses: 0
    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 0x7fcfe434d9a0>
    argNames:
    - name
    - doc
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 37
    functionName: werkzeug.sansio.response._set_property
    functionSourceFile: werkzeug.sansio.response
    functionUses: 1
    functionsReached:
    - <builtin>.property
    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: 4
    functionLinenumber: 38
    functionName: werkzeug.sansio.response._set_property.fget
    functionSourceFile: werkzeug.sansio.response
    functionUses: 0
    functionsReached:
    - <builtin>.list
    - werkzeug.http.unquote_header_value
    - urllib.request.parse_http_list
    - werkzeug.http.parse_list_header
    - x.lower
    - value.replace
    - werkzeug.datastructures.HeaderSet.__init__
    - result.append
    - werkzeug.http.parse_set_header
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - header_set
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 39
    functionName: werkzeug.sansio.response._set_property.fget.on_update
    functionSourceFile: werkzeug.sansio.response
    functionUses: 7
    functionsReached:
    - werkzeug.datastructures.HeaderSet.to_header
    - <builtin>.map
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 2328
    functionName: werkzeug.datastructures.HeaderSet.to_header
    functionSourceFile: werkzeug.datastructures
    functionUses: 10
    functionsReached:
    - <builtin>.map
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe3b29b50>
    argNames:
    - value
    - on_update
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 621
    functionName: werkzeug.http.parse_set_header
    functionSourceFile: werkzeug.http
    functionUses: 3
    functionsReached:
    - <builtin>.list
    - werkzeug.http.unquote_header_value
    - werkzeug.http.parse_list_header
    - x.lower
    - value.replace
    - werkzeug.datastructures.HeaderSet.__init__
    - result.append
    - urllib.request.parse_http_list
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - value
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 47
    functionName: werkzeug.sansio.response._set_property.fset
    functionSourceFile: werkzeug.sansio.response
    functionUses: 0
    functionsReached:
    - found.add
    - werkzeug.datastructures.CombinedMultiDict.items
    - <builtin>.str
    - <builtin>.isinstance
    - werkzeug.http.dump_header
    - value.replace
    - items.append
    - <builtin>.set
    - d.items
    - werkzeug.http.quote_header_value
    - value.decode
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    IfCount: 2
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe25e0df0>
    argNames:
    - iterable
    - allow_token
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 264
    functionName: werkzeug.http.dump_header
    functionSourceFile: werkzeug.http
    functionUses: 22
    functionsReached:
    - found.add
    - werkzeug.datastructures.CombinedMultiDict.items
    - <builtin>.str
    - <builtin>.isinstance
    - value.replace
    - items.append
    - <builtin>.set
    - d.items
    - werkzeug.http.quote_header_value
    - value.decode
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.property
    functionSourceFile: <builtin>
    functionUses: 14
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 11
    ICount: 0
    IfCount: 7
    argCount: 5
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe2c75bb0>
    - <ast.Constant object at 0x7fcfe2c75640>
    - <ast.Constant object at 0x7fcfe2c75460>
    - <ast.Constant object at 0x7fcfe2c75610>
    argNames:
    - self
    - status
    - headers
    - mimetype
    - content_type
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 7
    functionLinenumber: 110
    functionName: werkzeug.sansio.response.Response.__init__
    functionSourceFile: werkzeug.sansio.response
    functionUses: 0
    functionsReached:
    - werkzeug.datastructures.Headers.add
    - werkzeug.http.dump_options_header
    - werkzeug.utils.get_content_type
    - werkzeug.datastructures.Headers.extend
    - d.items
    - <builtin>.len
    - kw.items
    - value.decode
    - werkzeug.datastructures.Headers._validate_value
    - werkzeug.datastructures.CombinedMultiDict.items
    - value.replace
    - mimetype.endswith
    - werkzeug.datastructures._unicodify_header_value
    - segments.append
    - k.replace
    - <builtin>.str
    - options.items
    - returned_keys.add
    - werkzeug.datastructures._options_header_vkw
    - werkzeug.datastructures.Headers.__init__
    - werkzeug.http.quote_header_value
    - found.add
    - dict.items
    - mimetype.startswith
    - <builtin>.isinstance
    - werkzeug.datastructures.OrderedMultiDict.items
    - <builtin>.set
    - werkzeug.datastructures.iter_multi_items
    - werkzeug.datastructures.MultiDict.items
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe407de80>
    argNames:
    - self
    - defaults
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 885
    functionName: werkzeug.datastructures.Headers.__init__
    functionSourceFile: werkzeug.datastructures
    functionUses: 52
    functionsReached:
    - werkzeug.datastructures.Headers.add
    - werkzeug.http.dump_options_header
    - werkzeug.datastructures.Headers.extend
    - d.items
    - <builtin>.len
    - kw.items
    - value.decode
    - werkzeug.datastructures.Headers._validate_value
    - werkzeug.datastructures.CombinedMultiDict.items
    - value.replace
    - werkzeug.datastructures._unicodify_header_value
    - segments.append
    - k.replace
    - <builtin>.str
    - options.items
    - returned_keys.add
    - werkzeug.datastructures._options_header_vkw
    - werkzeug.http.quote_header_value
    - found.add
    - dict.items
    - <builtin>.isinstance
    - werkzeug.datastructures.OrderedMultiDict.items
    - <builtin>.set
    - werkzeug.datastructures.iter_multi_items
    - werkzeug.datastructures.MultiDict.items
    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: 141
    functionName: werkzeug.sansio.response.Response.__repr__
    functionSourceFile: werkzeug.sansio.response
    functionUses: 0
    functionsReached:
    - <builtin>.type
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - code
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 150
    functionName: werkzeug.sansio.response.Response.status_code
    functionSourceFile: werkzeug.sansio.response
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - value
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 7
    functionLinenumber: 159
    functionName: werkzeug.sansio.response.Response.status
    functionSourceFile: werkzeug.sansio.response
    functionUses: 0
    functionsReached:
    - werkzeug._internal._to_str
    - typing.NamedTuple.scheme.decode
    - http.server.BaseHTTPRequestHandler.path.decode
    - <builtin>.len
    - werkzeug.urls.BytesURL.decode
    - typing.NamedTuple.query.decode
    - typing.NamedTuple.fragment.decode
    - typing.NamedTuple.decode
    - werkzeug._internal._decode_idna
    - typing.NamedTuple.__init__
    - werkzeug.urls.BaseURL.decode_netloc
    - typing.NamedTuple.split
    - <builtin>.str
    - http.server.BaseHTTPRequestHandler.path.split
    - <builtin>.int
    - domain.encode
    - werkzeug._internal._decode_idna.decode_part
    - domain.split
    - part.decode
    - typing.NamedTuple.path.decode
    - <builtin>.isinstance
    - <builtin>.filter
    - werkzeug.sansio.response.Response._clean_status
    linkageType: pythonLinkage
    raised:
    - TypeError
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 0
    IfCount: 5
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - value
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 165
    functionName: werkzeug.sansio.response.Response._clean_status
    functionSourceFile: werkzeug.sansio.response
    functionUses: 1
    functionsReached:
    - werkzeug._internal._to_str
    - typing.NamedTuple.scheme.decode
    - http.server.BaseHTTPRequestHandler.path.decode
    - <builtin>.len
    - werkzeug.urls.BytesURL.decode
    - typing.NamedTuple.query.decode
    - typing.NamedTuple.fragment.decode
    - typing.NamedTuple.decode
    - werkzeug._internal._decode_idna
    - typing.NamedTuple.__init__
    - werkzeug.urls.BaseURL.decode_netloc
    - typing.NamedTuple.split
    - <builtin>.str
    - http.server.BaseHTTPRequestHandler.path.split
    - <builtin>.int
    - domain.encode
    - werkzeug._internal._decode_idna.decode_part
    - domain.split
    - part.decode
    - typing.NamedTuple.path.decode
    - <builtin>.isinstance
    - <builtin>.filter
    linkageType: pythonLinkage
    raised:
    - ValueError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 10
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe3c74700>
    - <ast.Constant object at 0x7fcfe3c74730>
    - <ast.Constant object at 0x7fcfe3c74760>
    - <ast.Constant object at 0x7fcfe3c74790>
    - <ast.Constant object at 0x7fcfe3c747c0>
    - <ast.Constant object at 0x7fcfe3c747f0>
    - <ast.Constant object at 0x7fcfe3c74820>
    - <ast.Constant object at 0x7fcfe3c74850>
    argNames:
    - self
    - key
    - value
    - max_age
    - expires
    - path
    - domain
    - secure
    - httponly
    - samesite
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 8
    functionLinenumber: 196
    functionName: werkzeug.sansio.response.Response.set_cookie
    functionSourceFile: werkzeug.sansio.response
    functionUses: 3
    functionsReached:
    - http.server.BaseHTTPRequestHandler.path.fragment.encode
    - email.utils.format_datetime
    - p.encode
    - samesite.title
    - typing.NamedTuple.query.decode
    - value.decode
    - datetime.datetime.combine
    - werkzeug.datastructures.Headers._validate_value
    - werkzeug._internal._make_encode_wrapper.<lambda1>
    - typing.NamedTuple.fragment.decode
    - http.server.BaseHTTPRequestHandler.path.query.encode
    - werkzeug._internal._decode_idna
    - werkzeug.urls.BaseURL.decode_netloc
    - typing.NamedTuple.encode
    - warnings.warn
    - <builtin>.str
    - <builtin>.int
    - max_age.total_seconds
    - werkzeug._internal._decode_idna.decode_part
    - <builtin>.frozenset
    - options.items
    - http.server.BaseHTTPRequestHandler.path.find
    - <builtin>.min
    - typing.NamedTuple.fragment.encode
    - <builtin>.any
    - werkzeug.http.quote_header_value
    - typing.NamedTuple.path.encode
    - safe.encode
    - time.mktime
    - http.server.BaseHTTPRequestHandler.path.encode_netloc
    - email.utils.formatdate
    - datetime.datetime.now
    - <builtin>.set
    - werkzeug._internal._to_bytes
    - werkzeug.urls.iri_to_uri
    - werkzeug._internal._encode_idna
    - kw.items
    - werkzeug.urls.url_unparse
    - werkzeug.urls.BytesURL.decode
    - werkzeug._internal._make_cookie_domain
    - typing.NamedTuple.query.encode
    - value.replace
    - werkzeug.http.http_date
    - werkzeug.datastructures._unicodify_header_value
    - path.startswith
    - datetime.time
    - segments.append
    - rv.append
    - _scheme_re.match
    - domain.encode
    - unsafe.encode
    - domain.split
    - werkzeug.http.dump_cookie
    - part.decode
    - werkzeug._internal._cookie_quote
    - <builtin>.bytes
    - operator.methodcaller
    - http.server.BaseHTTPRequestHandler.path.encode
    - werkzeug.http.dump_options_header
    - werkzeug._internal._check_str_tuple
    - <builtin>.len
    - rv.extend
    - buf.append
    - werkzeug.urls.BytesURL.encode_netloc
    - typing.NamedTuple.__init__
    - time.mktime.replace
    - k.replace
    - typing.NamedTuple.split
    - http.server.BaseHTTPRequestHandler.path.split
    - typing.NamedTuple.path.decode
    - werkzeug._internal._dt_as_utc
    - werkzeug.urls.BaseURL.encode_netloc
    - werkzeug._internal._make_encode_wrapper
    - werkzeug.datastructures.Headers.add
    - <builtin>.bytearray
    - werkzeug._internal._to_str
    - typing.NamedTuple.scheme.decode
    - http.server.BaseHTTPRequestHandler.path.decode
    - typing.NamedTuple.decode
    - time.mktime.astimezone
    - typing.NamedTuple.find
    - werkzeug.datastructures._options_header_vkw
    - typing.NamedTuple.scheme.encode
    - <builtin>.isinstance
    - werkzeug.urls.url_parse
    - <builtin>.filter
    - werkzeug.urls.url_quote
    - werkzeug.urls.URL.encode
    - rv.decode
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 13
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 19
    ICount: 4
    IfCount: 13
    argCount: 12
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe1b0a370>
    - <ast.Constant object at 0x7fcfe1b0a340>
    - <ast.Constant object at 0x7fcfe1b0a310>
    - <ast.Constant object at 0x7fcfe1b0a2e0>
    - <ast.Constant object at 0x7fcfe1b0a2b0>
    - <ast.Constant object at 0x7fcfe1b0a280>
    - <ast.Constant object at 0x7fcfe1b0a250>
    - <ast.Constant object at 0x7fcfe1b0a220>
    - <ast.Constant object at 0x7fcfe1b0a1f0>
    - <ast.Constant object at 0x7fcfe1b0a1c0>
    - <ast.Constant object at 0x7fcfe1b0a190>
    argNames:
    - key
    - value
    - max_age
    - expires
    - path
    - domain
    - secure
    - httponly
    - charset
    - sync_expires
    - max_size
    - samesite
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 7
    functionLinenumber: 1218
    functionName: werkzeug.http.dump_cookie
    functionSourceFile: werkzeug.http
    functionUses: 6
    functionsReached:
    - http.server.BaseHTTPRequestHandler.path.fragment.encode
    - <builtin>.bytearray
    - email.utils.format_datetime
    - werkzeug._internal._to_str
    - werkzeug._internal._to_bytes
    - werkzeug.urls.iri_to_uri
    - p.encode
    - samesite.title
    - werkzeug._internal._encode_idna
    - werkzeug._internal._check_str_tuple
    - typing.NamedTuple.scheme.decode
    - operator.methodcaller
    - http.server.BaseHTTPRequestHandler.path.decode
    - <builtin>.len
    - werkzeug.urls.url_unparse
    - werkzeug.urls.BytesURL.decode
    - typing.NamedTuple.query.decode
    - rv.extend
    - datetime.datetime.combine
    - werkzeug._internal._make_cookie_domain
    - buf.append
    - typing.NamedTuple.query.encode
    - werkzeug._internal._make_encode_wrapper.<lambda1>
    - typing.NamedTuple.fragment.decode
    - werkzeug.urls.BytesURL.encode_netloc
    - typing.NamedTuple.decode
    - http.server.BaseHTTPRequestHandler.path.query.encode
    - werkzeug._internal._decode_idna
    - werkzeug.http.http_date
    - typing.NamedTuple.__init__
    - path.startswith
    - datetime.time
    - werkzeug.urls.BaseURL.decode_netloc
    - time.mktime.astimezone
    - time.mktime.replace
    - typing.NamedTuple.encode
    - typing.NamedTuple.split
    - rv.append
    - warnings.warn
    - _scheme_re.match
    - <builtin>.str
    - typing.NamedTuple.find
    - <builtin>.int
    - http.server.BaseHTTPRequestHandler.path.split
    - max_age.total_seconds
    - domain.encode
    - unsafe.encode
    - domain.split
    - <builtin>.frozenset
    - werkzeug._internal._decode_idna.decode_part
    - http.server.BaseHTTPRequestHandler.path.find
    - <builtin>.min
    - part.decode
    - typing.NamedTuple.fragment.encode
    - <builtin>.any
    - typing.NamedTuple.path.decode
    - werkzeug._internal._dt_as_utc
    - werkzeug._internal._cookie_quote
    - typing.NamedTuple.path.encode
    - <builtin>.bytes
    - safe.encode
    - typing.NamedTuple.scheme.encode
    - <builtin>.isinstance
    - http.server.BaseHTTPRequestHandler.path.encode
    - werkzeug.urls.url_parse
    - werkzeug.urls.BaseURL.encode_netloc
    - <builtin>.filter
    - time.mktime
    - http.server.BaseHTTPRequestHandler.path.encode_netloc
    - email.utils.formatdate
    - werkzeug.urls.url_quote
    - datetime.datetime.now
    - werkzeug._internal._make_encode_wrapper
    - werkzeug.urls.URL.encode
    - rv.decode
    linkageType: pythonLinkage
    raised:
    - ValueError
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - _key
    - _value
    - kw
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 1090
    functionName: werkzeug.datastructures.Headers.add
    functionSourceFile: werkzeug.datastructures
    functionUses: 61
    functionsReached:
    - werkzeug.datastructures.Headers._validate_value
    - k.replace
    - werkzeug.http.dump_options_header
    - value.decode
    - <builtin>.str
    - <builtin>.isinstance
    - value.replace
    - options.items
    - <builtin>.set
    - werkzeug.datastructures._options_header_vkw
    - werkzeug.datastructures._unicodify_header_value
    - kw.items
    - werkzeug.http.quote_header_value
    - segments.append
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 7
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe4355c70>
    - <ast.Constant object at 0x7fcfe4355c40>
    - <ast.Constant object at 0x7fcfe4355c10>
    - <ast.Constant object at 0x7fcfe4355be0>
    - <ast.Constant object at 0x7fcfe4355bb0>
    argNames:
    - self
    - key
    - path
    - domain
    - secure
    - httponly
    - samesite
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 9
    functionLinenumber: 249
    functionName: werkzeug.sansio.response.Response.delete_cookie
    functionSourceFile: werkzeug.sansio.response
    functionUses: 2
    functionsReached:
    - http.server.BaseHTTPRequestHandler.path.fragment.encode
    - email.utils.format_datetime
    - p.encode
    - samesite.title
    - typing.NamedTuple.query.decode
    - value.decode
    - datetime.datetime.combine
    - werkzeug.datastructures.Headers._validate_value
    - werkzeug._internal._make_encode_wrapper.<lambda1>
    - typing.NamedTuple.fragment.decode
    - http.server.BaseHTTPRequestHandler.path.query.encode
    - werkzeug._internal._decode_idna
    - werkzeug.urls.BaseURL.decode_netloc
    - typing.NamedTuple.encode
    - warnings.warn
    - <builtin>.str
    - <builtin>.int
    - max_age.total_seconds
    - werkzeug._internal._decode_idna.decode_part
    - <builtin>.frozenset
    - options.items
    - http.server.BaseHTTPRequestHandler.path.find
    - <builtin>.min
    - typing.NamedTuple.fragment.encode
    - <builtin>.any
    - werkzeug.http.quote_header_value
    - typing.NamedTuple.path.encode
    - safe.encode
    - time.mktime
    - http.server.BaseHTTPRequestHandler.path.encode_netloc
    - email.utils.formatdate
    - datetime.datetime.now
    - <builtin>.set
    - werkzeug._internal._to_bytes
    - werkzeug.urls.iri_to_uri
    - werkzeug._internal._encode_idna
    - kw.items
    - werkzeug.urls.url_unparse
    - werkzeug.urls.BytesURL.decode
    - werkzeug._internal._make_cookie_domain
    - typing.NamedTuple.query.encode
    - value.replace
    - werkzeug.http.http_date
    - werkzeug.datastructures._unicodify_header_value
    - path.startswith
    - datetime.time
    - segments.append
    - rv.append
    - _scheme_re.match
    - domain.encode
    - unsafe.encode
    - domain.split
    - werkzeug.http.dump_cookie
    - part.decode
    - werkzeug._internal._cookie_quote
    - <builtin>.bytes
    - operator.methodcaller
    - http.server.BaseHTTPRequestHandler.path.encode
    - werkzeug.http.dump_options_header
    - werkzeug._internal._check_str_tuple
    - <builtin>.len
    - rv.extend
    - buf.append
    - werkzeug.urls.BytesURL.encode_netloc
    - typing.NamedTuple.__init__
    - time.mktime.replace
    - k.replace
    - typing.NamedTuple.split
    - http.server.BaseHTTPRequestHandler.path.split
    - typing.NamedTuple.path.decode
    - werkzeug._internal._dt_as_utc
    - werkzeug.urls.BaseURL.encode_netloc
    - werkzeug._internal._make_encode_wrapper
    - werkzeug.datastructures.Headers.add
    - <builtin>.bytearray
    - werkzeug._internal._to_str
    - typing.NamedTuple.scheme.decode
    - http.server.BaseHTTPRequestHandler.path.decode
    - werkzeug.sansio.response.Response.set_cookie
    - typing.NamedTuple.decode
    - time.mktime.astimezone
    - typing.NamedTuple.find
    - werkzeug.datastructures._options_header_vkw
    - typing.NamedTuple.scheme.encode
    - <builtin>.isinstance
    - werkzeug.urls.url_parse
    - <builtin>.filter
    - werkzeug.urls.url_quote
    - werkzeug.urls.URL.encode
    - rv.decode
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 283
    functionName: werkzeug.sansio.response.Response.is_json
    functionSourceFile: werkzeug.sansio.response
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - value
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 307
    functionName: werkzeug.sansio.response.Response.mimetype
    functionSourceFile: werkzeug.sansio.response
    functionUses: 0
    functionsReached:
    - werkzeug.datastructures.EnvironHeaders.__getitem__
    - key.lower
    - value.decode
    - <builtin>.str
    - mimetype.startswith
    - werkzeug.utils.get_content_type
    - <builtin>.isinstance
    - mimetype.endswith
    - werkzeug.datastructures.Headers.__getitem__
    - key.upper
    - ct.split
    - werkzeug.datastructures._unicodify_header_value
    - rv.encode
    - k.lower
    - werkzeug.datastructures.Headers.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 5
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe407f310>
    - <ast.Constant object at 0x7fcfe407f2e0>
    - <ast.Constant object at 0x7fcfe407f2b0>
    argNames:
    - self
    - key
    - default
    - type
    - as_bytes
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 919
    functionName: werkzeug.datastructures.Headers.get
    functionSourceFile: werkzeug.datastructures
    functionUses: 20
    functionsReached:
    - werkzeug.datastructures.EnvironHeaders.__getitem__
    - key.lower
    - value.decode
    - <builtin>.str
    - <builtin>.isinstance
    - werkzeug.datastructures.Headers.__getitem__
    - key.upper
    - rv.encode
    - k.lower
    - werkzeug.datastructures._unicodify_header_value
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: ct.split
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 311
    functionName: werkzeug.sansio.response.Response.mimetype_params
    functionSourceFile: werkzeug.sansio.response
    functionUses: 0
    functionsReached:
    - werkzeug.http.parse_options_header
    - key.lower
    - match.group
    - _option_header_piece_re.match
    - dict.__init__
    - urllib.parse.unquote_to_bytes.decode
    - value.decode
    - urllib.parse.unquote_to_bytes
    - optmatch.end
    - werkzeug.http.unquote_header_value
    - value.replace
    - werkzeug.datastructures.Headers.__getitem__
    - werkzeug.datastructures._unicodify_header_value
    - result.append
    - werkzeug.datastructures.CallbackDict.__init__
    - optmatch.groups
    - warnings.warn
    - <builtin>.str
    - _option_header_start_mime_type.match
    - key.upper
    - k.lower
    - werkzeug.datastructures.Headers.get
    - werkzeug.datastructures.EnvironHeaders.__getitem__
    - options.get
    - <builtin>.isinstance
    - rv.encode
    - <builtin>.tuple
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - d
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 319
    functionName: werkzeug.sansio.response.Response.mimetype_params.on_update
    functionSourceFile: werkzeug.sansio.response
    functionUses: 5
    functionsReached:
    - werkzeug.http.dump_options_header
    - value.decode
    - <builtin>.str
    - <builtin>.isinstance
    - value.replace
    - options.items
    - <builtin>.set
    - werkzeug.http.quote_header_value
    - segments.append
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - header
    - options
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 245
    functionName: werkzeug.http.dump_options_header
    functionSourceFile: werkzeug.http
    functionUses: 74
    functionsReached:
    - value.decode
    - <builtin>.str
    - <builtin>.isinstance
    - value.replace
    - options.items
    - <builtin>.set
    - werkzeug.http.quote_header_value
    - segments.append
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 11
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 16
    ICount: 4
    IfCount: 11
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe2461a60>
    argNames:
    - value
    - multiple
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 379
    functionName: werkzeug.http.parse_options_header
    functionSourceFile: werkzeug.http
    functionUses: 15
    functionsReached:
    - optmatch.end
    - options.get
    - optmatch.groups
    - warnings.warn
    - werkzeug.http.unquote_header_value
    - match.group
    - _option_header_start_mime_type.match
    - _option_header_piece_re.match
    - value.replace
    - urllib.parse.unquote_to_bytes.decode
    - result.append
    - urllib.parse.unquote_to_bytes
    - <builtin>.tuple
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe3895a90>
    - <ast.Constant object at 0x7fcfe3895ac0>
    argNames:
    - self
    - initial
    - on_update
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 2210
    functionName: werkzeug.datastructures.CallbackDict.__init__
    functionSourceFile: werkzeug.datastructures
    functionUses: 2
    functionsReached:
    - dict.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 0
    IfCount: 3
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - value
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 446
    functionName: werkzeug.sansio.response.Response.retry_after
    functionSourceFile: werkzeug.sansio.response
    functionUses: 0
    functionsReached:
    - email.utils.format_datetime
    - key.lower
    - value.decode
    - datetime.datetime.combine
    - datetime.timedelta
    - werkzeug.http.http_date
    - email.utils.parsedate_to_datetime
    - werkzeug.datastructures.Headers.__getitem__
    - werkzeug.datastructures._unicodify_header_value
    - datetime.time
    - time.mktime.astimezone
    - time.mktime.replace
    - <builtin>.str
    - <builtin>.int
    - dt.replace
    - value.isdigit
    - key.upper
    - k.lower
    - werkzeug.datastructures.Headers.get
    - werkzeug._internal._dt_as_utc
    - werkzeug.http.parse_date
    - werkzeug.datastructures.EnvironHeaders.__getitem__
    - <builtin>.isinstance
    - time.mktime
    - email.utils.formatdate
    - datetime.datetime.now
    - rv.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: value.isdigit
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - value
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 922
    functionName: werkzeug.http.parse_date
    functionSourceFile: werkzeug.http
    functionUses: 11
    functionsReached:
    - email.utils.parsedate_to_datetime
    - dt.replace
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: -1
    functionName: werkzeug.sansio.response.Response
    functionSourceFile: werkzeug.sansio.response
    functionUses: 0
    functionsReached:
    - werkzeug.sansio.response._set_property
    - <builtin>.property
    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: 4
    functionLinenumber: 484
    functionName: werkzeug.sansio.response.Response.cache_control
    functionSourceFile: werkzeug.sansio.response
    functionUses: 0
    functionsReached:
    - key.lower
    - werkzeug.http.parse_dict_header
    - werkzeug.datastructures._CacheControl.__init__
    - dict.__init__
    - value.decode
    - werkzeug.http.unquote_header_value
    - value.replace
    - werkzeug.http.parse_cache_control_header
    - werkzeug.datastructures.Headers.__getitem__
    - werkzeug.datastructures._unicodify_header_value
    - urllib.request.parse_http_list.split
    - <builtin>.str
    - key.upper
    - k.lower
    - urllib.request.parse_http_list
    - werkzeug.datastructures.Headers.get
    - werkzeug.datastructures.EnvironHeaders.__getitem__
    - typing.cast
    - <builtin>.isinstance
    - rv.encode
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - cache_control
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 490
    functionName: werkzeug.sansio.response.Response.cache_control.on_update
    functionSourceFile: werkzeug.sansio.response
    functionUses: 0
    functionsReached:
    - cache_control.to_header
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: cache_control.to_header
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe47ec370>
    - <ast.Constant object at 0x7fcfe47ec340>
    argNames:
    - value
    - on_update
    - cls
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 537
    functionName: werkzeug.http.parse_cache_control_header
    functionSourceFile: werkzeug.http
    functionUses: 2
    functionsReached:
    - typing.cast
    - value.decode
    - werkzeug.http.unquote_header_value
    - <builtin>.isinstance
    - value.replace
    - werkzeug.http.parse_dict_header
    - werkzeug.datastructures._CacheControl.__init__
    - dict.__init__
    - urllib.request.parse_http_list
    - urllib.request.parse_http_list.split
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe4370a60>
    argNames:
    - self
    - etag
    - weak
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 500
    functionName: werkzeug.sansio.response.Response.set_etag
    functionSourceFile: werkzeug.sansio.response
    functionUses: 2
    functionsReached:
    - werkzeug.http.quote_etag
    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 0x7fcfe3b48070>
    argNames:
    - etag
    - weak
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 845
    functionName: werkzeug.http.quote_etag
    functionSourceFile: ''
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - ValueError
    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: 4
    functionLinenumber: 504
    functionName: werkzeug.sansio.response.Response.get_etag
    functionSourceFile: werkzeug.sansio.response
    functionUses: 0
    functionsReached:
    - werkzeug.datastructures.EnvironHeaders.__getitem__
    - werkzeug.http.unquote_etag
    - key.lower
    - value.decode
    - <builtin>.str
    - <builtin>.isinstance
    - etag.startswith
    - werkzeug.datastructures.Headers.__getitem__
    - etag.strip
    - key.upper
    - werkzeug.datastructures._unicodify_header_value
    - rv.encode
    - k.lower
    - werkzeug.datastructures.Headers.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 1
    IfCount: 3
    argCount: 1
    argDefaultValues: []
    argNames:
    - etag
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 859
    functionName: werkzeug.http.unquote_etag
    functionSourceFile: werkzeug.http
    functionUses: 9
    functionsReached:
    - etag.startswith
    - etag.strip
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - value
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 545
    functionName: werkzeug.sansio.response.Response.content_range
    functionSourceFile: werkzeug.sansio.response
    functionUses: 0
    functionsReached:
    - key.lower
    - werkzeug.datastructures.ContentRange.set
    - value.to_header
    - rangedef.split
    - werkzeug.http.parse_content_range_header
    - value.decode
    - werkzeug.datastructures.Headers.__getitem__
    - werkzeug.datastructures._unicodify_header_value
    - werkzeug.http.is_byte_range_valid
    - <builtin>.str
    - <builtin>.int
    - key.upper
    - werkzeug.datastructures.ContentRange.to_header
    - k.lower
    - rng.split
    - werkzeug.datastructures.Headers.get
    - werkzeug.sansio.response.Response.content_range.on_update
    - werkzeug.datastructures.EnvironHeaders.__getitem__
    - werkzeug.datastructures.ContentRange.__init__
    - <builtin>.isinstance
    - rv.encode
    - length_str.isdigit
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - rng
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 530
    functionName: werkzeug.sansio.response.Response.content_range.on_update
    functionSourceFile: werkzeug.sansio.response
    functionUses: 6
    functionsReached:
    - werkzeug.datastructures.ContentRange.to_header
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 0
    IfCount: 3
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 2610
    functionName: werkzeug.datastructures.ContentRange.to_header
    functionSourceFile: ''
    functionUses: 8
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 11
    ICount: 1
    IfCount: 7
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe3b3ebb0>
    argNames:
    - value
    - on_update
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 795
    functionName: werkzeug.http.parse_content_range_header
    functionSourceFile: werkzeug.http
    functionUses: 1
    functionsReached:
    - werkzeug.datastructures.ContentRange.set
    - werkzeug.datastructures.ContentRange.__init__
    - <builtin>.int
    - rangedef.split
    - werkzeug.datastructures.ContentRange.to_header
    - length_str.isdigit
    - rng.split
    - werkzeug.http.is_byte_range_valid
    - werkzeug.sansio.response.Response.content_range.on_update
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 6
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe196f4f0>
    - <ast.Constant object at 0x7fcfe196f520>
    argNames:
    - self
    - units
    - start
    - stop
    - length
    - on_update
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 2579
    functionName: werkzeug.datastructures.ContentRange.__init__
    functionSourceFile: werkzeug.datastructures
    functionUses: 3
    functionsReached:
    - werkzeug.datastructures.ContentRange.set
    - werkzeug.http.is_byte_range_valid
    - werkzeug.datastructures.ContentRange.to_header
    - werkzeug.sansio.response.Response.content_range.on_update
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: value.to_header
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 556
    functionName: werkzeug.sansio.response.Response.www_authenticate
    functionSourceFile: werkzeug.sansio.response
    functionUses: 0
    functionsReached:
    - key.lower
    - werkzeug.http.parse_dict_header
    - auth_type.lower
    - werkzeug.http.parse_www_authenticate_header
    - dict.__init__
    - value.decode
    - werkzeug.http.unquote_header_value
    - value.replace
    - value.strip
    - werkzeug.datastructures.Headers.__getitem__
    - werkzeug.datastructures._unicodify_header_value
    - urllib.request.parse_http_list.split
    - <builtin>.str
    - value.split
    - key.upper
    - k.lower
    - werkzeug.datastructures.WWWAuthenticate.__init__
    - urllib.request.parse_http_list
    - werkzeug.datastructures.Headers.get
    - werkzeug.datastructures.EnvironHeaders.__getitem__
    - <builtin>.isinstance
    - rv.encode
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - www_auth
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 559
    functionName: werkzeug.sansio.response.Response.www_authenticate.on_update
    functionSourceFile: werkzeug.sansio.response
    functionUses: 7
    functionsReached:
    - werkzeug.http.dump_csp_header
    - value.decode
    - <builtin>.str
    - <builtin>.isinstance
    - header.items
    - value.replace
    - auth_type.title
    - werkzeug.datastructures.WWWAuthenticate.to_header
    - d.pop
    - <builtin>.set
    - d.items
    - <builtin>.dict
    - werkzeug.http.quote_header_value
    - werkzeug.datastructures.ContentSecurityPolicy.to_header
    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: 2
    functionLinenumber: 2810
    functionName: werkzeug.datastructures.WWWAuthenticate.to_header
    functionSourceFile: werkzeug.datastructures
    functionUses: 12
    functionsReached:
    - <builtin>.str
    - <builtin>.isinstance
    - value.replace
    - auth_type.title
    - d.pop
    - <builtin>.set
    - d.items
    - <builtin>.dict
    - werkzeug.http.quote_header_value
    - value.decode
    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: 2
    functionLinenumber: 2193
    functionName: werkzeug.datastructures.ContentSecurityPolicy.to_header
    functionSourceFile: werkzeug.datastructures
    functionUses: 11
    functionsReached:
    - werkzeug.http.dump_csp_header
    - header.items
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe3b277c0>
    argNames:
    - value
    - on_update
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 700
    functionName: werkzeug.http.parse_www_authenticate_header
    functionSourceFile: werkzeug.http
    functionUses: 1
    functionsReached:
    - werkzeug.http.unquote_header_value
    - urllib.request.parse_http_list
    - <builtin>.isinstance
    - value.replace
    - werkzeug.http.parse_dict_header
    - auth_type.lower
    - value.strip
    - value.split
    - dict.__init__
    - werkzeug.datastructures.WWWAuthenticate.__init__
    - value.decode
    - urllib.request.parse_http_list.split
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - value
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 592
    functionName: werkzeug.sansio.response.Response.content_security_policy
    functionSourceFile: werkzeug.sansio.response
    functionUses: 0
    functionsReached:
    - key.lower
    - value.to_header
    - dict.__init__
    - werkzeug.datastructures.ContentSecurityPolicy.__init__
    - value.decode
    - policy.strip
    - value.strip
    - werkzeug.http.parse_csp_header
    - werkzeug.datastructures.Headers.__getitem__
    - werkzeug.datastructures._unicodify_header_value
    - <builtin>.str
    - value.split
    - key.upper
    - directive.strip
    - k.lower
    - werkzeug.datastructures.Headers.get
    - werkzeug.datastructures.EnvironHeaders.__getitem__
    - typing.cast
    - <builtin>.isinstance
    - items.append
    - rv.encode
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - csp
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 580
    functionName: werkzeug.sansio.response.Response.content_security_policy.on_update
    functionSourceFile: werkzeug.sansio.response
    functionUses: 5
    functionsReached:
    - werkzeug.http.dump_csp_header
    - value.decode
    - <builtin>.str
    - <builtin>.isinstance
    - header.items
    - value.replace
    - auth_type.title
    - werkzeug.datastructures.WWWAuthenticate.to_header
    - d.pop
    - <builtin>.set
    - d.items
    - <builtin>.dict
    - werkzeug.http.quote_header_value
    - werkzeug.datastructures.ContentSecurityPolicy.to_header
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 2
    IfCount: 3
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe47f1dc0>
    - <ast.Constant object at 0x7fcfe47f1d90>
    argNames:
    - value
    - on_update
    - cls
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 585
    functionName: werkzeug.http.parse_csp_header
    functionSourceFile: werkzeug.http
    functionUses: 2
    functionsReached:
    - typing.cast
    - policy.strip
    - items.append
    - value.split
    - value.strip
    - directive.strip
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues:
    - <ast.Tuple object at 0x7fcfe4a54160>
    - <ast.Constant object at 0x7fcfe4a54130>
    argNames:
    - self
    - values
    - on_update
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 2172
    functionName: werkzeug.datastructures.ContentSecurityPolicy.__init__
    functionSourceFile: werkzeug.datastructures
    functionUses: 2
    functionsReached:
    - dict.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - value
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 627
    functionName: werkzeug.sansio.response.Response.content_security_policy_report_only
    functionSourceFile: werkzeug.sansio.response
    functionUses: 0
    functionsReached:
    - key.lower
    - value.to_header
    - dict.__init__
    - werkzeug.datastructures.ContentSecurityPolicy.__init__
    - value.decode
    - policy.strip
    - value.strip
    - werkzeug.http.parse_csp_header
    - werkzeug.datastructures.Headers.__getitem__
    - werkzeug.datastructures._unicodify_header_value
    - <builtin>.str
    - value.split
    - key.upper
    - directive.strip
    - k.lower
    - werkzeug.datastructures.Headers.get
    - werkzeug.datastructures.EnvironHeaders.__getitem__
    - typing.cast
    - <builtin>.isinstance
    - items.append
    - rv.encode
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - csp
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 613
    functionName: werkzeug.sansio.response.Response.content_security_policy_report_only.on_update
    functionSourceFile: werkzeug.sansio.response
    functionUses: 5
    functionsReached:
    - werkzeug.http.dump_csp_header
    - value.decode
    - <builtin>.str
    - <builtin>.isinstance
    - header.items
    - value.replace
    - auth_type.title
    - werkzeug.datastructures.WWWAuthenticate.to_header
    - d.pop
    - <builtin>.set
    - d.items
    - <builtin>.dict
    - werkzeug.http.quote_header_value
    - werkzeug.datastructures.ContentSecurityPolicy.to_header
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - value
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 648
    functionName: werkzeug.sansio.response.Response.access_control_allow_credentials
    functionSourceFile: werkzeug.sansio.response
    functionUses: 0
    functionsReached:
    - key.lower
    - werkzeug.datastructures.Headers.remove
    - <builtin>.isinstance
    - werkzeug.datastructures.Headers.pop
    - werkzeug.datastructures.Headers.__delitem__
    - k.lower
    - new.append
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 2
    IfCount: 3
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe405d760>
    - <ast.Name object at 0x7fcfe405d730>
    argNames:
    - self
    - key
    - default
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 1049
    functionName: werkzeug.datastructures.Headers.pop
    functionSourceFile: werkzeug.datastructures
    functionUses: 19
    functionsReached:
    - key.lower
    - werkzeug.datastructures.Headers.remove
    - <builtin>.isinstance
    - werkzeug.datastructures.Headers.__delitem__
    - k.lower
    - new.append
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: werkzeug.sansio.response.Response.<lambda1>
    functionSourceFile: werkzeug.sansio.response
    functionUses: 0
    functionsReached:
    - enum.Enum.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: enum.Enum.__init__
    functionSourceFile: ''
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: werkzeug.sansio.response.Response.<lambda2>
    functionSourceFile: werkzeug.sansio.response
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: werkzeug.sansio.response.Response.<lambda3>
    functionSourceFile: werkzeug.sansio.response
    functionUses: 0
    functionsReached:
    - enum.Enum.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: werkzeug.sansio.response.Response.<lambda4>
    functionSourceFile: werkzeug.sansio.response
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: werkzeug.utils
    functionSourceFile: werkzeug.utils
    functionUses: 0
    functionsReached:
    - re.compile
    - typing.TypeVar
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe25da580>
    - <ast.Constant object at 0x7fcfe25da550>
    argNames:
    - self
    - fget
    - name
    - doc
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 78
    functionName: werkzeug.utils.cached_property.__init__
    functionSourceFile: werkzeug.utils
    functionUses: 0
    functionsReached:
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - obj
    - value
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 89
    functionName: werkzeug.utils.cached_property.__set__
    functionSourceFile: werkzeug.utils
    functionUses: 0
    functionsReached:
    - <builtin>.setattr
    - <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: <builtin>.setattr
    functionSourceFile: <builtin>
    functionUses: 8
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 1
    IfCount: 4
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe25e0880>
    argNames:
    - self
    - obj
    - type
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 95
    functionName: werkzeug.utils.cached_property.__get__
    functionSourceFile: werkzeug.utils
    functionUses: 0
    functionsReached:
    - <builtin>.setattr
    - obj_dict.get
    - <builtin>.getattr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: obj_dict.get
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - obj
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 116
    functionName: werkzeug.utils.cached_property.__delete__
    functionSourceFile: werkzeug.utils
    functionUses: 0
    functionsReached:
    - <builtin>.setattr
    - <builtin>.hasattr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - obj
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 146
    functionName: werkzeug.utils.environ_property.lookup
    functionSourceFile: werkzeug.utils
    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
    - obj
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 153
    functionName: werkzeug.utils.header_property.lookup
    functionSourceFile: werkzeug.utils
    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: mimetype.startswith
    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: mimetype.endswith
    functionSourceFile: <builtin>
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - filename
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 195
    functionName: werkzeug.utils.secure_filename
    functionSourceFile: werkzeug.utils
    functionUses: 0
    functionsReached:
    - _filename_ascii_strip_re.sub
    - filename.replace
    - <builtin>.str
    - filename.encode
    - unicodedata.normalize
    - filename.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: unicodedata.normalize
    functionSourceFile: unicodedata
    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: filename.encode
    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: filename.replace
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: filename.split
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: _filename_ascii_strip_re.sub
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe246deb0>
    - <ast.Constant object at 0x7fcfe246d850>
    argNames:
    - location
    - code
    - Response
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 7
    functionLinenumber: 242
    functionName: werkzeug.utils.redirect
    functionSourceFile: werkzeug.utils
    functionUses: 3
    functionsReached:
    - http.server.BaseHTTPRequestHandler.path.fragment.encode
    - <builtin>.bytearray
    - werkzeug._internal._to_str
    - werkzeug.urls.iri_to_uri
    - werkzeug._internal._check_str_tuple
    - typing.NamedTuple.scheme.decode
    - http.server.BaseHTTPRequestHandler.path.decode
    - <builtin>.len
    - werkzeug.urls.url_unparse
    - rv.extend
    - werkzeug.urls.BytesURL.decode
    - typing.NamedTuple.query.decode
    - typing.NamedTuple.query.encode
    - werkzeug._internal._make_encode_wrapper.<lambda1>
    - http.server.BaseHTTPRequestHandler.path.query.encode
    - werkzeug.urls.BytesURL.encode_netloc
    - typing.NamedTuple.fragment.decode
    - typing.NamedTuple.decode
    - werkzeug._internal._decode_idna
    - typing.NamedTuple.__init__
    - path.startswith
    - werkzeug.urls.BaseURL.decode_netloc
    - typing.NamedTuple.encode
    - typing.NamedTuple.split
    - rv.append
    - _scheme_re.match
    - <builtin>.str
    - typing.NamedTuple.find
    - http.server.BaseHTTPRequestHandler.path.split
    - domain.encode
    - werkzeug._internal._decode_idna.decode_part
    - unsafe.encode
    - <builtin>.frozenset
    - domain.split
    - http.server.BaseHTTPRequestHandler.path.find
    - <builtin>.min
    - part.decode
    - typing.NamedTuple.fragment.encode
    - <builtin>.any
    - typing.NamedTuple.path.decode
    - typing.NamedTuple.path.encode
    - safe.encode
    - <builtin>.bytes
    - typing.NamedTuple.scheme.encode
    - <builtin>.isinstance
    - http.server.BaseHTTPRequestHandler.path.encode
    - werkzeug.urls.url_parse
    - werkzeug.urls.BaseURL.encode_netloc
    - html.escape
    - <builtin>.filter
    - http.server.BaseHTTPRequestHandler.path.encode_netloc
    - werkzeug.urls.url_quote
    - operator.methodcaller
    - werkzeug._internal._make_encode_wrapper
    - werkzeug.urls.URL.encode
    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 0x7fcfe107b9a0>
    argNames:
    - environ
    - code
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 8
    functionLinenumber: 292
    functionName: werkzeug.utils.append_slash_redirect
    functionSourceFile: werkzeug.utils
    functionUses: 0
    functionsReached:
    - http.server.BaseHTTPRequestHandler.path.fragment.encode
    - <builtin>.bytearray
    - werkzeug._internal._to_str
    - werkzeug.urls.iri_to_uri
    - werkzeug._internal._check_str_tuple
    - typing.NamedTuple.scheme.decode
    - http.server.BaseHTTPRequestHandler.path.decode
    - <builtin>.len
    - werkzeug.urls.url_unparse
    - rv.extend
    - werkzeug.urls.BytesURL.decode
    - typing.NamedTuple.query.decode
    - typing.NamedTuple.query.encode
    - werkzeug.utils.redirect
    - werkzeug._internal._make_encode_wrapper.<lambda1>
    - werkzeug.urls.BytesURL.encode_netloc
    - http.server.BaseHTTPRequestHandler.path.query.encode
    - typing.NamedTuple.decode
    - typing.NamedTuple.fragment.decode
    - werkzeug._internal._decode_idna
    - typing.NamedTuple.__init__
    - path.startswith
    - werkzeug.urls.BaseURL.decode_netloc
    - typing.NamedTuple.encode
    - typing.NamedTuple.split
    - rv.append
    - _scheme_re.match
    - <builtin>.str
    - typing.NamedTuple.find
    - http.server.BaseHTTPRequestHandler.path.split
    - domain.encode
    - werkzeug._internal._decode_idna.decode_part
    - unsafe.encode
    - <builtin>.frozenset
    - domain.split
    - http.server.BaseHTTPRequestHandler.path.find
    - environ.get
    - <builtin>.min
    - typing.NamedTuple.fragment.encode
    - <builtin>.any
    - typing.NamedTuple.path.decode
    - part.decode
    - typing.NamedTuple.path.encode
    - safe.encode
    - <builtin>.bytes
    - typing.NamedTuple.scheme.encode
    - <builtin>.isinstance
    - http.server.BaseHTTPRequestHandler.path.encode
    - werkzeug.urls.url_parse
    - werkzeug.urls.BaseURL.encode_netloc
    - html.escape
    - <builtin>.filter
    - http.server.BaseHTTPRequestHandler.path.encode_netloc
    - werkzeug.urls.url_quote
    - operator.methodcaller
    - werkzeug._internal._make_encode_wrapper
    - werkzeug.urls.URL.encode
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 25
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 13
    EdgeCount: 36
    ICount: 8
    IfCount: 25
    argCount: 12
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe412a850>
    - <ast.Constant object at 0x7fcfe412a9a0>
    - <ast.Constant object at 0x7fcfe412ab80>
    - <ast.Constant object at 0x7fcfe412a820>
    - <ast.Constant object at 0x7fcfe412a940>
    - <ast.Constant object at 0x7fcfe412a670>
    - <ast.Constant object at 0x7fcfe412a8b0>
    - <ast.Constant object at 0x7fcfe412a910>
    - <ast.Constant object at 0x7fcfe412a3a0>
    - <ast.Constant object at 0x7fcfe412a400>
    argNames:
    - path_or_file
    - environ
    - mimetype
    - as_attachment
    - download_name
    - conditional
    - etag
    - last_modified
    - max_age
    - use_x_sendfile
    - response_class
    - _root_path
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 7
    functionLinenumber: 329
    functionName: werkzeug.utils.send_file
    functionSourceFile: werkzeug.utils
    functionUses: 6
    functionsReached:
    - http.server.BaseHTTPRequestHandler.path.fragment.encode
    - <builtin>.enumerate
    - value.decode
    - werkzeug.datastructures.Headers._validate_value
    - http.server.BaseHTTPRequestHandler.path.query.encode
    - typing.NamedTuple.encode
    - <builtin>.str
    - <builtin>.int
    - <builtin>.frozenset
    - options.items
    - typing.NamedTuple.fragment.encode
    - werkzeug.http.quote_header_value
    - typing.NamedTuple.path.encode
    - dict.items
    - io.BytesIO.close
    - safe.encode
    - rv.headers.pop
    - <builtin>.super
    - <builtin>.set
    - os.path.abspath
    - time.time
    - d.items
    - kw.items
    - io.BytesIO.getbuffer
    - mimetypes.guess_type
    - old_key.lower
    - path.encode
    - typing.NamedTuple.query.encode
    - werkzeug.datastructures.CombinedMultiDict.items
    - value.replace
    - werkzeug.datastructures._unicodify_header_value
    - segments.append
    - werkzeug.wrappers.response.Response.__init__
    - rv.append
    - <builtin>.iter
    - _key.lower
    - unsafe.encode
    - environ.get
    - os.stat
    - found.add
    - <builtin>.bytes
    - http.server.BaseHTTPRequestHandler.path.encode
    - werkzeug.datastructures.OrderedMultiDict.items
    - werkzeug.datastructures.iter_multi_items
    - werkzeug.datastructures.MultiDict.items
    - werkzeug.http.dump_options_header
    - <builtin>.hasattr
    - werkzeug.datastructures.Headers.extend
    - <builtin>.len
    - simple.encode
    - rv.extend
    - werkzeug.urls.BytesURL.encode_netloc
    - zlib.adler32
    - value.encode
    - typing.NamedTuple.__init__
    - k.replace
    - rv.set_etag
    - unicodedata.normalize
    - <builtin>.callable
    - werkzeug.urls.BaseURL.encode_netloc
    - <builtin>.open
    - os.path.basename
    - os.path.join
    - werkzeug.datastructures.Headers.add
    - <builtin>.bytearray
    - werkzeug.wsgi.wrap_file
    - rv.make_conditional
    - download_name.encode
    - returned_keys.add
    - werkzeug.datastructures._options_header_vkw
    - werkzeug.datastructures.Headers.__init__
    - werkzeug.datastructures.Headers.set
    - werkzeug.wrappers.response.Response.set_data
    - typing.cast
    - typing.NamedTuple.scheme.encode
    - <builtin>.isinstance
    - <builtin>.filter
    - werkzeug.urls.url_quote
    - werkzeug.urls.URL.encode
    linkageType: pythonLinkage
    raised:
    - ValueError
    - 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: os.path.join
    functionSourceFile: os
    functionUses: 32
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: os.path.abspath
    functionSourceFile: os
    functionUses: 30
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.stat
    functionSourceFile: os
    functionUses: 8
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 3
    IfCount: 3
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - _key
    - _value
    - kw
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 1134
    functionName: werkzeug.datastructures.Headers.set
    functionSourceFile: werkzeug.datastructures
    functionUses: 36
    functionsReached:
    - werkzeug.datastructures.Headers._validate_value
    - k.replace
    - werkzeug.http.dump_options_header
    - <builtin>.iter
    - <builtin>.str
    - _key.lower
    - <builtin>.isinstance
    - value.replace
    - <builtin>.enumerate
    - segments.append
    - options.items
    - <builtin>.set
    - werkzeug.datastructures._options_header_vkw
    - werkzeug.datastructures._unicodify_header_value
    - kw.items
    - werkzeug.http.quote_header_value
    - value.decode
    - old_key.lower
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: download_name.encode
    functionSourceFile: <builtin>
    functionUses: 7
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: simple.encode
    functionSourceFile: <builtin>
    functionUses: 7
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: io.BytesIO.getbuffer
    functionSourceFile: io
    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: rv.set_etag
    functionSourceFile: <builtin>
    functionUses: 7
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: rv.make_conditional
    functionSourceFile: <builtin>
    functionUses: 7
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: io.BytesIO.close
    functionSourceFile: io
    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: rv.headers.pop
    functionSourceFile: <builtin>
    functionUses: 7
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 1
    IfCount: 3
    argCount: 4
    argDefaultValues: []
    argNames:
    - directory
    - path
    - environ
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 8
    functionLinenumber: 549
    functionName: werkzeug.utils.send_from_directory
    functionSourceFile: werkzeug.utils
    functionUses: 2
    functionsReached:
    - http.server.BaseHTTPRequestHandler.path.fragment.encode
    - <builtin>.enumerate
    - value.decode
    - werkzeug.datastructures.Headers._validate_value
    - http.server.BaseHTTPRequestHandler.path.query.encode
    - posixpath.join
    - typing.NamedTuple.encode
    - <builtin>.str
    - <builtin>.int
    - <builtin>.frozenset
    - options.items
    - typing.NamedTuple.fragment.encode
    - <builtin>.any
    - werkzeug.http.quote_header_value
    - posixpath.normpath
    - typing.NamedTuple.path.encode
    - io.BytesIO.close
    - dict.items
    - safe.encode
    - rv.headers.pop
    - <builtin>.super
    - <builtin>.set
    - os.path.abspath
    - time.time
    - os.fspath
    - d.items
    - kw.items
    - io.BytesIO.getbuffer
    - mimetypes.guess_type
    - old_key.lower
    - path.encode
    - typing.NamedTuple.query.encode
    - werkzeug.datastructures.CombinedMultiDict.items
    - value.replace
    - werkzeug.datastructures._unicodify_header_value
    - segments.append
    - werkzeug.wrappers.response.Response.__init__
    - rv.append
    - <builtin>.iter
    - _key.lower
    - unsafe.encode
    - environ.get
    - os.stat
    - found.add
    - <builtin>.bytes
    - http.server.BaseHTTPRequestHandler.path.encode
    - werkzeug.datastructures.OrderedMultiDict.items
    - werkzeug.datastructures.iter_multi_items
    - werkzeug.datastructures.MultiDict.items
    - werkzeug.http.dump_options_header
    - <builtin>.hasattr
    - werkzeug.datastructures.Headers.extend
    - <builtin>.len
    - simple.encode
    - rv.extend
    - werkzeug.urls.BytesURL.encode_netloc
    - zlib.adler32
    - value.encode
    - typing.NamedTuple.__init__
    - k.replace
    - rv.set_etag
    - unicodedata.normalize
    - werkzeug.utils.send_file
    - <builtin>.callable
    - werkzeug.urls.BaseURL.encode_netloc
    - <builtin>.open
    - os.path.basename
    - parts.append
    - os.path.join
    - werkzeug.datastructures.Headers.add
    - os.path.isabs
    - <builtin>.bytearray
    - os.path.isfile
    - werkzeug.wsgi.wrap_file
    - rv.make_conditional
    - filename.startswith
    - werkzeug.security.safe_join
    - download_name.encode
    - returned_keys.add
    - werkzeug.datastructures._options_header_vkw
    - werkzeug.datastructures.Headers.__init__
    - werkzeug.datastructures.Headers.set
    - werkzeug.wrappers.response.Response.set_data
    - typing.cast
    - typing.NamedTuple.scheme.encode
    - <builtin>.isinstance
    - <builtin>.filter
    - werkzeug.urls.url_quote
    - werkzeug.urls.URL.encode
    linkageType: pythonLinkage
    raised:
    - NotFound
    returnType: N/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.fspath
    functionSourceFile: os
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    IfCount: 2
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe2e68e50>
    argNames:
    - import_name
    - silent
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 594
    functionName: werkzeug.utils.import_string
    functionSourceFile: werkzeug.utils
    functionUses: 6
    functionsReached:
    - import_name.rsplit
    - import_name.replace
    - <builtin>.globals
    - <builtin>.__import__
    - <builtin>.getattr
    - <builtin>.locals
    linkageType: pythonLinkage
    raised:
    - ImportError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: import_name.replace
    functionSourceFile: <builtin>
    functionUses: 7
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: import_name.rsplit
    functionSourceFile: <builtin>
    functionUses: 7
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.locals
    functionSourceFile: <builtin>
    functionUses: 7
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 4
    IfCount: 4
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe2e88c10>
    - <ast.Constant object at 0x7fcfe2e88be0>
    argNames:
    - import_path
    - include_packages
    - recursive
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 633
    functionName: werkzeug.utils.find_modules
    functionSourceFile: werkzeug.utils
    functionUses: 0
    functionsReached:
    - import_name.rsplit
    - werkzeug.utils.import_string
    - import_name.replace
    - <builtin>.globals
    - <builtin>.__import__
    - werkzeug.utils.find_modules
    - <builtin>.getattr
    - <builtin>.locals
    - pkgutil.iter_modules
    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: pkgutil.iter_modules
    functionSourceFile: pkgutil
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - import_name
    - exception
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 674
    functionName: werkzeug.utils.ImportStringError.__init__
    functionSourceFile: werkzeug.utils
    functionUses: 0
    functionsReached:
    - <builtin>.type
    - import_name.rsplit
    - track.append
    - import_name.replace
    - werkzeug.utils.import_string
    - <builtin>.globals
    - <builtin>.__import__
    - tracked.append
    - <builtin>.super
    - <builtin>.getattr
    - <builtin>.locals
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: tracked.append
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: track.append
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 704
    functionName: werkzeug.utils.ImportStringError.__repr__
    functionSourceFile: werkzeug.utils
    functionUses: 0
    functionsReached:
    - <builtin>.type
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: werkzeug.wrappers.response
    functionSourceFile: werkzeug.wrappers.response
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - iterable
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 32
    functionName: werkzeug.wrappers.response._warn_if_string
    functionSourceFile: werkzeug.wrappers.response
    functionUses: 18
    functionsReached:
    - <builtin>.isinstance
    - warnings.warn
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: 111
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - iterable
    - charset
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 47
    functionName: werkzeug.wrappers.response._iter_encoded
    functionSourceFile: werkzeug.wrappers.response
    functionUses: 18
    functionsReached:
    - item.encode
    - <builtin>.next
    - werkzeug.wsgi._RangeWrapper.__next__
    - werkzeug.wsgi._RangeWrapper._next_chunk
    - <builtin>.isinstance
    - werkzeug.wsgi._RangeWrapper._next
    - werkzeug.wsgi._RangeWrapper.__iter__
    - werkzeug.wsgi._RangeWrapper._first_iteration
    - <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: item.encode
    functionSourceFile: <builtin>
    functionUses: 19
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 0
    IfCount: 3
    argCount: 1
    argDefaultValues: []
    argNames:
    - accept_ranges
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 57
    functionName: werkzeug.wrappers.response._clean_accept_ranges
    functionSourceFile: werkzeug.wrappers.response
    functionUses: 1
    functionsReached:
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised:
    - ValueError
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - value
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 322
    functionName: werkzeug.wrappers.response.Response.set_data
    functionSourceFile: werkzeug.wrappers.response
    functionUses: 29
    functionsReached:
    - <builtin>.bytes
    - <builtin>.str
    - <builtin>.isinstance
    - value.encode
    - <builtin>.len
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - func
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 210
    functionName: werkzeug.wrappers.response.Response.call_on_close
    functionSourceFile: werkzeug.wrappers.response
    functionUses: 13
    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: 7
    functionLinenumber: 221
    functionName: werkzeug.wrappers.response.Response.__repr__
    functionSourceFile: werkzeug.wrappers.response
    functionUses: 0
    functionsReached:
    - item.encode
    - <builtin>.type
    - <builtin>.next
    - werkzeug.wsgi._RangeWrapper.__next__
    - <builtin>.map
    - warnings.warn
    - werkzeug.wrappers.response._iter_encoded
    - werkzeug.wrappers.response._warn_if_string
    - werkzeug.wsgi._RangeWrapper._next_chunk
    - <builtin>.isinstance
    - werkzeug.wsgi._RangeWrapper._next
    - werkzeug.wsgi._RangeWrapper.__iter__
    - werkzeug.wrappers.response.Response.iter_encoded
    - werkzeug.wsgi._RangeWrapper._first_iteration
    - <builtin>.len
    - <builtin>.sum
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 395
    functionName: werkzeug.wrappers.response.Response.iter_encoded
    functionSourceFile: werkzeug.wrappers.response
    functionUses: 17
    functionsReached:
    - item.encode
    - <builtin>.next
    - werkzeug.wsgi._RangeWrapper.__next__
    - warnings.warn
    - werkzeug.wrappers.response._iter_encoded
    - werkzeug.wrappers.response._warn_if_string
    - werkzeug.wsgi._RangeWrapper._next_chunk
    - <builtin>.isinstance
    - werkzeug.wsgi._RangeWrapper._next
    - werkzeug.wsgi._RangeWrapper.__iter__
    - werkzeug.wsgi._RangeWrapper._first_iteration
    - <builtin>.len
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.map
    functionSourceFile: <builtin>
    functionUses: 15
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.sum
    functionSourceFile: <builtin>
    functionUses: 17
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe2c75b20>
    argNames:
    - cls
    - response
    - environ
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 8
    functionLinenumber: 229
    functionName: werkzeug.wrappers.response.Response.force_type
    functionSourceFile: werkzeug.wrappers.response
    functionUses: 6
    functionsReached:
    - werkzeug.datastructures.Headers.add
    - buffer.append
    - werkzeug.http.dump_options_header
    - werkzeug.wsgi.ClosingIterator.__iter__
    - werkzeug.datastructures.Headers.extend
    - d.items
    - <builtin>.len
    - kw.items
    - werkzeug._internal._get_environ
    - value.decode
    - werkzeug.datastructures.Headers._validate_value
    - itertools.chain
    - <builtin>.list
    - werkzeug.datastructures.CombinedMultiDict.items
    - werkzeug.test.run_wsgi_app
    - value.replace
    - value.encode
    - werkzeug.datastructures._unicodify_header_value
    - werkzeug.wsgi.ClosingIterator.__next__
    - werkzeug.exceptions.InternalServerError.__init__
    - functools.partial
    - segments.append
    - k.replace
    - werkzeug.wrappers.response.Response.__init__
    - <builtin>.iter
    - <builtin>.str
    - werkzeug.wsgi.ClosingIterator.__init__
    - options.items
    - returned_keys.add
    - werkzeug.datastructures._options_header_vkw
    - werkzeug.datastructures.Headers.__init__
    - <builtin>.getattr
    - werkzeug.http.quote_header_value
    - werkzeug.wrappers.response.Response.set_data
    - <builtin>.type
    - <builtin>.callable
    - typing.cast
    - found.add
    - dict.items
    - <builtin>.bytes
    - <builtin>.isinstance
    - werkzeug.datastructures.OrderedMultiDict.items
    - <builtin>.super
    - <builtin>.set
    - werkzeug.datastructures.iter_multi_items
    - werkzeug.datastructures.MultiDict.items
    linkageType: pythonLinkage
    raised:
    - TypeError
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 3
    IfCount: 5
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe306cb20>
    argNames:
    - app
    - environ
    - buffered
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 7
    functionLinenumber: 1199
    functionName: werkzeug.test.run_wsgi_app
    functionSourceFile: werkzeug.test
    functionUses: 8
    functionsReached:
    - werkzeug.datastructures.Headers.add
    - buffer.append
    - werkzeug.http.dump_options_header
    - werkzeug.wsgi.ClosingIterator.__iter__
    - werkzeug.datastructures.Headers.extend
    - d.items
    - <builtin>.len
    - kw.items
    - werkzeug._internal._get_environ
    - value.decode
    - werkzeug.datastructures.Headers._validate_value
    - itertools.chain
    - <builtin>.list
    - werkzeug.datastructures.CombinedMultiDict.items
    - value.replace
    - value.encode
    - werkzeug.datastructures._unicodify_header_value
    - werkzeug.wsgi.ClosingIterator.__next__
    - werkzeug.exceptions.InternalServerError.__init__
    - functools.partial
    - segments.append
    - k.replace
    - werkzeug.wrappers.response.Response.__init__
    - <builtin>.iter
    - <builtin>.str
    - werkzeug.wsgi.ClosingIterator.__init__
    - options.items
    - returned_keys.add
    - werkzeug.datastructures._options_header_vkw
    - werkzeug.datastructures.Headers.__init__
    - <builtin>.getattr
    - werkzeug.http.quote_header_value
    - werkzeug.wrappers.response.Response.set_data
    - <builtin>.type
    - <builtin>.callable
    - typing.cast
    - found.add
    - dict.items
    - <builtin>.bytes
    - <builtin>.isinstance
    - werkzeug.datastructures.OrderedMultiDict.items
    - <builtin>.super
    - <builtin>.set
    - werkzeug.datastructures.iter_multi_items
    - werkzeug.datastructures.MultiDict.items
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe2c753a0>
    argNames:
    - cls
    - app
    - environ
    - buffered
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 8
    functionLinenumber: 274
    functionName: werkzeug.wrappers.response.Response.from_app
    functionSourceFile: werkzeug.wrappers.response
    functionUses: 0
    functionsReached:
    - werkzeug.datastructures.Headers.add
    - buffer.append
    - werkzeug.http.dump_options_header
    - werkzeug.wsgi.ClosingIterator.__iter__
    - werkzeug.datastructures.Headers.extend
    - d.items
    - <builtin>.len
    - kw.items
    - werkzeug._internal._get_environ
    - value.decode
    - werkzeug.datastructures.Headers._validate_value
    - itertools.chain
    - <builtin>.list
    - werkzeug.datastructures.CombinedMultiDict.items
    - werkzeug.test.run_wsgi_app
    - value.replace
    - value.encode
    - werkzeug.datastructures._unicodify_header_value
    - werkzeug.wsgi.ClosingIterator.__next__
    - werkzeug.exceptions.InternalServerError.__init__
    - functools.partial
    - segments.append
    - k.replace
    - werkzeug.wrappers.response.Response.__init__
    - <builtin>.str
    - <builtin>.iter
    - werkzeug.wsgi.ClosingIterator.__init__
    - options.items
    - returned_keys.add
    - werkzeug.datastructures._options_header_vkw
    - werkzeug.datastructures.Headers.__init__
    - <builtin>.getattr
    - werkzeug.http.quote_header_value
    - werkzeug.wrappers.response.Response.set_data
    - <builtin>.type
    - <builtin>.callable
    - typing.cast
    - found.add
    - dict.items
    - <builtin>.bytes
    - <builtin>.isinstance
    - werkzeug.datastructures.OrderedMultiDict.items
    - <builtin>.super
    - <builtin>.set
    - werkzeug.datastructures.iter_multi_items
    - werkzeug.datastructures.MultiDict.items
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: werkzeug.wrappers.response.Response
    functionSourceFile: werkzeug.wrappers.response
    functionUses: 0
    functionsReached:
    - typing.overload
    - werkzeug.utils.cached_property
    - <builtin>.property
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe246d100>
    argNames:
    - self
    - as_text
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 9
    functionLinenumber: 301
    functionName: werkzeug.wrappers.response.Response.get_data
    functionSourceFile: werkzeug.wrappers.response
    functionUses: 5
    functionsReached:
    - werkzeug.wrappers.response._warn_if_string
    - werkzeug.wsgi._RangeWrapper._next_chunk
    - <builtin>.len
    - <builtin>.next
    - <builtin>.list
    - werkzeug.wsgi._RangeWrapper._next
    - werkzeug.wsgi._RangeWrapper.__iter__
    - werkzeug.wsgi._RangeWrapper._first_iteration
    - warnings.warn
    - werkzeug.wrappers.response.Response.call_on_close
    - werkzeug.wrappers.response.Response.iter_encoded
    - <builtin>.getattr
    - item.encode
    - werkzeug.wsgi._RangeWrapper.__next__
    - werkzeug.wrappers.response.Response.make_sequence
    - werkzeug.wrappers.response._iter_encoded
    - <builtin>.isinstance
    - rv.decode
    - werkzeug.wrappers.response.Response._ensure_sequence
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 2
    IfCount: 4
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe245e610>
    argNames:
    - self
    - mutable
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 8
    functionLinenumber: 353
    functionName: werkzeug.wrappers.response.Response._ensure_sequence
    functionSourceFile: werkzeug.wrappers.response
    functionUses: 11
    functionsReached:
    - item.encode
    - <builtin>.next
    - werkzeug.wsgi._RangeWrapper.__next__
    - werkzeug.wrappers.response.Response.make_sequence
    - warnings.warn
    - <builtin>.list
    - werkzeug.wrappers.response._iter_encoded
    - werkzeug.wrappers.response._warn_if_string
    - werkzeug.wsgi._RangeWrapper._next_chunk
    - <builtin>.isinstance
    - werkzeug.wsgi._RangeWrapper._next
    - werkzeug.wrappers.response.Response.call_on_close
    - werkzeug.wsgi._RangeWrapper.__iter__
    - werkzeug.wrappers.response.Response.iter_encoded
    - werkzeug.wsgi._RangeWrapper._first_iteration
    - <builtin>.getattr
    - <builtin>.len
    linkageType: pythonLinkage
    raised:
    - RuntimeError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: value.encode
    functionSourceFile: <builtin>
    functionUses: 49
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 9
    functionLinenumber: 345
    functionName: werkzeug.wrappers.response.Response.calculate_content_length
    functionSourceFile: werkzeug.wrappers.response
    functionUses: 1
    functionsReached:
    - werkzeug.wrappers.response._warn_if_string
    - werkzeug.wsgi._RangeWrapper._next_chunk
    - <builtin>.len
    - <builtin>.next
    - <builtin>.list
    - werkzeug.wsgi._RangeWrapper._next
    - werkzeug.wsgi._RangeWrapper.__iter__
    - werkzeug.wsgi._RangeWrapper._first_iteration
    - <builtin>.sum
    - warnings.warn
    - werkzeug.wrappers.response.Response.call_on_close
    - werkzeug.wrappers.response.Response.iter_encoded
    - <builtin>.getattr
    - item.encode
    - werkzeug.wsgi._RangeWrapper.__next__
    - werkzeug.wrappers.response.Response.make_sequence
    - werkzeug.wrappers.response._iter_encoded
    - <builtin>.isinstance
    - werkzeug.wrappers.response.Response._ensure_sequence
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 7
    functionLinenumber: 378
    functionName: werkzeug.wrappers.response.Response.make_sequence
    functionSourceFile: werkzeug.wrappers.response
    functionUses: 12
    functionsReached:
    - item.encode
    - <builtin>.next
    - werkzeug.wsgi._RangeWrapper.__next__
    - warnings.warn
    - <builtin>.list
    - werkzeug.wrappers.response._iter_encoded
    - werkzeug.wrappers.response._warn_if_string
    - werkzeug.wsgi._RangeWrapper._next_chunk
    - werkzeug.wsgi._RangeWrapper._next
    - <builtin>.isinstance
    - werkzeug.wrappers.response.Response.call_on_close
    - werkzeug.wsgi._RangeWrapper.__iter__
    - werkzeug.wrappers.response.Response.iter_encoded
    - werkzeug.wsgi._RangeWrapper._first_iteration
    - <builtin>.getattr
    - <builtin>.len
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 409
    functionName: werkzeug.wrappers.response.Response.is_streamed
    functionSourceFile: werkzeug.wrappers.response
    functionUses: 0
    functionsReached:
    - <builtin>.len
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 425
    functionName: werkzeug.wrappers.response.Response.is_sequence
    functionSourceFile: werkzeug.wrappers.response
    functionUses: 0
    functionsReached:
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 446
    functionName: werkzeug.wrappers.response.Response.__enter__
    functionSourceFile: werkzeug.wrappers.response
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - exc_type
    - exc_value
    - tb
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 449
    functionName: werkzeug.wrappers.response.Response.__exit__
    functionSourceFile: werkzeug.wrappers.response
    functionUses: 0
    functionsReached:
    - <builtin>.hasattr
    - werkzeug.wsgi._RangeWrapper.close
    - werkzeug.wrappers.response.Response.close
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 7
    functionLinenumber: 452
    functionName: werkzeug.wrappers.response.Response.freeze
    functionSourceFile: werkzeug.wrappers.response
    functionUses: 0
    functionsReached:
    - werkzeug.sansio.response.Response.set_etag
    - werkzeug.wrappers.response._warn_if_string
    - werkzeug.wsgi._RangeWrapper._next_chunk
    - werkzeug.http.generate_etag
    - <builtin>.len
    - <builtin>.next
    - <builtin>.list
    - werkzeug.wsgi._RangeWrapper._next
    - werkzeug.wsgi._RangeWrapper.__iter__
    - werkzeug.wsgi._RangeWrapper._first_iteration
    - <builtin>.sum
    - <builtin>.map
    - warnings.warn
    - <builtin>.str
    - werkzeug.wrappers.response.Response.call_on_close
    - werkzeug.wrappers.response.Response.add_etag
    - werkzeug.http.quote_etag
    - werkzeug.wrappers.response.Response.iter_encoded
    - <builtin>.getattr
    - item.encode
    - hashlib.sha1.hexdigest
    - werkzeug.wsgi._RangeWrapper.__next__
    - werkzeug.wrappers.response.Response.make_sequence
    - werkzeug.wrappers.response.Response.get_data
    - werkzeug.wrappers.response._iter_encoded
    - <builtin>.isinstance
    - hashlib.sha1
    - rv.decode
    - werkzeug.wrappers.response.Response._ensure_sequence
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe1690d00>
    - <ast.Constant object at 0x7fcfe1690cd0>
    argNames:
    - self
    - overwrite
    - weak
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 10
    functionLinenumber: 824
    functionName: werkzeug.wrappers.response.Response.add_etag
    functionSourceFile: werkzeug.wrappers.response
    functionUses: 1
    functionsReached:
    - werkzeug.sansio.response.Response.set_etag
    - werkzeug.wrappers.response._warn_if_string
    - werkzeug.wsgi._RangeWrapper._next_chunk
    - werkzeug.http.generate_etag
    - <builtin>.len
    - <builtin>.next
    - <builtin>.list
    - werkzeug.wsgi._RangeWrapper._next
    - werkzeug.wsgi._RangeWrapper.__iter__
    - werkzeug.wsgi._RangeWrapper._first_iteration
    - warnings.warn
    - werkzeug.wrappers.response.Response.call_on_close
    - werkzeug.http.quote_etag
    - werkzeug.wrappers.response.Response.iter_encoded
    - <builtin>.getattr
    - item.encode
    - hashlib.sha1.hexdigest
    - werkzeug.wsgi._RangeWrapper.__next__
    - werkzeug.wrappers.response.Response.make_sequence
    - werkzeug.wrappers.response.Response.get_data
    - werkzeug.wrappers.response._iter_encoded
    - <builtin>.isinstance
    - hashlib.sha1
    - rv.decode
    - werkzeug.wrappers.response.Response._ensure_sequence
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 12
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 18
    ICount: 3
    IfCount: 12
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - environ
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 7
    functionLinenumber: 478
    functionName: werkzeug.wrappers.response.Response.get_wsgi_headers
    functionSourceFile: werkzeug.wrappers.response
    functionUses: 2
    functionsReached:
    - http.server.BaseHTTPRequestHandler.path.fragment.encode
    - header.lower
    - p.encode
    - typing.NamedTuple.query.decode
    - value.decode
    - <builtin>.next
    - werkzeug.datastructures.Headers._validate_value
    - werkzeug._internal._make_encode_wrapper.<lambda1>
    - typing.NamedTuple.fragment.decode
    - http.server.BaseHTTPRequestHandler.path.query.encode
    - werkzeug.wsgi.get_current_url
    - werkzeug._internal._decode_idna
    - werkzeug.urls.BaseURL.decode_netloc
    - result.append
    - typing.NamedTuple.encode
    - <builtin>.str
    - <builtin>.int
    - werkzeug._internal._decode_idna.decode_part
    - <builtin>.frozenset
    - werkzeug.datastructures.Headers.__delitem__
    - options.items
    - http.server.BaseHTTPRequestHandler.path.find
    - <builtin>.min
    - typing.NamedTuple.fragment.encode
    - new.append
    - <builtin>.any
    - werkzeug.http.quote_header_value
    - werkzeug.urls._unquote_to_bytes
    - typing.NamedTuple.path.encode
    - dict.items
    - safe.encode
    - x.lower
    - http.server.BaseHTTPRequestHandler.path.encode_netloc
    - <builtin>.set
    - key.lower
    - werkzeug._internal._to_bytes
    - werkzeug.urls.iri_to_uri
    - werkzeug._internal._encode_idna
    - d.items
    - kw.items
    - werkzeug.urls.url_unparse
    - werkzeug.urls.BytesURL.decode
    - typing.NamedTuple.path.split
    - root_path.rstrip
    - typing.NamedTuple.query.encode
    - werkzeug.datastructures.CombinedMultiDict.items
    - path.split
    - bpath.split
    - value.replace
    - path.lstrip
    - path.startswith
    - werkzeug.datastructures._unicodify_header_value
    - segments.append
    - rv.append
    - _scheme_re.match
    - <builtin>.iter
    - typing.NamedTuple.query.split
    - domain.encode
    - unsafe.encode
    - domain.split
    - environ.get
    - part.decode
    - result.extend
    - werkzeug.http.is_entity_header
    - found.add
    - <builtin>.bytes
    - operator.methodcaller
    - werkzeug.http.remove_entity_headers
    - http.server.BaseHTTPRequestHandler.path.encode
    - werkzeug.datastructures.OrderedMultiDict.items
    - werkzeug.datastructures.iter_multi_items
    - http.server.BaseHTTPRequestHandler.path.fragment.split
    - werkzeug.datastructures.MultiDict.items
    - werkzeug.datastructures.Headers.__iter__
    - werkzeug.http.dump_options_header
    - typing.NamedTuple.fragment.split
    - werkzeug._internal._check_str_tuple
    - werkzeug.datastructures.Headers.extend
    - <builtin>.len
    - http.server.BaseHTTPRequestHandler.path.query.split
    - rv.extend
    - werkzeug.urls.url_unquote
    - werkzeug.urls.BytesURL.encode_netloc
    - typing.NamedTuple.__init__
    - werkzeug.sansio.utils.host_is_trusted._normalize
    - <builtin>.sum
    - k.replace
    - typing.NamedTuple.split
    - http.server.BaseHTTPRequestHandler.path.split
    - k.lower
    - typing.NamedTuple.path.decode
    - hostname.rsplit
    - werkzeug.urls.uri_to_iri
    - werkzeug.urls.BaseURL.encode_netloc
    - werkzeug.sansio.utils.get_host
    - werkzeug._internal._make_encode_wrapper
    - werkzeug.datastructures.Headers.add
    - <builtin>.bytearray
    - werkzeug._internal._to_str
    - typing.NamedTuple.scheme.decode
    - http.server.BaseHTTPRequestHandler.path.decode
    - werkzeug.datastructures.Headers.remove
    - typing.NamedTuple.decode
    - url.append
    - werkzeug.wsgi.get_host
    - typing.NamedTuple.find
    - werkzeug.sansio.utils.get_current_url
    - returned_keys.add
    - werkzeug.datastructures._options_header_vkw
    - werkzeug.datastructures.Headers.__init__
    - werkzeug.wsgi._get_server
    - http.server.BaseHTTPRequestHandler.path.decode_netloc
    - _hextobyte.items
    - typing.NamedTuple.scheme.encode
    - <builtin>.isinstance
    - werkzeug.urls.url_join
    - werkzeug.urls.url_parse
    - <builtin>.filter
    - werkzeug.sansio.utils.host_is_trusted
    - werkzeug.urls.url_quote
    - host.endswith
    - werkzeug.urls.URL.encode
    - ref.startswith
    - rv.decode
    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: 1083
    functionName: werkzeug.datastructures.Headers.__iter__
    functionSourceFile: werkzeug.datastructures
    functionUses: 13
    functionsReached:
    - <builtin>.iter
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - key
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 1042
    functionName: werkzeug.datastructures.Headers.remove
    functionSourceFile: werkzeug.datastructures
    functionUses: 32
    functionsReached:
    - key.lower
    - <builtin>.isinstance
    - werkzeug.datastructures.Headers.__delitem__
    - k.lower
    - new.append
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues:
    - <ast.Tuple object at 0x7fcfe3b20af0>
    argNames:
    - headers
    - allowed
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 1103
    functionName: werkzeug.http.remove_entity_headers
    functionSourceFile: werkzeug.http
    functionUses: 3
    functionsReached:
    - header.lower
    - werkzeug.http.is_entity_header
    - x.lower
    - key.lower
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 2
    IfCount: 3
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - environ
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 7
    functionLinenumber: 571
    functionName: werkzeug.wrappers.response.Response.get_app_iter
    functionSourceFile: werkzeug.wrappers.response
    functionUses: 2
    functionsReached:
    - werkzeug.wrappers.response._warn_if_string
    - werkzeug.wsgi._RangeWrapper._next_chunk
    - <builtin>.len
    - <builtin>.next
    - <builtin>.list
    - werkzeug.wsgi._RangeWrapper._next
    - werkzeug.wsgi._RangeWrapper.__iter__
    - werkzeug.wsgi._RangeWrapper._first_iteration
    - functools.partial
    - warnings.warn
    - <builtin>.iter
    - werkzeug.wsgi.ClosingIterator.__init__
    - werkzeug.wrappers.response.Response.iter_encoded
    - <builtin>.getattr
    - item.encode
    - <builtin>.callable
    - werkzeug.wsgi._RangeWrapper.__next__
    - typing.cast
    - werkzeug.wrappers.response._iter_encoded
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - environ
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 8
    functionLinenumber: 600
    functionName: werkzeug.wrappers.response.Response.get_wsgi_response
    functionSourceFile: werkzeug.wrappers.response
    functionUses: 1
    functionsReached:
    - http.server.BaseHTTPRequestHandler.path.fragment.encode
    - header.lower
    - p.encode
    - typing.NamedTuple.query.decode
    - value.decode
    - <builtin>.next
    - werkzeug.datastructures.Headers._validate_value
    - typing.NamedTuple.fragment.decode
    - werkzeug._internal._make_encode_wrapper.<lambda1>
    - http.server.BaseHTTPRequestHandler.path.query.encode
    - werkzeug.wsgi.get_current_url
    - werkzeug._internal._decode_idna
    - werkzeug.wsgi._RangeWrapper._first_iteration
    - werkzeug.urls.BaseURL.decode_netloc
    - result.append
    - typing.NamedTuple.encode
    - warnings.warn
    - <builtin>.str
    - <builtin>.int
    - werkzeug._internal._decode_idna.decode_part
    - <builtin>.frozenset
    - werkzeug.datastructures.Headers.__delitem__
    - options.items
    - http.server.BaseHTTPRequestHandler.path.find
    - <builtin>.min
    - typing.NamedTuple.fragment.encode
    - new.append
    - <builtin>.any
    - werkzeug.http.quote_header_value
    - werkzeug.urls._unquote_to_bytes
    - typing.NamedTuple.path.encode
    - dict.items
    - safe.encode
    - x.lower
    - http.server.BaseHTTPRequestHandler.path.encode_netloc
    - <builtin>.set
    - key.lower
    - werkzeug._internal._to_bytes
    - werkzeug.urls.iri_to_uri
    - werkzeug.wrappers.response._warn_if_string
    - werkzeug.wsgi._RangeWrapper._next_chunk
    - werkzeug._internal._encode_idna
    - d.items
    - kw.items
    - werkzeug.urls.url_unparse
    - werkzeug.urls.BytesURL.decode
    - typing.NamedTuple.path.split
    - root_path.rstrip
    - typing.NamedTuple.query.encode
    - <builtin>.list
    - werkzeug.datastructures.CombinedMultiDict.items
    - path.split
    - bpath.split
    - value.replace
    - werkzeug.wsgi._RangeWrapper.__iter__
    - path.lstrip
    - werkzeug.datastructures.Headers.to_wsgi_list
    - path.startswith
    - werkzeug.datastructures._unicodify_header_value
    - segments.append
    - rv.append
    - _scheme_re.match
    - <builtin>.iter
    - typing.NamedTuple.query.split
    - domain.encode
    - unsafe.encode
    - domain.split
    - environ.get
    - part.decode
    - item.encode
    - result.extend
    - werkzeug.wsgi._RangeWrapper.__next__
    - werkzeug.http.is_entity_header
    - found.add
    - <builtin>.bytes
    - operator.methodcaller
    - http.server.BaseHTTPRequestHandler.path.encode
    - werkzeug.http.remove_entity_headers
    - werkzeug.datastructures.OrderedMultiDict.items
    - werkzeug.datastructures.iter_multi_items
    - werkzeug.datastructures.MultiDict.items
    - http.server.BaseHTTPRequestHandler.path.fragment.split
    - werkzeug.datastructures.Headers.__iter__
    - werkzeug.wrappers.response.Response.get_app_iter
    - werkzeug.http.dump_options_header
    - typing.NamedTuple.fragment.split
    - werkzeug._internal._check_str_tuple
    - werkzeug.datastructures.Headers.extend
    - <builtin>.len
    - http.server.BaseHTTPRequestHandler.path.query.split
    - rv.extend
    - werkzeug.wrappers.response.Response.get_wsgi_headers
    - werkzeug.urls.url_unquote
    - werkzeug.urls.BytesURL.encode_netloc
    - typing.NamedTuple.__init__
    - werkzeug.sansio.utils.host_is_trusted._normalize
    - functools.partial
    - <builtin>.sum
    - k.replace
    - typing.NamedTuple.split
    - http.server.BaseHTTPRequestHandler.path.split
    - <builtin>.getattr
    - k.lower
    - typing.NamedTuple.path.decode
    - hostname.rsplit
    - werkzeug.urls.uri_to_iri
    - <builtin>.callable
    - werkzeug.wrappers.response._iter_encoded
    - werkzeug.urls.BaseURL.encode_netloc
    - werkzeug.sansio.utils.get_host
    - werkzeug._internal._make_encode_wrapper
    - werkzeug.datastructures.Headers.add
    - <builtin>.bytearray
    - werkzeug._internal._to_str
    - typing.NamedTuple.scheme.decode
    - http.server.BaseHTTPRequestHandler.path.decode
    - werkzeug.datastructures.Headers.remove
    - typing.NamedTuple.decode
    - werkzeug.wsgi._RangeWrapper._next
    - url.append
    - werkzeug.wsgi.get_host
    - werkzeug.wsgi.ClosingIterator.__init__
    - typing.NamedTuple.find
    - werkzeug.sansio.utils.get_current_url
    - werkzeug.wrappers.response.Response.iter_encoded
    - werkzeug.datastructures._options_header_vkw
    - werkzeug.datastructures.Headers.__init__
    - returned_keys.add
    - werkzeug.wsgi._get_server
    - http.server.BaseHTTPRequestHandler.path.decode_netloc
    - typing.cast
    - _hextobyte.items
    - typing.NamedTuple.scheme.encode
    - <builtin>.isinstance
    - werkzeug.urls.url_join
    - werkzeug.urls.url_parse
    - <builtin>.filter
    - werkzeug.sansio.utils.host_is_trusted
    - werkzeug.urls.url_quote
    - host.endswith
    - werkzeug.urls.URL.encode
    - ref.startswith
    - rv.decode
    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: 1276
    functionName: werkzeug.datastructures.Headers.to_wsgi_list
    functionSourceFile: werkzeug.datastructures
    functionUses: 3
    functionsReached:
    - <builtin>.list
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - environ
    - start_response
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 9
    functionLinenumber: 619
    functionName: werkzeug.wrappers.response.Response.__call__
    functionSourceFile: werkzeug.wrappers.response
    functionUses: 0
    functionsReached:
    - http.server.BaseHTTPRequestHandler.path.fragment.encode
    - header.lower
    - p.encode
    - typing.NamedTuple.query.decode
    - value.decode
    - <builtin>.next
    - werkzeug.datastructures.Headers._validate_value
    - typing.NamedTuple.fragment.decode
    - werkzeug._internal._make_encode_wrapper.<lambda1>
    - http.server.BaseHTTPRequestHandler.path.query.encode
    - werkzeug.wsgi.get_current_url
    - werkzeug._internal._decode_idna
    - werkzeug.wsgi._RangeWrapper._first_iteration
    - werkzeug.urls.BaseURL.decode_netloc
    - result.append
    - typing.NamedTuple.encode
    - warnings.warn
    - <builtin>.str
    - <builtin>.int
    - werkzeug._internal._decode_idna.decode_part
    - <builtin>.frozenset
    - werkzeug.datastructures.Headers.__delitem__
    - options.items
    - http.server.BaseHTTPRequestHandler.path.find
    - <builtin>.min
    - typing.NamedTuple.fragment.encode
    - new.append
    - <builtin>.any
    - werkzeug.http.quote_header_value
    - werkzeug.urls._unquote_to_bytes
    - typing.NamedTuple.path.encode
    - dict.items
    - safe.encode
    - x.lower
    - http.server.BaseHTTPRequestHandler.path.encode_netloc
    - <builtin>.set
    - key.lower
    - werkzeug._internal._to_bytes
    - werkzeug.urls.iri_to_uri
    - werkzeug.wrappers.response._warn_if_string
    - werkzeug.wsgi._RangeWrapper._next_chunk
    - werkzeug._internal._encode_idna
    - d.items
    - kw.items
    - werkzeug.urls.url_unparse
    - werkzeug.urls.BytesURL.decode
    - typing.NamedTuple.path.split
    - root_path.rstrip
    - typing.NamedTuple.query.encode
    - <builtin>.list
    - werkzeug.datastructures.CombinedMultiDict.items
    - path.split
    - bpath.split
    - value.replace
    - werkzeug.wsgi._RangeWrapper.__iter__
    - path.lstrip
    - werkzeug.datastructures.Headers.to_wsgi_list
    - path.startswith
    - werkzeug.datastructures._unicodify_header_value
    - segments.append
    - rv.append
    - _scheme_re.match
    - <builtin>.iter
    - typing.NamedTuple.query.split
    - domain.encode
    - unsafe.encode
    - domain.split
    - environ.get
    - part.decode
    - item.encode
    - result.extend
    - werkzeug.wsgi._RangeWrapper.__next__
    - werkzeug.http.is_entity_header
    - found.add
    - <builtin>.bytes
    - operator.methodcaller
    - http.server.BaseHTTPRequestHandler.path.encode
    - werkzeug.http.remove_entity_headers
    - werkzeug.datastructures.OrderedMultiDict.items
    - werkzeug.datastructures.iter_multi_items
    - werkzeug.datastructures.MultiDict.items
    - http.server.BaseHTTPRequestHandler.path.fragment.split
    - werkzeug.datastructures.Headers.__iter__
    - werkzeug.wrappers.response.Response.get_app_iter
    - werkzeug.http.dump_options_header
    - typing.NamedTuple.fragment.split
    - werkzeug._internal._check_str_tuple
    - werkzeug.datastructures.Headers.extend
    - <builtin>.len
    - http.server.BaseHTTPRequestHandler.path.query.split
    - rv.extend
    - werkzeug.wrappers.response.Response.get_wsgi_headers
    - werkzeug.urls.url_unquote
    - werkzeug.urls.BytesURL.encode_netloc
    - typing.NamedTuple.__init__
    - werkzeug.sansio.utils.host_is_trusted._normalize
    - functools.partial
    - <builtin>.sum
    - k.replace
    - typing.NamedTuple.split
    - http.server.BaseHTTPRequestHandler.path.split
    - <builtin>.getattr
    - k.lower
    - typing.NamedTuple.path.decode
    - hostname.rsplit
    - werkzeug.urls.uri_to_iri
    - <builtin>.callable
    - werkzeug.wrappers.response._iter_encoded
    - werkzeug.urls.BaseURL.encode_netloc
    - werkzeug.sansio.utils.get_host
    - werkzeug._internal._make_encode_wrapper
    - werkzeug.datastructures.Headers.add
    - <builtin>.bytearray
    - werkzeug._internal._to_str
    - typing.NamedTuple.scheme.decode
    - http.server.BaseHTTPRequestHandler.path.decode
    - werkzeug.datastructures.Headers.remove
    - typing.NamedTuple.decode
    - werkzeug.wsgi._RangeWrapper._next
    - werkzeug.wrappers.response.Response.get_wsgi_response
    - url.append
    - werkzeug.wsgi.get_host
    - werkzeug.wsgi.ClosingIterator.__init__
    - typing.NamedTuple.find
    - werkzeug.sansio.utils.get_current_url
    - werkzeug.wrappers.response.Response.iter_encoded
    - werkzeug.datastructures._options_header_vkw
    - werkzeug.datastructures.Headers.__init__
    - returned_keys.add
    - werkzeug.wsgi._get_server
    - http.server.BaseHTTPRequestHandler.path.decode_netloc
    - typing.cast
    - _hextobyte.items
    - typing.NamedTuple.scheme.encode
    - <builtin>.isinstance
    - werkzeug.urls.url_join
    - werkzeug.urls.url_parse
    - <builtin>.filter
    - werkzeug.sansio.utils.host_is_trusted
    - werkzeug.urls.url_quote
    - host.endswith
    - werkzeug.urls.URL.encode
    - ref.startswith
    - rv.decode
    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: 11
    functionLinenumber: 640
    functionName: werkzeug.wrappers.response.Response.json
    functionSourceFile: werkzeug.wrappers.response
    functionUses: 0
    functionsReached:
    - werkzeug.wrappers.response.Response.get_json
    - werkzeug.wrappers.response._warn_if_string
    - werkzeug.wsgi._RangeWrapper._next_chunk
    - app.blueprints.get
    - <builtin>.len
    - <builtin>.next
    - <builtin>.list
    - werkzeug.wsgi._RangeWrapper._next
    - werkzeug.wsgi._RangeWrapper.__iter__
    - flask.json._load_arg_defaults
    - werkzeug.wsgi._RangeWrapper._first_iteration
    - json.loads
    - warnings.warn
    - werkzeug.wrappers.response.Response.call_on_close
    - werkzeug.wrappers.response.Response.iter_encoded
    - <builtin>.getattr
    - item.encode
    - werkzeug.wsgi._RangeWrapper.__next__
    - werkzeug.wrappers.response.Response.make_sequence
    - werkzeug.wrappers.response.Response.get_data
    - werkzeug.wrappers.response._iter_encoded
    - <builtin>.isinstance
    - flask.json.loads
    - kwargs.setdefault
    - rv.decode
    - werkzeug.wrappers.response.Response._ensure_sequence
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe168c520>
    - <ast.Constant object at 0x7fcfe168c4f0>
    argNames:
    - self
    - force
    - silent
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 10
    functionLinenumber: 648
    functionName: werkzeug.wrappers.response.Response.get_json
    functionSourceFile: werkzeug.wrappers.response
    functionUses: 1
    functionsReached:
    - werkzeug.wrappers.response._warn_if_string
    - werkzeug.wsgi._RangeWrapper._next_chunk
    - app.blueprints.get
    - <builtin>.len
    - <builtin>.next
    - <builtin>.list
    - werkzeug.wsgi._RangeWrapper._next
    - werkzeug.wsgi._RangeWrapper.__iter__
    - flask.json._load_arg_defaults
    - werkzeug.wsgi._RangeWrapper._first_iteration
    - json.loads
    - warnings.warn
    - werkzeug.wrappers.response.Response.call_on_close
    - werkzeug.wrappers.response.Response.iter_encoded
    - <builtin>.getattr
    - item.encode
    - werkzeug.wsgi._RangeWrapper.__next__
    - werkzeug.wrappers.response.Response.make_sequence
    - werkzeug.wrappers.response.Response.get_data
    - werkzeug.wrappers.response._iter_encoded
    - <builtin>.isinstance
    - flask.json.loads
    - kwargs.setdefault
    - rv.decode
    - werkzeug.wrappers.response.Response._ensure_sequence
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe47f0c10>
    argNames:
    - s
    - app
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 157
    functionName: flask.json.loads
    functionSourceFile: flask.json
    functionUses: 4
    functionsReached:
    - json.loads
    - flask.json._load_arg_defaults
    - kwargs.setdefault
    - app.blueprints.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: werkzeug.utils.cached_property
    functionSourceFile: ''
    functionUses: 10
    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: 677
    functionName: werkzeug.wrappers.response.Response.stream
    functionSourceFile: werkzeug.wrappers.response
    functionUses: 0
    functionsReached:
    - werkzeug.wrappers.response.ResponseStream.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - response
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 843
    functionName: werkzeug.wrappers.response.ResponseStream.__init__
    functionSourceFile: ''
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - start
    - length
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 681
    functionName: werkzeug.wrappers.response.Response._wrap_range_response
    functionSourceFile: werkzeug.wrappers.response
    functionUses: 2
    functionsReached:
    - <builtin>.iter
    - werkzeug.wsgi._RangeWrapper.__init__
    - <builtin>.hasattr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - environ
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 686
    functionName: werkzeug.wrappers.response.Response._is_range_request_processable
    functionSourceFile: werkzeug.wrappers.response
    functionUses: 2
    functionsReached:
    - match.end
    - werkzeug.http.unquote_etag
    - key.lower
    - strong.append
    - werkzeug.http.is_resource_modified
    - werkzeug.http.parse_if_range_header
    - werkzeug.http.parse_etags
    - <builtin>.len
    - weak.append
    - werkzeug.datastructures.ETags.is_strong
    - value.decode
    - werkzeug.datastructures.ETags.contains
    - werkzeug.datastructures.ETags.contains_weak
    - email.utils.parsedate_to_datetime
    - werkzeug.datastructures.ETags.is_weak
    - match.groups
    - etag.strip
    - werkzeug.datastructures.Headers.__getitem__
    - _etag_re.match
    - werkzeug.datastructures._unicodify_header_value
    - time.mktime.astimezone
    - time.mktime.replace
    - werkzeug.datastructures.IfRange.__init__
    - <builtin>.str
    - dt.replace
    - etag.startswith
    - werkzeug.datastructures.ETags.__init__
    - <builtin>.frozenset
    - key.upper
    - environ.get
    - k.lower
    - werkzeug.datastructures.Headers.get
    - werkzeug._internal._dt_as_utc
    - werkzeug.http.parse_date
    - hashlib.sha1.hexdigest
    - werkzeug.datastructures.EnvironHeaders.__getitem__
    - typing.cast
    - <builtin>.isinstance
    - hashlib.sha1
    - rv.encode
    - werkzeug.http.generate_etag
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 2
    IfCount: 3
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe1689b50>
    - <ast.Constant object at 0x7fcfe1689b20>
    argNames:
    - self
    - environ
    - complete_length
    - accept_ranges
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 701
    functionName: werkzeug.wrappers.response.Response._process_range_request
    functionSourceFile: werkzeug.wrappers.response
    functionUses: 1
    functionsReached:
    - werkzeug.http.parse_range_header
    - ranges.append
    - end_str.isdigit
    - item.startswith
    - werkzeug.http.unquote_etag
    - match.end
    - strong.append
    - key.lower
    - werkzeug.http.is_resource_modified
    - units.strip
    - begin_str.isdigit
    - werkzeug.http.parse_if_range_header
    - werkzeug.http.parse_etags
    - <builtin>.hasattr
    - <builtin>.len
    - werkzeug.datastructures.ETags.is_strong
    - weak.append
    - value.decode
    - werkzeug.datastructures.Range.range_for_length
    - werkzeug.datastructures.Range.to_content_range_header
    - werkzeug.datastructures.ETags.contains
    - werkzeug.datastructures.ETags.contains_weak
    - email.utils.parsedate_to_datetime
    - match.groups
    - werkzeug.datastructures.ETags.is_weak
    - etag.strip
    - werkzeug.datastructures.Headers.__getitem__
    - _etag_re.match
    - werkzeug.datastructures._unicodify_header_value
    - werkzeug.http.is_byte_range_valid
    - time.mktime.astimezone
    - time.mktime.replace
    - werkzeug.wrappers.response.Response._is_range_request_processable
    - werkzeug.wsgi._RangeWrapper.__init__
    - werkzeug.datastructures.IfRange.__init__
    - <builtin>.iter
    - item.strip
    - begin_str.strip
    - werkzeug.datastructures.Range.__init__
    - <builtin>.int
    - dt.replace
    - <builtin>.str
    - etag.startswith
    - werkzeug.datastructures.ETags.__init__
    - <builtin>.frozenset
    - value.split
    - key.upper
    - <builtin>.min
    - environ.get
    - k.lower
    - rng.split
    - werkzeug.datastructures.Headers.get
    - werkzeug._internal._dt_as_utc
    - werkzeug.http.parse_date
    - hashlib.sha1.hexdigest
    - werkzeug.datastructures.EnvironHeaders.__getitem__
    - end_str.strip
    - typing.cast
    - <builtin>.isinstance
    - hashlib.sha1
    - rv.encode
    - werkzeug.wrappers.response.Response._wrap_range_response
    - item.split
    - werkzeug.http.generate_etag
    linkageType: pythonLinkage
    raised:
    - RequestedRangeNotSatisfiable
    returnType: N/A
  - BBCount: 10
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 15
    ICount: 2
    IfCount: 10
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe3b3c2b0>
    argNames:
    - value
    - make_inclusive
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 741
    functionName: werkzeug.http.parse_range_header
    functionSourceFile: werkzeug.http
    functionUses: 3
    functionsReached:
    - ranges.append
    - end_str.isdigit
    - item.startswith
    - end_str.strip
    - item.strip
    - begin_str.strip
    - werkzeug.datastructures.Range.__init__
    - begin_str.isdigit
    - units.strip
    - <builtin>.int
    - value.split
    - rng.split
    - item.split
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 1
    IfCount: 4
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - length
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 2510
    functionName: werkzeug.datastructures.Range.range_for_length
    functionSourceFile: werkzeug.datastructures
    functionUses: 4
    functionsReached:
    - <builtin>.len
    - werkzeug.http.is_byte_range_valid
    - <builtin>.min
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - length
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 2545
    functionName: werkzeug.datastructures.Range.to_content_range_header
    functionSourceFile: werkzeug.datastructures
    functionUses: 2
    functionsReached:
    - werkzeug.datastructures.Range.range_for_length
    - <builtin>.len
    - werkzeug.http.is_byte_range_valid
    - <builtin>.min
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 9
    ICount: 1
    IfCount: 6
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe1680280>
    - <ast.Constant object at 0x7fcfe1680250>
    argNames:
    - self
    - request_or_environ
    - accept_ranges
    - complete_length
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 10
    functionLinenumber: 749
    functionName: werkzeug.wrappers.response.Response.make_conditional
    functionSourceFile: werkzeug.wrappers.response
    functionUses: 0
    functionsReached:
    - email.utils.format_datetime
    - units.strip
    - werkzeug.datastructures.ETags.is_strong
    - datetime.datetime.combine
    - value.decode
    - <builtin>.next
    - werkzeug.datastructures.Range.range_for_length
    - werkzeug.datastructures.Range.to_content_range_header
    - werkzeug.datastructures.ETags.contains_weak
    - werkzeug.datastructures.Headers.__getitem__
    - werkzeug.wsgi._RangeWrapper._first_iteration
    - werkzeug.http.is_byte_range_valid
    - warnings.warn
    - <builtin>.str
    - item.strip
    - begin_str.strip
    - werkzeug.datastructures.Range.__init__
    - <builtin>.int
    - dt.replace
    - <builtin>.frozenset
    - <builtin>.min
    - rng.split
    - werkzeug.wrappers.response.Response.make_sequence
    - time.mktime
    - email.utils.formatdate
    - hashlib.sha1
    - item.split
    - key.lower
    - werkzeug.wrappers.response._warn_if_string
    - werkzeug.wsgi._RangeWrapper._next_chunk
    - werkzeug.http.parse_if_range_header
    - <builtin>.list
    - werkzeug.http.http_date
    - werkzeug.wsgi._RangeWrapper.__iter__
    - etag.strip
    - werkzeug.datastructures._unicodify_header_value
    - datetime.time
    - werkzeug.datastructures.IfRange.__init__
    - <builtin>.iter
    - value.split
    - environ.get
    - werkzeug.datastructures.Headers.get
    - item.encode
    - <builtin>.type
    - werkzeug.wsgi._RangeWrapper.__next__
    - rv.encode
    - werkzeug.wrappers.response.Response._ensure_sequence
    - ranges.append
    - match.end
    - item.startswith
    - werkzeug.http.unquote_etag
    - <builtin>.hasattr
    - <builtin>.len
    - werkzeug.wrappers.response.Response.calculate_content_length
    - <builtin>.sum
    - time.mktime.replace
    - werkzeug.datastructures.ETags.__init__
    - key.upper
    - <builtin>.getattr
    - k.lower
    - werkzeug._internal._dt_as_utc
    - werkzeug.wrappers.response._iter_encoded
    - werkzeug.wrappers.response.Response._wrap_range_response
    - werkzeug.http.generate_etag
    - werkzeug.http.parse_range_header
    - end_str.isdigit
    - strong.append
    - werkzeug.http.is_resource_modified
    - begin_str.isdigit
    - werkzeug.http.parse_etags
    - werkzeug._internal._get_environ
    - weak.append
    - werkzeug.datastructures.ETags.contains
    - werkzeug.wsgi._RangeWrapper._next
    - email.utils.parsedate_to_datetime
    - match.groups
    - werkzeug.datastructures.ETags.is_weak
    - _etag_re.match
    - time.mktime.astimezone
    - werkzeug.wrappers.response._clean_accept_ranges
    - werkzeug.wrappers.response.Response._is_range_request_processable
    - werkzeug.wsgi._RangeWrapper.__init__
    - werkzeug.wrappers.response.Response._process_range_request
    - werkzeug.wrappers.response.Response.call_on_close
    - etag.startswith
    - werkzeug.wrappers.response.Response.iter_encoded
    - werkzeug.http.parse_date
    - hashlib.sha1.hexdigest
    - werkzeug.datastructures.EnvironHeaders.__getitem__
    - end_str.strip
    - typing.cast
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 3
    IfCount: 5
    argCount: 1
    argDefaultValues: []
    argNames:
    - value
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 884
    functionName: werkzeug.http.parse_etags
    functionSourceFile: werkzeug.http
    functionUses: 7
    functionsReached:
    - match.end
    - strong.append
    - <builtin>.frozenset
    - werkzeug.datastructures.ETags.__init__
    - match.groups
    - _etag_re.match
    - <builtin>.len
    - weak.append
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - data
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 913
    functionName: werkzeug.http.generate_etag
    functionSourceFile: werkzeug.http
    functionUses: 8
    functionsReached:
    - hashlib.sha1.hexdigest
    - hashlib.sha1
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - value
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 9
    functionLinenumber: 847
    functionName: werkzeug.wrappers.response.ResponseStream.write
    functionSourceFile: werkzeug.wrappers.response
    functionUses: 1
    functionsReached:
    - key.lower
    - werkzeug.wrappers.response._warn_if_string
    - werkzeug.wsgi._RangeWrapper._next_chunk
    - <builtin>.len
    - <builtin>.next
    - werkzeug.datastructures.Headers.remove
    - <builtin>.list
    - werkzeug.wsgi._RangeWrapper._next
    - werkzeug.wsgi._RangeWrapper.__iter__
    - werkzeug.wsgi._RangeWrapper._first_iteration
    - warnings.warn
    - werkzeug.wrappers.response.Response.call_on_close
    - werkzeug.datastructures.Headers.pop
    - werkzeug.datastructures.Headers.__delitem__
    - werkzeug.wrappers.response.Response.iter_encoded
    - <builtin>.getattr
    - k.lower
    - new.append
    - item.encode
    - werkzeug.wsgi._RangeWrapper.__next__
    - werkzeug.wrappers.response.Response.make_sequence
    - werkzeug.wrappers.response._iter_encoded
    - <builtin>.isinstance
    - werkzeug.wrappers.response.Response._ensure_sequence
    linkageType: pythonLinkage
    raised:
    - ValueError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - seq
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 10
    functionLinenumber: 855
    functionName: werkzeug.wrappers.response.ResponseStream.writelines
    functionSourceFile: werkzeug.wrappers.response
    functionUses: 0
    functionsReached:
    - key.lower
    - werkzeug.wrappers.response._warn_if_string
    - werkzeug.wsgi._RangeWrapper._next_chunk
    - <builtin>.len
    - <builtin>.next
    - werkzeug.datastructures.Headers.remove
    - <builtin>.list
    - werkzeug.wsgi._RangeWrapper._next
    - werkzeug.wsgi._RangeWrapper.__iter__
    - werkzeug.wsgi._RangeWrapper._first_iteration
    - werkzeug.wrappers.response.ResponseStream.write
    - warnings.warn
    - werkzeug.wrappers.response.Response.call_on_close
    - werkzeug.datastructures.Headers.pop
    - werkzeug.datastructures.Headers.__delitem__
    - werkzeug.wrappers.response.Response.iter_encoded
    - <builtin>.getattr
    - k.lower
    - new.append
    - item.encode
    - werkzeug.wsgi._RangeWrapper.__next__
    - werkzeug.wrappers.response.Response.make_sequence
    - werkzeug.wrappers.response._iter_encoded
    - <builtin>.isinstance
    - werkzeug.wrappers.response.Response._ensure_sequence
    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: 859
    functionName: werkzeug.wrappers.response.ResponseStream.close
    functionSourceFile: werkzeug.wrappers.response
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 862
    functionName: werkzeug.wrappers.response.ResponseStream.flush
    functionSourceFile: werkzeug.wrappers.response
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - ValueError
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 866
    functionName: werkzeug.wrappers.response.ResponseStream.isatty
    functionSourceFile: werkzeug.wrappers.response
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - ValueError
    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: 9
    functionLinenumber: 871
    functionName: werkzeug.wrappers.response.ResponseStream.tell
    functionSourceFile: werkzeug.wrappers.response
    functionUses: 0
    functionsReached:
    - werkzeug.wrappers.response._warn_if_string
    - werkzeug.wsgi._RangeWrapper._next_chunk
    - <builtin>.len
    - <builtin>.next
    - <builtin>.list
    - werkzeug.wsgi._RangeWrapper._next
    - werkzeug.wsgi._RangeWrapper.__iter__
    - werkzeug.wsgi._RangeWrapper._first_iteration
    - <builtin>.sum
    - <builtin>.map
    - warnings.warn
    - werkzeug.wrappers.response.Response.call_on_close
    - werkzeug.wrappers.response.Response.iter_encoded
    - <builtin>.getattr
    - item.encode
    - werkzeug.wsgi._RangeWrapper.__next__
    - werkzeug.wrappers.response.Response.make_sequence
    - werkzeug.wrappers.response._iter_encoded
    - <builtin>.isinstance
    - werkzeug.wrappers.response.Response._ensure_sequence
    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: 876
    functionName: werkzeug.wrappers.response.ResponseStream.encoding
    functionSourceFile: werkzeug.wrappers.response
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: werkzeug.datastructures
    functionSourceFile: werkzeug.datastructures
    functionUses: 0
    functionsReached:
    - re.compile
    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: 17
    functionName: werkzeug.datastructures.is_immutable
    functionSourceFile: werkzeug.datastructures
    functionUses: 37
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - TypeError
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    IfCount: 2
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe4973610>
    argNames:
    - self
    - multi
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 734
    functionName: werkzeug.datastructures.OrderedMultiDict.items
    functionSourceFile: werkzeug.datastructures
    functionUses: 113
    functionsReached:
    - <builtin>.set
    - returned_keys.add
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    IfCount: 2
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe26a3280>
    argNames:
    - self
    - multi
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1475
    functionName: werkzeug.datastructures.CombinedMultiDict.items
    functionSourceFile: werkzeug.datastructures
    functionUses: 120
    functionsReached:
    - <builtin>.set
    - d.items
    - found.add
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe1d782b0>
    argNames:
    - self
    - multi
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 477
    functionName: werkzeug.datastructures.MultiDict.items
    functionSourceFile: werkzeug.datastructures
    functionUses: 107
    functionsReached:
    - dict.items
    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: 48
    functionName: werkzeug.datastructures.ImmutableListMixin.__hash__
    functionSourceFile: werkzeug.datastructures
    functionUses: 0
    functionsReached:
    - <builtin>.hash
    - <builtin>.tuple
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.tuple
    functionSourceFile: <builtin>
    functionUses: 59
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.hash
    functionSourceFile: <builtin>
    functionUses: 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
    - protocol
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 54
    functionName: werkzeug.datastructures.ImmutableListMixin.__reduce_ex__
    functionSourceFile: werkzeug.datastructures
    functionUses: 0
    functionsReached:
    - <builtin>.type
    - <builtin>.list
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - key
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 57
    functionName: werkzeug.datastructures.ImmutableListMixin.__delitem__
    functionSourceFile: werkzeug.datastructures
    functionUses: 0
    functionsReached:
    - werkzeug.datastructures.is_immutable
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - other
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 60
    functionName: werkzeug.datastructures.ImmutableListMixin.__iadd__
    functionSourceFile: werkzeug.datastructures
    functionUses: 0
    functionsReached:
    - werkzeug.datastructures.is_immutable
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - other
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 63
    functionName: werkzeug.datastructures.ImmutableListMixin.__imul__
    functionSourceFile: werkzeug.datastructures
    functionUses: 0
    functionsReached:
    - werkzeug.datastructures.is_immutable
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - key
    - value
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 66
    functionName: werkzeug.datastructures.ImmutableListMixin.__setitem__
    functionSourceFile: werkzeug.datastructures
    functionUses: 0
    functionsReached:
    - werkzeug.datastructures.is_immutable
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - item
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 69
    functionName: werkzeug.datastructures.ImmutableListMixin.append
    functionSourceFile: werkzeug.datastructures
    functionUses: 0
    functionsReached:
    - werkzeug.datastructures.is_immutable
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - item
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 72
    functionName: werkzeug.datastructures.ImmutableListMixin.remove
    functionSourceFile: werkzeug.datastructures
    functionUses: 0
    functionsReached:
    - werkzeug.datastructures.is_immutable
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - iterable
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 75
    functionName: werkzeug.datastructures.ImmutableListMixin.extend
    functionSourceFile: werkzeug.datastructures
    functionUses: 0
    functionsReached:
    - werkzeug.datastructures.is_immutable
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - pos
    - value
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 78
    functionName: werkzeug.datastructures.ImmutableListMixin.insert
    functionSourceFile: werkzeug.datastructures
    functionUses: 0
    functionsReached:
    - werkzeug.datastructures.is_immutable
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues:
    - <ast.UnaryOp object at 0x7fcfe26a41f0>
    argNames:
    - self
    - index
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 81
    functionName: werkzeug.datastructures.ImmutableListMixin.pop
    functionSourceFile: werkzeug.datastructures
    functionUses: 0
    functionsReached:
    - werkzeug.datastructures.is_immutable
    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: 84
    functionName: werkzeug.datastructures.ImmutableListMixin.reverse
    functionSourceFile: werkzeug.datastructures
    functionUses: 0
    functionsReached:
    - werkzeug.datastructures.is_immutable
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe1d7adf0>
    - <ast.Constant object at 0x7fcfe1d7adc0>
    argNames:
    - self
    - key
    - reverse
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 87
    functionName: werkzeug.datastructures.ImmutableListMixin.sort
    functionSourceFile: werkzeug.datastructures
    functionUses: 0
    functionsReached:
    - werkzeug.datastructures.is_immutable
    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: 99
    functionName: werkzeug.datastructures.ImmutableList.__repr__
    functionSourceFile: werkzeug.datastructures
    functionUses: 0
    functionsReached:
    - <builtin>.type
    - list.__repr__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: list.__repr__
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe1d7a5b0>
    argNames:
    - cls
    - keys
    - value
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 114
    functionName: werkzeug.datastructures.ImmutableDictMixin.fromkeys
    functionSourceFile: werkzeug.datastructures
    functionUses: 0
    functionsReached:
    - <builtin>.zip
    - instance.__init__
    - <builtin>.super
    - itertools.repeat
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: itertools.repeat
    functionSourceFile: itertools
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.zip
    functionSourceFile: <builtin>
    functionUses: 10
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: instance.__init__
    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
    - protocol
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 119
    functionName: werkzeug.datastructures.ImmutableDictMixin.__reduce_ex__
    functionSourceFile: werkzeug.datastructures
    functionUses: 0
    functionsReached:
    - <builtin>.dict
    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: 122
    functionName: werkzeug.datastructures.ImmutableDictMixin._iter_hashitems
    functionSourceFile: werkzeug.datastructures
    functionUses: 1
    functionsReached:
    - werkzeug.datastructures.CombinedMultiDict.items
    - <builtin>.set
    - d.items
    - found.add
    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: 3
    functionLinenumber: 125
    functionName: werkzeug.datastructures.ImmutableDictMixin.__hash__
    functionSourceFile: werkzeug.datastructures
    functionUses: 0
    functionsReached:
    - found.add
    - werkzeug.datastructures.CombinedMultiDict.items
    - <builtin>.frozenset
    - <builtin>.set
    - d.items
    - werkzeug.datastructures.ImmutableDictMixin._iter_hashitems
    - <builtin>.hash
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe1d83f70>
    argNames:
    - self
    - key
    - default
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 131
    functionName: werkzeug.datastructures.ImmutableDictMixin.setdefault
    functionSourceFile: werkzeug.datastructures
    functionUses: 0
    functionsReached:
    - werkzeug.datastructures.is_immutable
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 134
    functionName: werkzeug.datastructures.ImmutableDictMixin.update
    functionSourceFile: werkzeug.datastructures
    functionUses: 0
    functionsReached:
    - werkzeug.datastructures.is_immutable
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe1d83b80>
    argNames:
    - self
    - key
    - default
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 137
    functionName: werkzeug.datastructures.ImmutableDictMixin.pop
    functionSourceFile: werkzeug.datastructures
    functionUses: 0
    functionsReached:
    - werkzeug.datastructures.is_immutable
    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: 140
    functionName: werkzeug.datastructures.ImmutableDictMixin.popitem
    functionSourceFile: werkzeug.datastructures
    functionUses: 0
    functionsReached:
    - werkzeug.datastructures.is_immutable
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - key
    - value
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 143
    functionName: werkzeug.datastructures.ImmutableDictMixin.__setitem__
    functionSourceFile: werkzeug.datastructures
    functionUses: 0
    functionsReached:
    - werkzeug.datastructures.is_immutable
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - key
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 146
    functionName: werkzeug.datastructures.ImmutableDictMixin.__delitem__
    functionSourceFile: werkzeug.datastructures
    functionUses: 0
    functionsReached:
    - werkzeug.datastructures.is_immutable
    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: 149
    functionName: werkzeug.datastructures.ImmutableDictMixin.clear
    functionSourceFile: werkzeug.datastructures
    functionUses: 0
    functionsReached:
    - werkzeug.datastructures.is_immutable
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - protocol
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 161
    functionName: werkzeug.datastructures.ImmutableMultiDictMixin.__reduce_ex__
    functionSourceFile: werkzeug.datastructures
    functionUses: 0
    functionsReached:
    - <builtin>.type
    - found.add
    - werkzeug.datastructures.CombinedMultiDict.items
    - <builtin>.list
    - <builtin>.set
    - d.items
    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: 164
    functionName: werkzeug.datastructures.ImmutableMultiDictMixin._iter_hashitems
    functionSourceFile: werkzeug.datastructures
    functionUses: 0
    functionsReached:
    - werkzeug.datastructures.CombinedMultiDict.items
    - <builtin>.set
    - d.items
    - found.add
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - key
    - value
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 167
    functionName: werkzeug.datastructures.ImmutableMultiDictMixin.add
    functionSourceFile: werkzeug.datastructures
    functionUses: 0
    functionsReached:
    - werkzeug.datastructures.is_immutable
    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: 170
    functionName: werkzeug.datastructures.ImmutableMultiDictMixin.popitemlist
    functionSourceFile: werkzeug.datastructures
    functionUses: 0
    functionsReached:
    - werkzeug.datastructures.is_immutable
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - key
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 173
    functionName: werkzeug.datastructures.ImmutableMultiDictMixin.poplist
    functionSourceFile: werkzeug.datastructures
    functionUses: 0
    functionsReached:
    - werkzeug.datastructures.is_immutable
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - key
    - new_list
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 176
    functionName: werkzeug.datastructures.ImmutableMultiDictMixin.setlist
    functionSourceFile: werkzeug.datastructures
    functionUses: 0
    functionsReached:
    - werkzeug.datastructures.is_immutable
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe4b3d6d0>
    argNames:
    - self
    - key
    - default_list
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 179
    functionName: werkzeug.datastructures.ImmutableMultiDictMixin.setlistdefault
    functionSourceFile: werkzeug.datastructures
    functionUses: 0
    functionsReached:
    - werkzeug.datastructures.is_immutable
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - name
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 183
    functionName: werkzeug.datastructures._calls_update
    functionSourceFile: werkzeug.datastructures
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - args
    - kw
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 184
    functionName: werkzeug.datastructures._calls_update.oncall
    functionSourceFile: werkzeug.datastructures
    functionUses: 0
    functionsReached:
    - <builtin>.super
    - <builtin>.getattr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe2c88f70>
    argNames:
    - self
    - key
    - default
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 206
    functionName: werkzeug.datastructures.UpdateDictMixin.setdefault
    functionSourceFile: werkzeug.datastructures
    functionUses: 0
    functionsReached:
    - werkzeug.http.dump_options_header
    - werkzeug.test.EnvironBuilder.mimetype_params.on_update
    - werkzeug.datastructures.WWWAuthenticate.to_header
    - d.items
    - werkzeug.sansio.response.Response.content_security_policy.on_update
    - <builtin>.dict
    - value.decode
    - werkzeug.http.dump_csp_header
    - value.replace
    - werkzeug.sansio.response.Response.content_security_policy_report_only.on_update
    - segments.append
    - <builtin>.str
    - header.items
    - auth_type.title
    - options.items
    - werkzeug.sansio.response.Response.mimetype_params.on_update
    - werkzeug.sansio.response.Response.www_authenticate.on_update
    - werkzeug.http.quote_header_value
    - werkzeug.datastructures.ContentSecurityPolicy.to_header
    - <builtin>.isinstance
    - <builtin>.super
    - d.pop
    - <builtin>.set
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - d
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 578
    functionName: werkzeug.test.EnvironBuilder.mimetype_params.on_update
    functionSourceFile: werkzeug.test
    functionUses: 5
    functionsReached:
    - werkzeug.http.dump_options_header
    - value.decode
    - <builtin>.str
    - <builtin>.isinstance
    - value.replace
    - options.items
    - <builtin>.set
    - werkzeug.http.quote_header_value
    - segments.append
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 3
    argDefaultValues:
    - <ast.Name object at 0x7fcfe10ab280>
    argNames:
    - self
    - key
    - default
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 213
    functionName: werkzeug.datastructures.UpdateDictMixin.pop
    functionSourceFile: werkzeug.datastructures
    functionUses: 3
    functionsReached:
    - werkzeug.http.dump_options_header
    - werkzeug.test.EnvironBuilder.mimetype_params.on_update
    - werkzeug.datastructures.WWWAuthenticate.to_header
    - d.items
    - werkzeug.sansio.response.Response.content_security_policy.on_update
    - <builtin>.dict
    - value.decode
    - werkzeug.http.dump_csp_header
    - value.replace
    - werkzeug.sansio.response.Response.content_security_policy_report_only.on_update
    - segments.append
    - <builtin>.str
    - header.items
    - auth_type.title
    - options.items
    - werkzeug.sansio.response.Response.mimetype_params.on_update
    - werkzeug.sansio.response.Response.www_authenticate.on_update
    - werkzeug.http.quote_header_value
    - werkzeug.datastructures.ContentSecurityPolicy.to_header
    - <builtin>.isinstance
    - <builtin>.super
    - d.pop
    - <builtin>.set
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: werkzeug.datastructures.UpdateDictMixin
    functionSourceFile: werkzeug.datastructures
    functionUses: 0
    functionsReached:
    - werkzeug.datastructures._calls_update
    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 0x7fcfe49a37f0>
    - <ast.Constant object at 0x7fcfe49a30a0>
    argNames:
    - self
    - key
    - default
    - type
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 238
    functionName: werkzeug.datastructures.TypeConversionDict.get
    functionSourceFile: werkzeug.datastructures
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 278
    functionName: werkzeug.datastructures.ImmutableTypeConversionDict.copy
    functionSourceFile: werkzeug.datastructures
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 285
    functionName: werkzeug.datastructures.ImmutableTypeConversionDict.__copy__
    functionSourceFile: werkzeug.datastructures
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 748
    functionName: werkzeug.datastructures.OrderedMultiDict.lists
    functionSourceFile: werkzeug.datastructures
    functionUses: 53
    functionsReached:
    - werkzeug.datastructures.OrderedMultiDict.getlist
    - dict.__getitem__
    - <builtin>.set
    - returned_keys.add
    - result.append
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1489
    functionName: werkzeug.datastructures.CombinedMultiDict.lists
    functionSourceFile: werkzeug.datastructures
    functionUses: 53
    functionsReached:
    - d.lists
    - rv.items
    - <builtin>.list
    - rv.setdefault
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 491
    functionName: werkzeug.datastructures.MultiDict.lists
    functionSourceFile: werkzeug.datastructures
    functionUses: 51
    functionsReached:
    - <builtin>.list
    - dict.items
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: dict.__init__
    functionSourceFile: <builtin>
    functionUses: 65
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: tmp.setdefault
    functionSourceFile: <builtin>
    functionUses: 47
    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: 3
    functionLinenumber: 350
    functionName: werkzeug.datastructures.MultiDict.__getstate__
    functionSourceFile: werkzeug.datastructures
    functionUses: 0
    functionsReached:
    - d.lists
    - werkzeug.datastructures.OrderedMultiDict.getlist
    - rv.setdefault
    - dict.items
    - <builtin>.list
    - dict.__getitem__
    - rv.items
    - werkzeug.datastructures.MultiDict.lists
    - werkzeug.datastructures.CombinedMultiDict.lists
    - <builtin>.set
    - returned_keys.add
    - werkzeug.datastructures.OrderedMultiDict.lists
    - <builtin>.dict
    - result.append
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - value
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 353
    functionName: werkzeug.datastructures.MultiDict.__setstate__
    functionSourceFile: werkzeug.datastructures
    functionUses: 0
    functionsReached:
    - dict.clear
    - dict.update
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: dict.clear
    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: dict.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: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 357
    functionName: werkzeug.datastructures.MultiDict.__iter__
    functionSourceFile: werkzeug.datastructures
    functionUses: 0
    functionsReached:
    - dict.__iter__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: dict.__iter__
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - key
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 363
    functionName: werkzeug.datastructures.MultiDict.__getitem__
    functionSourceFile: werkzeug.datastructures
    functionUses: 0
    functionsReached:
    - <builtin>.len
    - dict.__getitem__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: dict.__getitem__
    functionSourceFile: <builtin>
    functionUses: 59
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - key
    - value
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 377
    functionName: werkzeug.datastructures.MultiDict.__setitem__
    functionSourceFile: werkzeug.datastructures
    functionUses: 0
    functionsReached:
    - dict.__setitem__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: dict.__setitem__
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - key
    - value
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 385
    functionName: werkzeug.datastructures.MultiDict.add
    functionSourceFile: werkzeug.datastructures
    functionUses: 6
    functionsReached:
    - dict.setdefault
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: dict.setdefault
    functionSourceFile: <builtin>
    functionUses: 14
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe1dabc40>
    argNames:
    - self
    - key
    - type
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 395
    functionName: werkzeug.datastructures.MultiDict.getlist
    functionSourceFile: werkzeug.datastructures
    functionUses: 1
    functionsReached:
    - dict.__getitem__
    - <builtin>.list
    - result.append
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - key
    - new_list
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 421
    functionName: werkzeug.datastructures.MultiDict.setlist
    functionSourceFile: werkzeug.datastructures
    functionUses: 0
    functionsReached:
    - <builtin>.list
    - dict.__setitem__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe1d78e80>
    argNames:
    - self
    - key
    - default
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 439
    functionName: werkzeug.datastructures.MultiDict.setdefault
    functionSourceFile: werkzeug.datastructures
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe1d789a0>
    argNames:
    - self
    - key
    - default_list
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 453
    functionName: werkzeug.datastructures.MultiDict.setlistdefault
    functionSourceFile: werkzeug.datastructures
    functionUses: 0
    functionsReached:
    - <builtin>.list
    - dict.__setitem__
    - dict.__getitem__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: dict.items
    functionSourceFile: <builtin>
    functionUses: 111
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 497
    functionName: werkzeug.datastructures.MultiDict.values
    functionSourceFile: werkzeug.datastructures
    functionUses: 0
    functionsReached:
    - dict.values
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: dict.values
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 502
    functionName: werkzeug.datastructures.MultiDict.listvalues
    functionSourceFile: werkzeug.datastructures
    functionUses: 0
    functionsReached:
    - dict.values
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 512
    functionName: werkzeug.datastructures.MultiDict.copy
    functionSourceFile: werkzeug.datastructures
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe1d7eee0>
    argNames:
    - self
    - memo
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 516
    functionName: werkzeug.datastructures.MultiDict.deepcopy
    functionSourceFile: werkzeug.datastructures
    functionUses: 1
    functionsReached:
    - werkzeug.datastructures.OrderedMultiDict.getlist
    - d.items
    - <builtin>.dict
    - rv.setdefault
    - werkzeug.datastructures.MultiDict.to_dict
    - werkzeug.datastructures.CombinedMultiDict.items
    - <builtin>.list
    - dict.__getitem__
    - werkzeug.datastructures.CombinedMultiDict.lists
    - werkzeug.datastructures.MultiDict.deepcopy
    - werkzeug.datastructures.OrderedMultiDict.lists
    - result.append
    - rv.items
    - returned_keys.add
    - d.lists
    - werkzeug.datastructures.CombinedMultiDict.to_dict
    - found.add
    - dict.items
    - werkzeug.datastructures.MultiDict.lists
    - werkzeug.datastructures.OrderedMultiDict.items
    - <builtin>.set
    - werkzeug.datastructures.MultiDict.items
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe26b4b20>
    argNames:
    - self
    - flat
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 1511
    functionName: werkzeug.datastructures.CombinedMultiDict.to_dict
    functionSourceFile: werkzeug.datastructures
    functionUses: 2
    functionsReached:
    - rv.setdefault
    - found.add
    - werkzeug.datastructures.CombinedMultiDict.items
    - <builtin>.list
    - rv.items
    - werkzeug.datastructures.CombinedMultiDict.lists
    - <builtin>.set
    - d.items
    - d.lists
    - <builtin>.dict
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe1d7eaf0>
    argNames:
    - self
    - flat
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 520
    functionName: werkzeug.datastructures.MultiDict.to_dict
    functionSourceFile: werkzeug.datastructures
    functionUses: 2
    functionsReached:
    - werkzeug.datastructures.OrderedMultiDict.getlist
    - d.items
    - <builtin>.dict
    - rv.setdefault
    - werkzeug.datastructures.CombinedMultiDict.items
    - <builtin>.list
    - dict.__getitem__
    - werkzeug.datastructures.CombinedMultiDict.lists
    - werkzeug.datastructures.OrderedMultiDict.lists
    - result.append
    - rv.items
    - returned_keys.add
    - d.lists
    - dict.items
    - found.add
    - werkzeug.datastructures.MultiDict.lists
    - werkzeug.datastructures.OrderedMultiDict.items
    - <builtin>.set
    - werkzeug.datastructures.MultiDict.items
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - mapping
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 534
    functionName: werkzeug.datastructures.MultiDict.update
    functionSourceFile: werkzeug.datastructures
    functionUses: 4
    functionsReached:
    - werkzeug.datastructures._omd_bucket.__init__
    - werkzeug.datastructures.MultiDict.add
    - dict.items
    - dict.setdefault
    - werkzeug.datastructures.CombinedMultiDict.items
    - found.add
    - <builtin>.isinstance
    - werkzeug.datastructures.OrderedMultiDict.add
    - werkzeug.datastructures.OrderedMultiDict.items
    - <builtin>.set
    - werkzeug.datastructures.iter_multi_items
    - returned_keys.add
    - d.items
    - werkzeug.datastructures.MultiDict.items
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - key
    - value
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 761
    functionName: werkzeug.datastructures.OrderedMultiDict.add
    functionSourceFile: werkzeug.datastructures
    functionUses: 12
    functionsReached:
    - dict.setdefault
    - werkzeug.datastructures._omd_bucket.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 3
    argDefaultValues:
    - <ast.Name object at 0x7fcfe1d7e220>
    argNames:
    - self
    - key
    - default
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 555
    functionName: werkzeug.datastructures.MultiDict.pop
    functionSourceFile: werkzeug.datastructures
    functionUses: 0
    functionsReached:
    - <builtin>.len
    - dict.pop
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: dict.pop
    functionSourceFile: <builtin>
    functionUses: 7
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 582
    functionName: werkzeug.datastructures.MultiDict.popitem
    functionSourceFile: werkzeug.datastructures
    functionUses: 0
    functionsReached:
    - <builtin>.len
    - dict.popitem
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: dict.popitem
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - key
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 594
    functionName: werkzeug.datastructures.MultiDict.poplist
    functionSourceFile: werkzeug.datastructures
    functionUses: 0
    functionsReached:
    - dict.pop
    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: 604
    functionName: werkzeug.datastructures.MultiDict.popitemlist
    functionSourceFile: werkzeug.datastructures
    functionUses: 0
    functionsReached:
    - dict.popitem
    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: 5
    functionLinenumber: 611
    functionName: werkzeug.datastructures.MultiDict.__copy__
    functionSourceFile: werkzeug.datastructures
    functionUses: 0
    functionsReached:
    - werkzeug.datastructures.OrderedMultiDict.getlist
    - d.items
    - dict.__init__
    - <builtin>.len
    - rv.setdefault
    - werkzeug.datastructures.CombinedMultiDict.items
    - <builtin>.list
    - dict.__getitem__
    - werkzeug.datastructures.CombinedMultiDict.lists
    - werkzeug.datastructures.OrderedMultiDict.lists
    - result.append
    - werkzeug.datastructures.MultiDict.__init__
    - rv.items
    - returned_keys.add
    - d.lists
    - tmp.setdefault
    - werkzeug.datastructures.MultiDict.copy
    - found.add
    - dict.items
    - werkzeug.datastructures.MultiDict.lists
    - <builtin>.isinstance
    - werkzeug.datastructures.OrderedMultiDict.items
    - <builtin>.set
    - werkzeug.datastructures.MultiDict.items
    - werkzeug.datastructures.CombinedMultiDict.copy
    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: 4
    functionLinenumber: 1499
    functionName: werkzeug.datastructures.CombinedMultiDict.copy
    functionSourceFile: werkzeug.datastructures
    functionUses: 1
    functionsReached:
    - werkzeug.datastructures.OrderedMultiDict.getlist
    - d.items
    - dict.__init__
    - <builtin>.len
    - rv.setdefault
    - werkzeug.datastructures.CombinedMultiDict.items
    - <builtin>.list
    - dict.__getitem__
    - werkzeug.datastructures.CombinedMultiDict.lists
    - werkzeug.datastructures.OrderedMultiDict.lists
    - result.append
    - werkzeug.datastructures.MultiDict.__init__
    - rv.items
    - returned_keys.add
    - d.lists
    - tmp.setdefault
    - found.add
    - dict.items
    - werkzeug.datastructures.MultiDict.lists
    - <builtin>.isinstance
    - werkzeug.datastructures.OrderedMultiDict.items
    - <builtin>.set
    - werkzeug.datastructures.MultiDict.items
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - memo
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 614
    functionName: werkzeug.datastructures.MultiDict.__deepcopy__
    functionSourceFile: werkzeug.datastructures
    functionUses: 0
    functionsReached:
    - werkzeug.datastructures.OrderedMultiDict.getlist
    - d.items
    - <builtin>.dict
    - rv.setdefault
    - werkzeug.datastructures.MultiDict.to_dict
    - werkzeug.datastructures.CombinedMultiDict.items
    - <builtin>.list
    - dict.__getitem__
    - werkzeug.datastructures.CombinedMultiDict.lists
    - werkzeug.datastructures.MultiDict.deepcopy
    - werkzeug.datastructures.OrderedMultiDict.lists
    - result.append
    - rv.items
    - returned_keys.add
    - d.lists
    - werkzeug.datastructures.CombinedMultiDict.to_dict
    - found.add
    - dict.items
    - werkzeug.datastructures.MultiDict.lists
    - werkzeug.datastructures.OrderedMultiDict.items
    - <builtin>.set
    - werkzeug.datastructures.MultiDict.items
    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: 617
    functionName: werkzeug.datastructures.MultiDict.__repr__
    functionSourceFile: werkzeug.datastructures
    functionUses: 0
    functionsReached:
    - <builtin>.type
    - dict.items
    - found.add
    - werkzeug.datastructures.CombinedMultiDict.items
    - <builtin>.list
    - werkzeug.datastructures.OrderedMultiDict.items
    - <builtin>.set
    - returned_keys.add
    - d.items
    - werkzeug.datastructures.MultiDict.items
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - omd
    - key
    - value
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 630
    functionName: werkzeug.datastructures._omd_bucket.__init__
    functionSourceFile: werkzeug.datastructures
    functionUses: 13
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 0
    IfCount: 4
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - omd
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 642
    functionName: werkzeug.datastructures._omd_bucket.unlink
    functionSourceFile: werkzeug.datastructures
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe4957c70>
    argNames:
    - self
    - mapping
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 669
    functionName: werkzeug.datastructures.OrderedMultiDict.__init__
    functionSourceFile: werkzeug.datastructures
    functionUses: 1
    functionsReached:
    - werkzeug.datastructures._omd_bucket.__init__
    - dict.items
    - dict.setdefault
    - werkzeug.datastructures.OrderedMultiDict.update
    - werkzeug.datastructures.CombinedMultiDict.items
    - found.add
    - <builtin>.isinstance
    - werkzeug.datastructures.OrderedMultiDict.add
    - werkzeug.datastructures.OrderedMultiDict.items
    - <builtin>.set
    - werkzeug.datastructures.iter_multi_items
    - returned_keys.add
    - d.items
    - dict.__init__
    - werkzeug.datastructures.MultiDict.items
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - mapping
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 787
    functionName: werkzeug.datastructures.OrderedMultiDict.update
    functionSourceFile: werkzeug.datastructures
    functionUses: 6
    functionsReached:
    - werkzeug.datastructures._omd_bucket.__init__
    - dict.items
    - dict.setdefault
    - werkzeug.datastructures.CombinedMultiDict.items
    - found.add
    - <builtin>.isinstance
    - werkzeug.datastructures.OrderedMultiDict.add
    - werkzeug.datastructures.OrderedMultiDict.items
    - <builtin>.set
    - werkzeug.datastructures.iter_multi_items
    - returned_keys.add
    - d.items
    - werkzeug.datastructures.MultiDict.items
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 1
    IfCount: 5
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - other
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 675
    functionName: werkzeug.datastructures.OrderedMultiDict.__eq__
    functionSourceFile: werkzeug.datastructures
    functionUses: 0
    functionsReached:
    - <builtin>.next
    - werkzeug.datastructures.OrderedMultiDict.getlist
    - <builtin>.iter
    - dict.__getitem__
    - <builtin>.isinstance
    - werkzeug.datastructures.OrderedMultiDict.items
    - <builtin>.set
    - returned_keys.add
    - other.items
    - <builtin>.len
    - werkzeug.datastructures.OrderedMultiDict.lists
    - other.getlist
    - result.append
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: other.items
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: other.getlist
    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
    - protocol
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 702
    functionName: werkzeug.datastructures.OrderedMultiDict.__reduce_ex__
    functionSourceFile: werkzeug.datastructures
    functionUses: 0
    functionsReached:
    - <builtin>.type
    - <builtin>.list
    - werkzeug.datastructures.OrderedMultiDict.items
    - <builtin>.set
    - returned_keys.add
    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: 705
    functionName: werkzeug.datastructures.OrderedMultiDict.__getstate__
    functionSourceFile: werkzeug.datastructures
    functionUses: 0
    functionsReached:
    - <builtin>.list
    - werkzeug.datastructures.OrderedMultiDict.items
    - <builtin>.set
    - returned_keys.add
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - values
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 708
    functionName: werkzeug.datastructures.OrderedMultiDict.__setstate__
    functionSourceFile: werkzeug.datastructures
    functionUses: 0
    functionsReached:
    - dict.setdefault
    - werkzeug.datastructures._omd_bucket.__init__
    - werkzeug.datastructures.OrderedMultiDict.add
    - dict.clear
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - key
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 713
    functionName: werkzeug.datastructures.OrderedMultiDict.__getitem__
    functionSourceFile: werkzeug.datastructures
    functionUses: 0
    functionsReached:
    - dict.__getitem__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - key
    - value
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 718
    functionName: werkzeug.datastructures.OrderedMultiDict.__setitem__
    functionSourceFile: werkzeug.datastructures
    functionUses: 0
    functionsReached:
    - bucket.unlink
    - werkzeug.datastructures._omd_bucket.__init__
    - dict.setdefault
    - dict.pop
    - werkzeug.datastructures.OrderedMultiDict.poplist
    - werkzeug.datastructures.OrderedMultiDict.add
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - key
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 791
    functionName: werkzeug.datastructures.OrderedMultiDict.poplist
    functionSourceFile: werkzeug.datastructures
    functionUses: 2
    functionsReached:
    - bucket.unlink
    - dict.pop
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - key
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 722
    functionName: werkzeug.datastructures.OrderedMultiDict.__delitem__
    functionSourceFile: werkzeug.datastructures
    functionUses: 0
    functionsReached:
    - bucket.unlink
    - werkzeug.datastructures.OrderedMultiDict.pop
    - dict.pop
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 3
    argDefaultValues:
    - <ast.Name object at 0x7fcfe4980190>
    argNames:
    - self
    - key
    - default
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 797
    functionName: werkzeug.datastructures.OrderedMultiDict.pop
    functionSourceFile: werkzeug.datastructures
    functionUses: 1
    functionsReached:
    - bucket.unlink
    - dict.pop
    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: 725
    functionName: werkzeug.datastructures.OrderedMultiDict.keys
    functionSourceFile: werkzeug.datastructures
    functionUses: 1
    functionsReached:
    - werkzeug.datastructures.OrderedMultiDict.items
    - <builtin>.set
    - returned_keys.add
    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: 3
    functionLinenumber: 728
    functionName: werkzeug.datastructures.OrderedMultiDict.__iter__
    functionSourceFile: werkzeug.datastructures
    functionUses: 0
    functionsReached:
    - <builtin>.iter
    - werkzeug.datastructures.OrderedMultiDict.keys
    - werkzeug.datastructures.OrderedMultiDict.items
    - <builtin>.set
    - returned_keys.add
    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: 731
    functionName: werkzeug.datastructures.OrderedMultiDict.values
    functionSourceFile: werkzeug.datastructures
    functionUses: 0
    functionsReached:
    - werkzeug.datastructures.OrderedMultiDict.items
    - <builtin>.set
    - returned_keys.add
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: returned_keys.add
    functionSourceFile: <builtin>
    functionUses: 117
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe4962b50>
    argNames:
    - self
    - key
    - type
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 764
    functionName: werkzeug.datastructures.OrderedMultiDict.getlist
    functionSourceFile: werkzeug.datastructures
    functionUses: 54
    functionsReached:
    - dict.__getitem__
    - result.append
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 757
    functionName: werkzeug.datastructures.OrderedMultiDict.listvalues
    functionSourceFile: werkzeug.datastructures
    functionUses: 0
    functionsReached:
    - werkzeug.datastructures.OrderedMultiDict.getlist
    - dict.__getitem__
    - <builtin>.set
    - returned_keys.add
    - werkzeug.datastructures.OrderedMultiDict.lists
    - result.append
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - key
    - new_list
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 779
    functionName: werkzeug.datastructures.OrderedMultiDict.setlist
    functionSourceFile: werkzeug.datastructures
    functionUses: 0
    functionsReached:
    - bucket.unlink
    - werkzeug.datastructures._omd_bucket.__init__
    - dict.setdefault
    - dict.pop
    - werkzeug.datastructures.OrderedMultiDict.poplist
    - werkzeug.datastructures.OrderedMultiDict.add
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe4980ca0>
    argNames:
    - self
    - key
    - default_list
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 784
    functionName: werkzeug.datastructures.OrderedMultiDict.setlistdefault
    functionSourceFile: werkzeug.datastructures
    functionUses: 0
    functionsReached: []
    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: bucket.unlink
    functionSourceFile: <builtin>
    functionUses: 7
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 811
    functionName: werkzeug.datastructures.OrderedMultiDict.popitem
    functionSourceFile: werkzeug.datastructures
    functionUses: 0
    functionsReached:
    - bucket.unlink
    - dict.popitem
    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: 822
    functionName: werkzeug.datastructures.OrderedMultiDict.popitemlist
    functionSourceFile: werkzeug.datastructures
    functionUses: 0
    functionsReached:
    - bucket.unlink
    - dict.popitem
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - value
    - kw
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 834
    functionName: werkzeug.datastructures._options_header_vkw
    functionSourceFile: werkzeug.datastructures
    functionUses: 66
    functionsReached:
    - k.replace
    - werkzeug.http.dump_options_header
    - value.decode
    - <builtin>.str
    - <builtin>.isinstance
    - value.replace
    - options.items
    - <builtin>.set
    - kw.items
    - werkzeug.http.quote_header_value
    - segments.append
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: k.replace
    functionSourceFile: <builtin>
    functionUses: 67
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: kw.items
    functionSourceFile: <builtin>
    functionUses: 67
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - value
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 840
    functionName: werkzeug.datastructures._unicodify_header_value
    functionSourceFile: werkzeug.datastructures
    functionUses: 88
    functionsReached:
    - <builtin>.str
    - <builtin>.isinstance
    - value.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: value.decode
    functionSourceFile: <builtin>
    functionUses: 118
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    IfCount: 2
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 1007
    functionName: werkzeug.datastructures.Headers.extend
    functionSourceFile: werkzeug.datastructures
    functionUses: 53
    functionsReached:
    - werkzeug.datastructures.Headers.add
    - werkzeug.http.dump_options_header
    - d.items
    - <builtin>.len
    - kw.items
    - value.decode
    - werkzeug.datastructures.Headers._validate_value
    - werkzeug.datastructures.CombinedMultiDict.items
    - value.replace
    - werkzeug.datastructures._unicodify_header_value
    - segments.append
    - k.replace
    - <builtin>.str
    - options.items
    - returned_keys.add
    - werkzeug.datastructures._options_header_vkw
    - werkzeug.http.quote_header_value
    - found.add
    - dict.items
    - <builtin>.isinstance
    - werkzeug.datastructures.OrderedMultiDict.items
    - <builtin>.set
    - werkzeug.datastructures.iter_multi_items
    - werkzeug.datastructures.MultiDict.items
    linkageType: pythonLinkage
    raised:
    - TypeError
    returnType: N/A
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 9
    ICount: 0
    IfCount: 6
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe407dac0>
    argNames:
    - self
    - key
    - _get_mode
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 890
    functionName: werkzeug.datastructures.Headers.__getitem__
    functionSourceFile: werkzeug.datastructures
    functionUses: 22
    functionsReached:
    - k.lower
    - <builtin>.isinstance
    - key.lower
    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: k.lower
    functionSourceFile: <builtin>
    functionUses: 61
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - other
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 909
    functionName: werkzeug.datastructures.Headers.__eq__
    functionSourceFile: werkzeug.datastructures
    functionUses: 0
    functionsReached:
    - werkzeug.http.dump_options_header
    - <builtin>.enumerate
    - kw.items
    - value.decode
    - old_key.lower
    - werkzeug.datastructures.Headers._validate_value
    - value.replace
    - werkzeug.datastructures._unicodify_header_value
    - segments.append
    - k.replace
    - <builtin>.map
    - <builtin>.iter
    - <builtin>.str
    - _key.lower
    - options.items
    - werkzeug.datastructures._options_header_vkw
    - werkzeug.datastructures.Headers.set
    - werkzeug.http.quote_header_value
    - <builtin>.isinstance
    - <builtin>.set
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - item
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 910
    functionName: werkzeug.datastructures.Headers.__eq__.lowered
    functionSourceFile: werkzeug.datastructures
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe267ce80>
    argNames:
    - self
    - key
    - _get_mode
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 1373
    functionName: werkzeug.datastructures.EnvironHeaders.__getitem__
    functionSourceFile: werkzeug.datastructures
    functionUses: 22
    functionsReached:
    - <builtin>.str
    - <builtin>.isinstance
    - key.upper
    - werkzeug.datastructures._unicodify_header_value
    - value.decode
    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: rv.encode
    functionSourceFile: <builtin>
    functionUses: 21
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 2
    IfCount: 3
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe40558e0>
    - <ast.Constant object at 0x7fcfe40558b0>
    argNames:
    - self
    - key
    - type
    - as_bytes
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 955
    functionName: werkzeug.datastructures.Headers.getlist
    functionSourceFile: werkzeug.datastructures
    functionUses: 2
    functionsReached:
    - v.encode
    - key.lower
    - <builtin>.iter
    - result.append
    - k.lower
    - werkzeug.datastructures.Headers.__iter__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: v.encode
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 985
    functionName: werkzeug.datastructures.Headers.get_all
    functionSourceFile: werkzeug.datastructures
    functionUses: 0
    functionsReached:
    - v.encode
    - key.lower
    - <builtin>.iter
    - result.append
    - k.lower
    - werkzeug.datastructures.Headers.getlist
    - werkzeug.datastructures.Headers.__iter__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe4044af0>
    argNames:
    - self
    - lower
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 993
    functionName: werkzeug.datastructures.Headers.items
    functionSourceFile: werkzeug.datastructures
    functionUses: 4
    functionsReached:
    - <builtin>.iter
    - werkzeug.datastructures.Headers.__iter__
    - key.lower
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe4044670>
    argNames:
    - self
    - lower
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 999
    functionName: werkzeug.datastructures.Headers.keys
    functionSourceFile: werkzeug.datastructures
    functionUses: 0
    functionsReached:
    - <builtin>.iter
    - werkzeug.datastructures.Headers.__iter__
    - key.lower
    - werkzeug.datastructures.Headers.items
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 1003
    functionName: werkzeug.datastructures.Headers.values
    functionSourceFile: werkzeug.datastructures
    functionUses: 0
    functionsReached:
    - <builtin>.iter
    - werkzeug.datastructures.Headers.__iter__
    - key.lower
    - werkzeug.datastructures.Headers.items
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe406f550>
    argNames:
    - self
    - key
    - _index_operation
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1031
    functionName: werkzeug.datastructures.Headers.__delitem__
    functionSourceFile: werkzeug.datastructures
    functionUses: 33
    functionsReached:
    - k.lower
    - new.append
    - <builtin>.isinstance
    - key.lower
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: new.append
    functionSourceFile: <builtin>
    functionUses: 34
    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: 4
    functionLinenumber: 1071
    functionName: werkzeug.datastructures.Headers.popitem
    functionSourceFile: werkzeug.datastructures
    functionUses: 0
    functionsReached:
    - key.lower
    - werkzeug.datastructures.Headers.remove
    - <builtin>.isinstance
    - werkzeug.datastructures.Headers.pop
    - werkzeug.datastructures.Headers.__delitem__
    - k.lower
    - new.append
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - key
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 1075
    functionName: werkzeug.datastructures.Headers.__contains__
    functionSourceFile: werkzeug.datastructures
    functionUses: 0
    functionsReached:
    - werkzeug.datastructures.EnvironHeaders.__getitem__
    - key.lower
    - <builtin>.str
    - <builtin>.isinstance
    - werkzeug.datastructures.Headers.__getitem__
    - key.upper
    - k.lower
    - werkzeug.datastructures._unicodify_header_value
    - value.decode
    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: 1087
    functionName: werkzeug.datastructures.Headers.__len__
    functionSourceFile: werkzeug.datastructures
    functionUses: 0
    functionsReached:
    - <builtin>.len
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - value
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1113
    functionName: werkzeug.datastructures.Headers._validate_value
    functionSourceFile: werkzeug.datastructures
    functionUses: 66
    functionsReached:
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised:
    - ValueError
    - TypeError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - _key
    - _value
    - _kw
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 1122
    functionName: werkzeug.datastructures.Headers.add_header
    functionSourceFile: werkzeug.datastructures
    functionUses: 0
    functionsReached:
    - werkzeug.datastructures.Headers.add
    - werkzeug.datastructures.Headers._validate_value
    - k.replace
    - werkzeug.http.dump_options_header
    - value.decode
    - <builtin>.str
    - <builtin>.isinstance
    - value.replace
    - options.items
    - <builtin>.set
    - werkzeug.datastructures._options_header_vkw
    - werkzeug.datastructures._unicodify_header_value
    - kw.items
    - werkzeug.http.quote_header_value
    - segments.append
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1130
    functionName: werkzeug.datastructures.Headers.clear
    functionSourceFile: werkzeug.datastructures
    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: _key.lower
    functionSourceFile: <builtin>
    functionUses: 37
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: old_key.lower
    functionSourceFile: <builtin>
    functionUses: 37
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 4
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - key
    - values
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 1169
    functionName: werkzeug.datastructures.Headers.setlist
    functionSourceFile: werkzeug.datastructures
    functionUses: 8
    functionsReached:
    - werkzeug.datastructures.Headers.add
    - key.lower
    - werkzeug.http.dump_options_header
    - <builtin>.enumerate
    - kw.items
    - value.decode
    - old_key.lower
    - <builtin>.next
    - werkzeug.datastructures.Headers._validate_value
    - werkzeug.datastructures.Headers.remove
    - value.replace
    - werkzeug.datastructures._unicodify_header_value
    - segments.append
    - k.replace
    - <builtin>.iter
    - <builtin>.str
    - _key.lower
    - werkzeug.datastructures.Headers.__delitem__
    - options.items
    - werkzeug.datastructures._options_header_vkw
    - werkzeug.datastructures.Headers.set
    - k.lower
    - new.append
    - werkzeug.http.quote_header_value
    - <builtin>.isinstance
    - <builtin>.set
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - key
    - default
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 1186
    functionName: werkzeug.datastructures.Headers.setdefault
    functionSourceFile: werkzeug.datastructures
    functionUses: 0
    functionsReached:
    - werkzeug.http.dump_options_header
    - <builtin>.enumerate
    - kw.items
    - value.decode
    - old_key.lower
    - werkzeug.datastructures.Headers._validate_value
    - value.replace
    - werkzeug.datastructures._unicodify_header_value
    - segments.append
    - k.replace
    - <builtin>.iter
    - <builtin>.str
    - _key.lower
    - options.items
    - werkzeug.datastructures._options_header_vkw
    - werkzeug.datastructures.Headers.set
    - werkzeug.http.quote_header_value
    - <builtin>.isinstance
    - <builtin>.set
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - key
    - default
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 1201
    functionName: werkzeug.datastructures.Headers.setlistdefault
    functionSourceFile: werkzeug.datastructures
    functionUses: 0
    functionsReached:
    - werkzeug.datastructures.Headers.add
    - key.lower
    - werkzeug.http.dump_options_header
    - <builtin>.enumerate
    - werkzeug.datastructures.Headers.setlist
    - kw.items
    - value.decode
    - old_key.lower
    - <builtin>.next
    - werkzeug.datastructures.Headers._validate_value
    - v.encode
    - werkzeug.datastructures.Headers.remove
    - value.replace
    - werkzeug.datastructures._unicodify_header_value
    - werkzeug.datastructures.Headers.getlist
    - result.append
    - segments.append
    - k.replace
    - <builtin>.iter
    - <builtin>.str
    - _key.lower
    - werkzeug.datastructures.Headers.__delitem__
    - options.items
    - werkzeug.datastructures._options_header_vkw
    - k.lower
    - werkzeug.datastructures.Headers.set
    - new.append
    - werkzeug.http.quote_header_value
    - <builtin>.isinstance
    - <builtin>.set
    - werkzeug.datastructures.Headers.__iter__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 3
    IfCount: 3
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - key
    - value
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 1220
    functionName: werkzeug.datastructures.Headers.__setitem__
    functionSourceFile: werkzeug.datastructures
    functionUses: 0
    functionsReached:
    - werkzeug.http.dump_options_header
    - <builtin>.enumerate
    - kw.items
    - value.decode
    - old_key.lower
    - werkzeug.datastructures.Headers._validate_value
    - value.replace
    - werkzeug.datastructures._unicodify_header_value
    - segments.append
    - k.replace
    - <builtin>.str
    - <builtin>.iter
    - _key.lower
    - options.items
    - werkzeug.datastructures._options_header_vkw
    - werkzeug.datastructures.Headers.set
    - werkzeug.http.quote_header_value
    - <builtin>.isinstance
    - <builtin>.set
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 9
    ICount: 7
    IfCount: 6
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 1238
    functionName: werkzeug.datastructures.Headers.update
    functionSourceFile: werkzeug.datastructures
    functionUses: 6
    functionsReached:
    - werkzeug.datastructures.Headers.add
    - kwargs.items
    - mapping.keys
    - key.lower
    - werkzeug.http.dump_options_header
    - <builtin>.enumerate
    - werkzeug.datastructures.Headers.setlist
    - <builtin>.len
    - kw.items
    - value.decode
    - old_key.lower
    - <builtin>.next
    - werkzeug.datastructures.Headers._validate_value
    - werkzeug.datastructures.Headers.remove
    - value.replace
    - werkzeug.datastructures._unicodify_header_value
    - mapping.getlist
    - segments.append
    - k.replace
    - <builtin>.iter
    - <builtin>.str
    - _key.lower
    - werkzeug.datastructures.Headers.__delitem__
    - options.items
    - werkzeug.datastructures._options_header_vkw
    - k.lower
    - werkzeug.datastructures.Headers.set
    - new.append
    - werkzeug.http.quote_header_value
    - <builtin>.isinstance
    - <builtin>.set
    - mapping.items
    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: mapping.keys
    functionSourceFile: <builtin>
    functionUses: 7
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: mapping.getlist
    functionSourceFile: <builtin>
    functionUses: 7
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: mapping.items
    functionSourceFile: <builtin>
    functionUses: 7
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: kwargs.items
    functionSourceFile: <builtin>
    functionUses: 7
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1283
    functionName: werkzeug.datastructures.Headers.copy
    functionSourceFile: werkzeug.datastructures
    functionUses: 18
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1286
    functionName: werkzeug.datastructures.Headers.__copy__
    functionSourceFile: werkzeug.datastructures
    functionUses: 0
    functionsReached:
    - werkzeug.datastructures.Headers.copy
    - werkzeug.datastructures.EnvironHeaders.copy
    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: 1401
    functionName: werkzeug.datastructures.EnvironHeaders.copy
    functionSourceFile: ''
    functionUses: 18
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - TypeError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 3
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 1289
    functionName: werkzeug.datastructures.Headers.__str__
    functionSourceFile: werkzeug.datastructures
    functionUses: 0
    functionsReached:
    - strs.append
    - <builtin>.list
    - werkzeug.datastructures.Headers.to_wsgi_list
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: strs.append
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1297
    functionName: werkzeug.datastructures.Headers.__repr__
    functionSourceFile: werkzeug.datastructures
    functionUses: 0
    functionsReached:
    - <builtin>.type
    - <builtin>.list
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - key
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1311
    functionName: werkzeug.datastructures.ImmutableHeadersMixin.__delitem__
    functionSourceFile: werkzeug.datastructures
    functionUses: 0
    functionsReached:
    - werkzeug.datastructures.is_immutable
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - key
    - value
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1314
    functionName: werkzeug.datastructures.ImmutableHeadersMixin.__setitem__
    functionSourceFile: werkzeug.datastructures
    functionUses: 0
    functionsReached:
    - werkzeug.datastructures.is_immutable
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - _key
    - _value
    - kw
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1317
    functionName: werkzeug.datastructures.ImmutableHeadersMixin.set
    functionSourceFile: werkzeug.datastructures
    functionUses: 0
    functionsReached:
    - werkzeug.datastructures.is_immutable
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - key
    - values
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1320
    functionName: werkzeug.datastructures.ImmutableHeadersMixin.setlist
    functionSourceFile: werkzeug.datastructures
    functionUses: 0
    functionsReached:
    - werkzeug.datastructures.is_immutable
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - _key
    - _value
    - kw
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1323
    functionName: werkzeug.datastructures.ImmutableHeadersMixin.add
    functionSourceFile: werkzeug.datastructures
    functionUses: 0
    functionsReached:
    - werkzeug.datastructures.is_immutable
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - _key
    - _value
    - _kw
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1326
    functionName: werkzeug.datastructures.ImmutableHeadersMixin.add_header
    functionSourceFile: werkzeug.datastructures
    functionUses: 0
    functionsReached:
    - werkzeug.datastructures.is_immutable
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - key
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1329
    functionName: werkzeug.datastructures.ImmutableHeadersMixin.remove
    functionSourceFile: werkzeug.datastructures
    functionUses: 0
    functionsReached:
    - werkzeug.datastructures.is_immutable
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1332
    functionName: werkzeug.datastructures.ImmutableHeadersMixin.extend
    functionSourceFile: werkzeug.datastructures
    functionUses: 0
    functionsReached:
    - werkzeug.datastructures.is_immutable
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1335
    functionName: werkzeug.datastructures.ImmutableHeadersMixin.update
    functionSourceFile: werkzeug.datastructures
    functionUses: 0
    functionsReached:
    - werkzeug.datastructures.is_immutable
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - pos
    - value
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1338
    functionName: werkzeug.datastructures.ImmutableHeadersMixin.insert
    functionSourceFile: werkzeug.datastructures
    functionUses: 0
    functionsReached:
    - werkzeug.datastructures.is_immutable
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe26aab80>
    - <ast.Name object at 0x7fcfe26aab50>
    argNames:
    - self
    - key
    - default
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1341
    functionName: werkzeug.datastructures.ImmutableHeadersMixin.pop
    functionSourceFile: werkzeug.datastructures
    functionUses: 0
    functionsReached:
    - werkzeug.datastructures.is_immutable
    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: 1344
    functionName: werkzeug.datastructures.ImmutableHeadersMixin.popitem
    functionSourceFile: werkzeug.datastructures
    functionUses: 0
    functionsReached:
    - werkzeug.datastructures.is_immutable
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - key
    - default
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1347
    functionName: werkzeug.datastructures.ImmutableHeadersMixin.setdefault
    functionSourceFile: werkzeug.datastructures
    functionUses: 0
    functionsReached:
    - werkzeug.datastructures.is_immutable
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - key
    - default
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1350
    functionName: werkzeug.datastructures.ImmutableHeadersMixin.setlistdefault
    functionSourceFile: werkzeug.datastructures
    functionUses: 0
    functionsReached:
    - werkzeug.datastructures.is_immutable
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - environ
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1365
    functionName: werkzeug.datastructures.EnvironHeaders.__init__
    functionSourceFile: werkzeug.datastructures
    functionUses: 27
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - other
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1368
    functionName: werkzeug.datastructures.EnvironHeaders.__eq__
    functionSourceFile: werkzeug.datastructures
    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: 1383
    functionName: werkzeug.datastructures.EnvironHeaders.__len__
    functionSourceFile: werkzeug.datastructures
    functionUses: 0
    functionsReached:
    - <builtin>.len
    - <builtin>.iter
    - <builtin>.list
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 1388
    functionName: werkzeug.datastructures.EnvironHeaders.__iter__
    functionSourceFile: werkzeug.datastructures
    functionUses: 0
    functionsReached:
    - key.startswith
    - value.decode
    - <builtin>.str
    - <builtin>.isinstance
    - werkzeug.datastructures._unicodify_header_value
    - key.replace
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: key.startswith
    functionSourceFile: <builtin>
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: key.replace
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - protocol
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1428
    functionName: werkzeug.datastructures.CombinedMultiDict.__reduce_ex__
    functionSourceFile: werkzeug.datastructures
    functionUses: 0
    functionsReached:
    - <builtin>.type
    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 0x7fcfe268b070>
    argNames:
    - self
    - dicts
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1431
    functionName: werkzeug.datastructures.CombinedMultiDict.__init__
    functionSourceFile: werkzeug.datastructures
    functionUses: 18
    functionsReached:
    - <builtin>.list
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe2683d90>
    argNames:
    - cls
    - keys
    - value
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1435
    functionName: werkzeug.datastructures.CombinedMultiDict.fromkeys
    functionSourceFile: werkzeug.datastructures
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - TypeError
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - key
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1438
    functionName: werkzeug.datastructures.CombinedMultiDict.__getitem__
    functionSourceFile: werkzeug.datastructures
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe2683610>
    - <ast.Constant object at 0x7fcfe26835e0>
    argNames:
    - self
    - key
    - default
    - type
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1444
    functionName: werkzeug.datastructures.CombinedMultiDict.get
    functionSourceFile: werkzeug.datastructures
    functionUses: 11
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe26a3e80>
    argNames:
    - self
    - key
    - type
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1455
    functionName: werkzeug.datastructures.CombinedMultiDict.getlist
    functionSourceFile: werkzeug.datastructures
    functionUses: 1
    functionsReached:
    - d.getlist
    - rv.extend
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: d.getlist
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1461
    functionName: werkzeug.datastructures.CombinedMultiDict._keys_impl
    functionSourceFile: werkzeug.datastructures
    functionUses: 3
    functionsReached:
    - rv.update
    - <builtin>.set
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: rv.update
    functionSourceFile: <builtin>
    functionUses: 7
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 1469
    functionName: werkzeug.datastructures.CombinedMultiDict.keys
    functionSourceFile: werkzeug.datastructures
    functionUses: 1
    functionsReached:
    - <builtin>.set
    - rv.update
    - werkzeug.datastructures.CombinedMultiDict._keys_impl
    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: 3
    functionLinenumber: 1472
    functionName: werkzeug.datastructures.CombinedMultiDict.__iter__
    functionSourceFile: werkzeug.datastructures
    functionUses: 0
    functionsReached:
    - rv.update
    - <builtin>.iter
    - werkzeug.datastructures.CombinedMultiDict._keys_impl
    - werkzeug.datastructures.CombinedMultiDict.keys
    - <builtin>.set
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: d.items
    functionSourceFile: <builtin>
    functionUses: 144
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: found.add
    functionSourceFile: <builtin>
    functionUses: 121
    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: 2
    functionLinenumber: 1485
    functionName: werkzeug.datastructures.CombinedMultiDict.values
    functionSourceFile: werkzeug.datastructures
    functionUses: 0
    functionsReached:
    - werkzeug.datastructures.CombinedMultiDict.items
    - <builtin>.set
    - d.items
    - found.add
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: d.lists
    functionSourceFile: <builtin>
    functionUses: 54
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: rv.setdefault
    functionSourceFile: <builtin>
    functionUses: 54
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: rv.items
    functionSourceFile: <builtin>
    functionUses: 54
    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: 1496
    functionName: werkzeug.datastructures.CombinedMultiDict.listvalues
    functionSourceFile: werkzeug.datastructures
    functionUses: 0
    functionsReached:
    - rv.setdefault
    - <builtin>.list
    - rv.items
    - werkzeug.datastructures.CombinedMultiDict.lists
    - d.lists
    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: 1526
    functionName: werkzeug.datastructures.CombinedMultiDict.__len__
    functionSourceFile: werkzeug.datastructures
    functionUses: 0
    functionsReached:
    - <builtin>.len
    - rv.update
    - werkzeug.datastructures.CombinedMultiDict._keys_impl
    - <builtin>.set
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - key
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1529
    functionName: werkzeug.datastructures.CombinedMultiDict.__contains__
    functionSourceFile: werkzeug.datastructures
    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: 1535
    functionName: werkzeug.datastructures.CombinedMultiDict.__repr__
    functionSourceFile: werkzeug.datastructures
    functionUses: 0
    functionsReached:
    - <builtin>.type
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 2
    IfCount: 4
    argCount: 5
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe26b2c40>
    - <ast.Constant object at 0x7fcfe26b2c10>
    argNames:
    - self
    - name
    - file
    - filename
    - content_type
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 8
    functionLinenumber: 1547
    functionName: werkzeug.datastructures.FileMultiDict.add_file
    functionSourceFile: werkzeug.datastructures
    functionUses: 0
    functionsReached:
    - werkzeug.datastructures.Headers.add
    - werkzeug.http.dump_options_header
    - werkzeug.datastructures.OrderedMultiDict.add
    - werkzeug.datastructures.Headers.extend
    - d.items
    - <builtin>.len
    - io.BytesIO
    - kw.items
    - mimetypes.guess_type
    - value.decode
    - werkzeug.datastructures.Headers._validate_value
    - werkzeug.datastructures._omd_bucket.__init__
    - dict.setdefault
    - werkzeug.datastructures.CombinedMultiDict.items
    - value.replace
    - werkzeug.datastructures._unicodify_header_value
    - segments.append
    - k.replace
    - werkzeug.datastructures.MultiDict.add
    - <builtin>.str
    - options.items
    - returned_keys.add
    - werkzeug.datastructures._options_header_vkw
    - werkzeug.datastructures.Headers.__init__
    - <builtin>.getattr
    - werkzeug.http.quote_header_value
    - found.add
    - dict.items
    - <builtin>.isinstance
    - os.fsdecode
    - <builtin>.open
    - werkzeug.datastructures.FileStorage.__init__
    - werkzeug.datastructures.OrderedMultiDict.items
    - <builtin>.set
    - werkzeug.datastructures.iter_multi_items
    - werkzeug.datastructures.MultiDict.items
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 9
    ICount: 0
    IfCount: 6
    argCount: 7
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe1970dc0>
    - <ast.Constant object at 0x7fcfe1970df0>
    - <ast.Constant object at 0x7fcfe1970e20>
    - <ast.Constant object at 0x7fcfe1970e50>
    - <ast.Constant object at 0x7fcfe1970e80>
    - <ast.Constant object at 0x7fcfe1970eb0>
    argNames:
    - self
    - stream
    - filename
    - name
    - content_type
    - content_length
    - headers
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 7
    functionLinenumber: 2902
    functionName: werkzeug.datastructures.FileStorage.__init__
    functionSourceFile: werkzeug.datastructures
    functionUses: 4
    functionsReached:
    - werkzeug.datastructures.Headers.add
    - werkzeug.http.dump_options_header
    - werkzeug.datastructures.Headers.extend
    - d.items
    - <builtin>.len
    - io.BytesIO
    - kw.items
    - value.decode
    - werkzeug.datastructures.Headers._validate_value
    - werkzeug.datastructures.CombinedMultiDict.items
    - value.replace
    - werkzeug.datastructures._unicodify_header_value
    - segments.append
    - k.replace
    - <builtin>.str
    - options.items
    - returned_keys.add
    - werkzeug.datastructures._options_header_vkw
    - werkzeug.datastructures.Headers.__init__
    - <builtin>.getattr
    - werkzeug.http.quote_header_value
    - found.add
    - dict.items
    - os.fsdecode
    - <builtin>.isinstance
    - werkzeug.datastructures.OrderedMultiDict.items
    - <builtin>.set
    - werkzeug.datastructures.iter_multi_items
    - werkzeug.datastructures.MultiDict.items
    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: 1578
    functionName: werkzeug.datastructures.ImmutableDict.__repr__
    functionSourceFile: werkzeug.datastructures
    functionUses: 0
    functionsReached:
    - <builtin>.type
    - dict.__repr__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: dict.__repr__
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1581
    functionName: werkzeug.datastructures.ImmutableDict.copy
    functionSourceFile: werkzeug.datastructures
    functionUses: 5
    functionsReached:
    - <builtin>.dict
    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: 1588
    functionName: werkzeug.datastructures.ImmutableDict.__copy__
    functionSourceFile: werkzeug.datastructures
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 1598
    functionName: werkzeug.datastructures.ImmutableMultiDict.copy
    functionSourceFile: werkzeug.datastructures
    functionUses: 0
    functionsReached:
    - werkzeug.datastructures.OrderedMultiDict.getlist
    - d.items
    - dict.__init__
    - <builtin>.len
    - rv.setdefault
    - werkzeug.datastructures.CombinedMultiDict.items
    - <builtin>.list
    - dict.__getitem__
    - werkzeug.datastructures.CombinedMultiDict.lists
    - werkzeug.datastructures.OrderedMultiDict.lists
    - result.append
    - werkzeug.datastructures.MultiDict.__init__
    - rv.items
    - returned_keys.add
    - d.lists
    - tmp.setdefault
    - found.add
    - dict.items
    - werkzeug.datastructures.MultiDict.lists
    - <builtin>.isinstance
    - werkzeug.datastructures.OrderedMultiDict.items
    - <builtin>.set
    - werkzeug.datastructures.MultiDict.items
    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: 1605
    functionName: werkzeug.datastructures.ImmutableMultiDict.__copy__
    functionSourceFile: werkzeug.datastructures
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 1615
    functionName: werkzeug.datastructures.ImmutableOrderedMultiDict._iter_hashitems
    functionSourceFile: werkzeug.datastructures
    functionUses: 0
    functionsReached:
    - found.add
    - werkzeug.datastructures.CombinedMultiDict.items
    - <builtin>.enumerate
    - <builtin>.set
    - d.items
    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: 5
    functionLinenumber: 1618
    functionName: werkzeug.datastructures.ImmutableOrderedMultiDict.copy
    functionSourceFile: werkzeug.datastructures
    functionUses: 0
    functionsReached:
    - werkzeug.datastructures._omd_bucket.__init__
    - dict.items
    - dict.setdefault
    - werkzeug.datastructures.OrderedMultiDict.update
    - werkzeug.datastructures.CombinedMultiDict.items
    - werkzeug.datastructures.OrderedMultiDict.__init__
    - found.add
    - <builtin>.isinstance
    - werkzeug.datastructures.OrderedMultiDict.add
    - werkzeug.datastructures.OrderedMultiDict.items
    - <builtin>.set
    - werkzeug.datastructures.iter_multi_items
    - returned_keys.add
    - d.items
    - dict.__init__
    - werkzeug.datastructures.MultiDict.items
    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: 1625
    functionName: werkzeug.datastructures.ImmutableOrderedMultiDict.__copy__
    functionSourceFile: werkzeug.datastructures
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    IfCount: 2
    argCount: 2
    argDefaultValues:
    - <ast.Tuple object at 0x7fcfe26aebb0>
    argNames:
    - self
    - values
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1665
    functionName: werkzeug.datastructures.Accept.__init__
    functionSourceFile: werkzeug.datastructures
    functionUses: 6
    functionsReached:
    - list.__init__
    - <builtin>.sorted
    - <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: list.__init__
    functionSourceFile: <builtin>
    functionUses: 7
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: -1
    functionName: werkzeug.datastructures.Accept.__init__.<lambda1>
    functionSourceFile: werkzeug.datastructures
    functionUses: 0
    functionsReached:
    - _mime_split_re.split
    - werkzeug.datastructures.MIMEAccept._specificity
    - werkzeug.datastructures.Accept._specificity
    - <builtin>.tuple
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - value
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1813
    functionName: werkzeug.datastructures.MIMEAccept._specificity
    functionSourceFile: werkzeug.datastructures
    functionUses: 3
    functionsReached:
    - _mime_split_re.split
    - <builtin>.tuple
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - value
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1679
    functionName: werkzeug.datastructures.Accept._specificity
    functionSourceFile: ''
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - value
    - item
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1683
    functionName: werkzeug.datastructures.Accept._value_matches
    functionSourceFile: werkzeug.datastructures
    functionUses: 8
    functionsReached:
    - item.lower
    - value.lower
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: item.lower
    functionSourceFile: <builtin>
    functionUses: 11
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: value.lower
    functionSourceFile: <builtin>
    functionUses: 15
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - key
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 1687
    functionName: werkzeug.datastructures.Accept.__getitem__
    functionSourceFile: werkzeug.datastructures
    functionUses: 0
    functionsReached:
    - _mime_split_re.split
    - werkzeug.datastructures.CharsetAccept._value_matches
    - werkzeug.datastructures.Accept._value_matches
    - <builtin>.sorted
    - list.__getitem__
    - werkzeug.datastructures.CharsetAccept._value_matches._normalize
    - name.lower
    - codecs.lookup
    - werkzeug.datastructures._normalize_mime
    - <builtin>.isinstance
    - werkzeug.datastructures.MIMEAccept._value_matches
    - werkzeug.datastructures.LanguageAccept._value_matches
    - werkzeug.datastructures._normalize_lang
    - _locale_delim_re.split
    - item.lower
    - werkzeug.datastructures.Accept.quality
    - value.lower
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - key
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 1696
    functionName: werkzeug.datastructures.Accept.quality
    functionSourceFile: werkzeug.datastructures
    functionUses: 1
    functionsReached:
    - _mime_split_re.split
    - werkzeug.datastructures.CharsetAccept._value_matches
    - <builtin>.sorted
    - werkzeug.datastructures.Accept._value_matches
    - name.lower
    - werkzeug.datastructures._normalize_mime
    - werkzeug.datastructures.CharsetAccept._value_matches._normalize
    - codecs.lookup
    - werkzeug.datastructures.LanguageAccept._value_matches
    - item.lower
    - werkzeug.datastructures._normalize_lang
    - _locale_delim_re.split
    - werkzeug.datastructures.MIMEAccept._value_matches
    - value.lower
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: list.__getitem__
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 0
    IfCount: 4
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - value
    - item
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 1816
    functionName: werkzeug.datastructures.MIMEAccept._value_matches
    functionSourceFile: werkzeug.datastructures
    functionUses: 8
    functionsReached:
    - _mime_split_re.split
    - value.lower
    - <builtin>.sorted
    - werkzeug.datastructures._normalize_mime
    linkageType: pythonLinkage
    raised:
    - ValueError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - value
    - item
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 1939
    functionName: werkzeug.datastructures.CharsetAccept._value_matches
    functionSourceFile: werkzeug.datastructures
    functionUses: 8
    functionsReached:
    - codecs.lookup
    - name.lower
    - werkzeug.datastructures.CharsetAccept._value_matches._normalize
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - value
    - item
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 1885
    functionName: werkzeug.datastructures.LanguageAccept._value_matches
    functionSourceFile: werkzeug.datastructures
    functionUses: 8
    functionsReached:
    - value.lower
    - werkzeug.datastructures._normalize_lang
    - _locale_delim_re.split
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - value
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 1708
    functionName: werkzeug.datastructures.Accept.__contains__
    functionSourceFile: werkzeug.datastructures
    functionUses: 0
    functionsReached:
    - _mime_split_re.split
    - werkzeug.datastructures.CharsetAccept._value_matches
    - <builtin>.sorted
    - werkzeug.datastructures.Accept._value_matches
    - name.lower
    - werkzeug.datastructures._normalize_mime
    - werkzeug.datastructures.CharsetAccept._value_matches._normalize
    - codecs.lookup
    - werkzeug.datastructures.LanguageAccept._value_matches
    - item.lower
    - werkzeug.datastructures._normalize_lang
    - _locale_delim_re.split
    - werkzeug.datastructures.MIMEAccept._value_matches
    - value.lower
    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: 1714
    functionName: werkzeug.datastructures.Accept.__repr__
    functionSourceFile: werkzeug.datastructures
    functionUses: 0
    functionsReached:
    - <builtin>.type
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - key
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 1718
    functionName: werkzeug.datastructures.Accept.index
    functionSourceFile: werkzeug.datastructures
    functionUses: 1
    functionsReached:
    - list.index
    - _mime_split_re.split
    - werkzeug.datastructures.CharsetAccept._value_matches
    - werkzeug.datastructures.Accept._value_matches
    - <builtin>.sorted
    - name.lower
    - werkzeug.datastructures.CharsetAccept._value_matches._normalize
    - codecs.lookup
    - werkzeug.datastructures._normalize_mime
    - <builtin>.enumerate
    - <builtin>.isinstance
    - werkzeug.datastructures.LanguageAccept._value_matches
    - werkzeug.datastructures._normalize_lang
    - _locale_delim_re.split
    - item.lower
    - werkzeug.datastructures.MIMEAccept._value_matches
    - value.lower
    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: list.index
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - key
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 1734
    functionName: werkzeug.datastructures.Accept.find
    functionSourceFile: werkzeug.datastructures
    functionUses: 0
    functionsReached:
    - list.index
    - _mime_split_re.split
    - werkzeug.datastructures.CharsetAccept._value_matches
    - werkzeug.datastructures.Accept._value_matches
    - <builtin>.sorted
    - name.lower
    - werkzeug.datastructures.CharsetAccept._value_matches._normalize
    - codecs.lookup
    - werkzeug.datastructures._normalize_mime
    - <builtin>.enumerate
    - <builtin>.isinstance
    - werkzeug.datastructures.LanguageAccept._value_matches
    - werkzeug.datastructures._normalize_lang
    - _locale_delim_re.split
    - item.lower
    - werkzeug.datastructures.MIMEAccept._value_matches
    - werkzeug.datastructures.Accept.index
    - value.lower
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1744
    functionName: werkzeug.datastructures.Accept.values
    functionSourceFile: werkzeug.datastructures
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1749
    functionName: werkzeug.datastructures.Accept.to_header
    functionSourceFile: werkzeug.datastructures
    functionUses: 1
    functionsReached:
    - result.append
    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: 1758
    functionName: werkzeug.datastructures.Accept.__str__
    functionSourceFile: werkzeug.datastructures
    functionUses: 0
    functionsReached:
    - werkzeug.datastructures.Accept.to_header
    - result.append
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - match
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 1761
    functionName: werkzeug.datastructures.Accept._best_single_match
    functionSourceFile: werkzeug.datastructures
    functionUses: 2
    functionsReached:
    - _mime_split_re.split
    - werkzeug.datastructures.CharsetAccept._value_matches
    - <builtin>.sorted
    - werkzeug.datastructures.Accept._value_matches
    - name.lower
    - werkzeug.datastructures._normalize_mime
    - werkzeug.datastructures.CharsetAccept._value_matches._normalize
    - codecs.lookup
    - werkzeug.datastructures.LanguageAccept._value_matches
    - item.lower
    - werkzeug.datastructures._normalize_lang
    - _locale_delim_re.split
    - werkzeug.datastructures.MIMEAccept._value_matches
    - value.lower
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 1
    IfCount: 3
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe4a7f790>
    argNames:
    - self
    - matches
    - default
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 1768
    functionName: werkzeug.datastructures.Accept.best_match
    functionSourceFile: werkzeug.datastructures
    functionUses: 1
    functionsReached:
    - _mime_split_re.split
    - werkzeug.datastructures.CharsetAccept._value_matches
    - werkzeug.datastructures.Accept._value_matches
    - werkzeug.datastructures.MIMEAccept._specificity
    - name.lower
    - werkzeug.datastructures.CharsetAccept._value_matches._normalize
    - codecs.lookup
    - werkzeug.datastructures._normalize_mime
    - <builtin>.sorted
    - value.lower
    - werkzeug.datastructures.Accept._best_single_match
    - werkzeug.datastructures.Accept._specificity
    - werkzeug.datastructures.LanguageAccept._value_matches
    - werkzeug.datastructures._normalize_lang
    - _locale_delim_re.split
    - item.lower
    - werkzeug.datastructures.MIMEAccept._value_matches
    - <builtin>.tuple
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1795
    functionName: werkzeug.datastructures.Accept.best
    functionSourceFile: werkzeug.datastructures
    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:
    - value
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1804
    functionName: werkzeug.datastructures._normalize_mime
    functionSourceFile: werkzeug.datastructures
    functionUses: 9
    functionsReached:
    - _mime_split_re.split
    - value.lower
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: _mime_split_re.split
    functionSourceFile: <builtin>
    functionUses: 12
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1857
    functionName: werkzeug.datastructures.MIMEAccept.accept_html
    functionSourceFile: werkzeug.datastructures
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1864
    functionName: werkzeug.datastructures.MIMEAccept.accept_xhtml
    functionSourceFile: werkzeug.datastructures
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1869
    functionName: werkzeug.datastructures.MIMEAccept.accept_json
    functionSourceFile: werkzeug.datastructures
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - value
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1877
    functionName: werkzeug.datastructures._normalize_lang
    functionSourceFile: werkzeug.datastructures
    functionUses: 9
    functionsReached:
    - value.lower
    - _locale_delim_re.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: _locale_delim_re.split
    functionSourceFile: <builtin>
    functionUses: 10
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 1
    IfCount: 3
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe4a7c430>
    argNames:
    - self
    - matches
    - default
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 1888
    functionName: werkzeug.datastructures.LanguageAccept.best_match
    functionSourceFile: werkzeug.datastructures
    functionUses: 0
    functionsReached:
    - item.startswith
    - werkzeug.datastructures._normalize_mime
    - werkzeug.datastructures.Accept._specificity
    - werkzeug.datastructures.LanguageAccept._value_matches
    - list.__init__
    - werkzeug.datastructures.Accept.best_match
    - <builtin>.next
    - werkzeug.datastructures.Accept.__init__
    - werkzeug.datastructures.LanguageAccept.best_match
    - werkzeug.datastructures.MIMEAccept._specificity
    - werkzeug.datastructures.CharsetAccept._value_matches._normalize
    - codecs.lookup
    - value.lower
    - werkzeug.datastructures.MIMEAccept._value_matches
    - werkzeug.datastructures.CharsetAccept._value_matches
    - <builtin>.sorted
    - werkzeug.datastructures.Accept._value_matches
    - werkzeug.datastructures._normalize_lang
    - _mime_split_re.split
    - name.lower
    - werkzeug.datastructures.Accept._best_single_match
    - <builtin>.isinstance
    - <builtin>.super
    - _locale_delim_re.split
    - item.lower
    - <builtin>.tuple
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: item.startswith
    functionSourceFile: <builtin>
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - name
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1940
    functionName: werkzeug.datastructures.CharsetAccept._value_matches._normalize
    functionSourceFile: werkzeug.datastructures
    functionUses: 9
    functionsReached:
    - codecs.lookup
    - name.lower
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: codecs.lookup
    functionSourceFile: codecs
    functionUses: 10
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: name.lower
    functionSourceFile: <builtin>
    functionUses: 34
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - key
    - empty
    - type
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1949
    functionName: werkzeug.datastructures.cache_control_property
    functionSourceFile: werkzeug.datastructures
    functionUses: 3
    functionsReached:
    - <builtin>.property
    linkageType: 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: werkzeug.datastructures.cache_control_property.<lambda1>
    functionSourceFile: werkzeug.datastructures
    functionUses: 0
    functionsReached:
    - x._get_cache_value
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: x._get_cache_value
    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: werkzeug.datastructures.cache_control_property.<lambda2>
    functionSourceFile: werkzeug.datastructures
    functionUses: 0
    functionsReached:
    - x._set_cache_value
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: x._set_cache_value
    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: werkzeug.datastructures.cache_control_property.<lambda3>
    functionSourceFile: werkzeug.datastructures
    functionUses: 0
    functionsReached:
    - x._del_cache_value
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: x._del_cache_value
    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: 2
    functionLinenumber: -1
    functionName: werkzeug.datastructures._CacheControl
    functionSourceFile: werkzeug.datastructures
    functionUses: 0
    functionsReached:
    - <builtin>.staticmethod
    - werkzeug.datastructures.cache_control_property
    - <builtin>.property
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues:
    - <ast.Tuple object at 0x7fcfe4a6ca60>
    - <ast.Constant object at 0x7fcfe4a6ca30>
    argNames:
    - self
    - values
    - on_update
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 2005
    functionName: werkzeug.datastructures._CacheControl.__init__
    functionSourceFile: werkzeug.datastructures
    functionUses: 3
    functionsReached:
    - dict.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 1
    IfCount: 4
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - key
    - empty
    - type
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 2010
    functionName: werkzeug.datastructures._CacheControl._get_cache_value
    functionSourceFile: werkzeug.datastructures
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 3
    IfCount: 5
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - key
    - value
    - type
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 2026
    functionName: werkzeug.datastructures._CacheControl._set_cache_value
    functionSourceFile: werkzeug.datastructures
    functionUses: 0
    functionsReached:
    - werkzeug.http.dump_options_header
    - werkzeug.test.EnvironBuilder.mimetype_params.on_update
    - flask.sessions.NullSession._fail
    - werkzeug.datastructures.WWWAuthenticate.to_header
    - d.items
    - werkzeug.sansio.response.Response.content_security_policy.on_update
    - <builtin>.dict
    - value.decode
    - werkzeug.http.dump_csp_header
    - value.replace
    - werkzeug.sansio.response.Response.content_security_policy_report_only.on_update
    - segments.append
    - <builtin>.str
    - header.items
    - auth_type.title
    - options.items
    - werkzeug.sansio.response.Response.mimetype_params.on_update
    - werkzeug.sansio.response.Response.www_authenticate.on_update
    - werkzeug.http.quote_header_value
    - werkzeug.datastructures.ContentSecurityPolicy.to_header
    - <builtin>.isinstance
    - <builtin>.super
    - d.pop
    - <builtin>.set
    - werkzeug.datastructures.UpdateDictMixin.pop
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 96
    functionName: flask.sessions.NullSession._fail
    functionSourceFile: ''
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - RuntimeError
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - key
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 2044
    functionName: werkzeug.datastructures._CacheControl._del_cache_value
    functionSourceFile: werkzeug.datastructures
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 2049
    functionName: werkzeug.datastructures._CacheControl.to_header
    functionSourceFile: werkzeug.datastructures
    functionUses: 1
    functionsReached:
    - found.add
    - werkzeug.datastructures.CombinedMultiDict.items
    - <builtin>.str
    - <builtin>.isinstance
    - werkzeug.http.dump_header
    - value.replace
    - items.append
    - <builtin>.set
    - d.items
    - werkzeug.http.quote_header_value
    - value.decode
    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: 4
    functionLinenumber: 2053
    functionName: werkzeug.datastructures._CacheControl.__str__
    functionSourceFile: werkzeug.datastructures
    functionUses: 0
    functionsReached:
    - werkzeug.datastructures._CacheControl.to_header
    - found.add
    - werkzeug.datastructures.CombinedMultiDict.items
    - <builtin>.str
    - <builtin>.isinstance
    - werkzeug.http.dump_header
    - value.replace
    - items.append
    - <builtin>.set
    - d.items
    - werkzeug.http.quote_header_value
    - value.decode
    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: 2056
    functionName: werkzeug.datastructures._CacheControl.__repr__
    functionSourceFile: werkzeug.datastructures
    functionUses: 0
    functionsReached:
    - <builtin>.type
    - <builtin>.sorted
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.staticmethod
    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: 2
    functionLinenumber: -1
    functionName: werkzeug.datastructures.RequestCacheControl
    functionSourceFile: werkzeug.datastructures
    functionUses: 0
    functionsReached:
    - werkzeug.datastructures.cache_control_property
    - <builtin>.property
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: -1
    functionName: werkzeug.datastructures.ResponseCacheControl
    functionSourceFile: werkzeug.datastructures
    functionUses: 0
    functionsReached:
    - werkzeug.datastructures.cache_control_property
    - <builtin>.property
    linkageType: pythonLinkage
    raised: []
    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: 1
    functionLinenumber: 2116
    functionName: werkzeug.datastructures.csp_property
    functionSourceFile: werkzeug.datastructures
    functionUses: 1
    functionsReached:
    - <builtin>.property
    linkageType: 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: werkzeug.datastructures.csp_property.<lambda1>
    functionSourceFile: werkzeug.datastructures
    functionUses: 0
    functionsReached:
    - x._get_value
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: x._get_value
    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: werkzeug.datastructures.csp_property.<lambda2>
    functionSourceFile: werkzeug.datastructures
    functionUses: 0
    functionsReached:
    - x._set_value
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: x._set_value
    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: werkzeug.datastructures.csp_property.<lambda3>
    functionSourceFile: werkzeug.datastructures
    functionUses: 0
    functionsReached:
    - x._del_value
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: x._del_value
    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: 2
    functionLinenumber: -1
    functionName: werkzeug.datastructures.ContentSecurityPolicy
    functionSourceFile: werkzeug.datastructures
    functionUses: 0
    functionsReached:
    - werkzeug.datastructures.csp_property
    - <builtin>.property
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - key
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 2177
    functionName: werkzeug.datastructures.ContentSecurityPolicy._get_value
    functionSourceFile: werkzeug.datastructures
    functionUses: 0
    functionsReached:
    - flask.sessions.SecureCookieSession.get
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe0ab2a30>
    argNames:
    - self
    - key
    - default
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 81
    functionName: flask.sessions.SecureCookieSession.get
    functionSourceFile: flask.sessions
    functionUses: 3
    functionsReached:
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - key
    - value
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 2181
    functionName: werkzeug.datastructures.ContentSecurityPolicy._set_value
    functionSourceFile: werkzeug.datastructures
    functionUses: 0
    functionsReached:
    - werkzeug.http.dump_options_header
    - werkzeug.test.EnvironBuilder.mimetype_params.on_update
    - flask.sessions.NullSession._fail
    - werkzeug.datastructures.WWWAuthenticate.to_header
    - d.items
    - werkzeug.sansio.response.Response.content_security_policy.on_update
    - <builtin>.dict
    - value.decode
    - werkzeug.http.dump_csp_header
    - value.replace
    - werkzeug.sansio.response.Response.content_security_policy_report_only.on_update
    - segments.append
    - <builtin>.str
    - header.items
    - auth_type.title
    - options.items
    - werkzeug.sansio.response.Response.mimetype_params.on_update
    - werkzeug.sansio.response.Response.www_authenticate.on_update
    - werkzeug.http.quote_header_value
    - werkzeug.datastructures.ContentSecurityPolicy.to_header
    - <builtin>.isinstance
    - <builtin>.super
    - d.pop
    - <builtin>.set
    - werkzeug.datastructures.UpdateDictMixin.pop
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - key
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 2188
    functionName: werkzeug.datastructures.ContentSecurityPolicy._del_value
    functionSourceFile: werkzeug.datastructures
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - header
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 296
    functionName: werkzeug.http.dump_csp_header
    functionSourceFile: werkzeug.http
    functionUses: 12
    functionsReached:
    - header.items
    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: 3
    functionLinenumber: 2197
    functionName: werkzeug.datastructures.ContentSecurityPolicy.__str__
    functionSourceFile: werkzeug.datastructures
    functionUses: 0
    functionsReached:
    - header.items
    - werkzeug.http.dump_csp_header
    - werkzeug.datastructures.ContentSecurityPolicy.to_header
    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: 2200
    functionName: werkzeug.datastructures.ContentSecurityPolicy.__repr__
    functionSourceFile: werkzeug.datastructures
    functionUses: 0
    functionsReached:
    - <builtin>.type
    - <builtin>.sorted
    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: 2214
    functionName: werkzeug.datastructures.CallbackDict.__repr__
    functionSourceFile: werkzeug.datastructures
    functionUses: 0
    functionsReached:
    - <builtin>.type
    - dict.__repr__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe389f370>
    - <ast.Constant object at 0x7fcfe389f3a0>
    argNames:
    - self
    - headers
    - on_update
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 2231
    functionName: werkzeug.datastructures.HeaderSet.__init__
    functionSourceFile: werkzeug.datastructures
    functionUses: 4
    functionsReached:
    - <builtin>.list
    - x.lower
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: x.lower
    functionSourceFile: <builtin>
    functionUses: 9
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - header
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 2236
    functionName: werkzeug.datastructures.HeaderSet.add
    functionSourceFile: werkzeug.datastructures
    functionUses: 0
    functionsReached:
    - werkzeug.datastructures._set_property.fget.on_update
    - <builtin>.map
    - header.lower
    - werkzeug.sansio.response._set_property.fget.on_update
    - werkzeug.datastructures.HeaderSet.to_header
    - werkzeug.datastructures.HeaderSet.update
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - iterable
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 2261
    functionName: werkzeug.datastructures.HeaderSet.update
    functionSourceFile: werkzeug.datastructures
    functionUses: 1
    functionsReached:
    - werkzeug.datastructures._set_property.fget.on_update
    - <builtin>.map
    - header.lower
    - werkzeug.sansio.response._set_property.fget.on_update
    - werkzeug.datastructures.HeaderSet.to_header
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 3
    IfCount: 3
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - header
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 2240
    functionName: werkzeug.datastructures.HeaderSet.remove
    functionSourceFile: werkzeug.datastructures
    functionUses: 1
    functionsReached:
    - werkzeug.datastructures._set_property.fget.on_update
    - key.lower
    - <builtin>.map
    - header.lower
    - werkzeug.sansio.response._set_property.fget.on_update
    - werkzeug.datastructures.HeaderSet.to_header
    - <builtin>.enumerate
    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: header.lower
    functionSourceFile: <builtin>
    functionUses: 17
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - header_set
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 2759
    functionName: werkzeug.datastructures._set_property.fget.on_update
    functionSourceFile: werkzeug.datastructures
    functionUses: 7
    functionsReached:
    - werkzeug.datastructures.HeaderSet.to_header
    - <builtin>.map
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - header
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 2276
    functionName: werkzeug.datastructures.HeaderSet.discard
    functionSourceFile: werkzeug.datastructures
    functionUses: 0
    functionsReached:
    - werkzeug.datastructures._set_property.fget.on_update
    - key.lower
    - <builtin>.map
    - header.lower
    - werkzeug.sansio.response._set_property.fget.on_update
    - werkzeug.datastructures.HeaderSet.to_header
    - <builtin>.enumerate
    - werkzeug.datastructures.HeaderSet.remove
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - header
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 2286
    functionName: werkzeug.datastructures.HeaderSet.find
    functionSourceFile: werkzeug.datastructures
    functionUses: 1
    functionsReached:
    - header.lower
    - item.lower
    - <builtin>.enumerate
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - header
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 2297
    functionName: werkzeug.datastructures.HeaderSet.index
    functionSourceFile: werkzeug.datastructures
    functionUses: 0
    functionsReached:
    - header.lower
    - item.lower
    - <builtin>.enumerate
    - werkzeug.datastructures.HeaderSet.find
    linkageType: pythonLinkage
    raised:
    - IndexError
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 2308
    functionName: werkzeug.datastructures.HeaderSet.clear
    functionSourceFile: werkzeug.datastructures
    functionUses: 0
    functionsReached:
    - werkzeug.sansio.response._set_property.fget.on_update
    - werkzeug.datastructures.HeaderSet.to_header
    - werkzeug.datastructures._set_property.fget.on_update
    - <builtin>.map
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe3891580>
    argNames:
    - self
    - preserve_casing
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 2315
    functionName: werkzeug.datastructures.HeaderSet.as_set
    functionSourceFile: werkzeug.datastructures
    functionUses: 0
    functionsReached:
    - <builtin>.set
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - idx
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 2332
    functionName: werkzeug.datastructures.HeaderSet.__getitem__
    functionSourceFile: werkzeug.datastructures
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - idx
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 2335
    functionName: werkzeug.datastructures.HeaderSet.__delitem__
    functionSourceFile: werkzeug.datastructures
    functionUses: 0
    functionsReached:
    - werkzeug.datastructures._set_property.fget.on_update
    - <builtin>.map
    - rv.lower
    - werkzeug.sansio.response._set_property.fget.on_update
    - werkzeug.datastructures.HeaderSet.to_header
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: rv.lower
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - idx
    - value
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 2341
    functionName: werkzeug.datastructures.HeaderSet.__setitem__
    functionSourceFile: werkzeug.datastructures
    functionUses: 0
    functionsReached:
    - werkzeug.datastructures._set_property.fget.on_update
    - <builtin>.map
    - werkzeug.sansio.response._set_property.fget.on_update
    - werkzeug.datastructures.HeaderSet.to_header
    - old.lower
    - value.lower
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: old.lower
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - header
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 2349
    functionName: werkzeug.datastructures.HeaderSet.__contains__
    functionSourceFile: werkzeug.datastructures
    functionUses: 0
    functionsReached:
    - header.lower
    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: 2352
    functionName: werkzeug.datastructures.HeaderSet.__len__
    functionSourceFile: werkzeug.datastructures
    functionUses: 0
    functionsReached:
    - <builtin>.len
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 2355
    functionName: werkzeug.datastructures.HeaderSet.__iter__
    functionSourceFile: werkzeug.datastructures
    functionUses: 0
    functionsReached:
    - <builtin>.iter
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 2358
    functionName: werkzeug.datastructures.HeaderSet.__bool__
    functionSourceFile: werkzeug.datastructures
    functionUses: 0
    functionsReached:
    - <builtin>.bool
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: 28
    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: 2361
    functionName: werkzeug.datastructures.HeaderSet.__str__
    functionSourceFile: werkzeug.datastructures
    functionUses: 0
    functionsReached:
    - werkzeug.datastructures.HeaderSet.to_header
    - <builtin>.map
    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: 2364
    functionName: werkzeug.datastructures.HeaderSet.__repr__
    functionSourceFile: werkzeug.datastructures
    functionUses: 0
    functionsReached:
    - <builtin>.type
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe38c5b20>
    - <ast.Constant object at 0x7fcfe38c5b50>
    - <ast.Constant object at 0x7fcfe38c5b80>
    argNames:
    - self
    - strong_etags
    - weak_etags
    - star_tag
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 2373
    functionName: werkzeug.datastructures.ETags.__init__
    functionSourceFile: werkzeug.datastructures
    functionUses: 8
    functionsReached:
    - <builtin>.frozenset
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe38b01f0>
    argNames:
    - self
    - include_weak
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 2382
    functionName: werkzeug.datastructures.ETags.as_set
    functionSourceFile: werkzeug.datastructures
    functionUses: 0
    functionsReached:
    - rv.update
    - <builtin>.set
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - etag
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 2390
    functionName: werkzeug.datastructures.ETags.is_weak
    functionSourceFile: werkzeug.datastructures
    functionUses: 7
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - etag
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 2394
    functionName: werkzeug.datastructures.ETags.is_strong
    functionSourceFile: werkzeug.datastructures
    functionUses: 9
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - etag
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 2398
    functionName: werkzeug.datastructures.ETags.contains_weak
    functionSourceFile: werkzeug.datastructures
    functionUses: 6
    functionsReached:
    - werkzeug.datastructures.ETags.contains
    - werkzeug.datastructures.ETags.is_weak
    - werkzeug.datastructures.ETags.is_strong
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - etag
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 2402
    functionName: werkzeug.datastructures.ETags.contains
    functionSourceFile: werkzeug.datastructures
    functionUses: 8
    functionsReached:
    - werkzeug.datastructures.ETags.is_strong
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - etag
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 2410
    functionName: werkzeug.datastructures.ETags.contains_raw
    functionSourceFile: werkzeug.datastructures
    functionUses: 0
    functionsReached:
    - werkzeug.http.unquote_etag
    - werkzeug.datastructures.ETags.contains
    - werkzeug.datastructures.ETags.contains_weak
    - etag.startswith
    - werkzeug.datastructures.ETags.is_weak
    - etag.strip
    - werkzeug.datastructures.ETags.is_strong
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 2419
    functionName: werkzeug.datastructures.ETags.to_header
    functionSourceFile: werkzeug.datastructures
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 0
    IfCount: 4
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe38c20d0>
    - <ast.Constant object at 0x7fcfe38c2100>
    - <ast.Constant object at 0x7fcfe38c2130>
    argNames:
    - self
    - etag
    - data
    - include_weak
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 2427
    functionName: werkzeug.datastructures.ETags.__call__
    functionSourceFile: werkzeug.datastructures
    functionUses: 0
    functionsReached:
    - hashlib.sha1.hexdigest
    - hashlib.sha1
    - werkzeug.http.generate_etag
    linkageType: pythonLinkage
    raised:
    - TypeError
    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: 2437
    functionName: werkzeug.datastructures.ETags.__bool__
    functionSourceFile: werkzeug.datastructures
    functionUses: 0
    functionsReached:
    - <builtin>.bool
    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: 2440
    functionName: werkzeug.datastructures.ETags.__str__
    functionSourceFile: werkzeug.datastructures
    functionUses: 0
    functionsReached:
    - werkzeug.datastructures.ETags.to_header
    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: 2443
    functionName: werkzeug.datastructures.ETags.__len__
    functionSourceFile: werkzeug.datastructures
    functionUses: 0
    functionsReached:
    - <builtin>.len
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 2446
    functionName: werkzeug.datastructures.ETags.__iter__
    functionSourceFile: werkzeug.datastructures
    functionUses: 0
    functionsReached:
    - <builtin>.iter
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - etag
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 2449
    functionName: werkzeug.datastructures.ETags.__contains__
    functionSourceFile: werkzeug.datastructures
    functionUses: 0
    functionsReached:
    - werkzeug.datastructures.ETags.contains
    - werkzeug.datastructures.ETags.is_strong
    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: 2452
    functionName: werkzeug.datastructures.ETags.__repr__
    functionSourceFile: werkzeug.datastructures
    functionUses: 0
    functionsReached:
    - <builtin>.str
    - <builtin>.type
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe38c67f0>
    - <ast.Constant object at 0x7fcfe38c6820>
    argNames:
    - self
    - etag
    - date
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 2464
    functionName: werkzeug.datastructures.IfRange.__init__
    functionSourceFile: werkzeug.datastructures
    functionUses: 7
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 2471
    functionName: werkzeug.datastructures.IfRange.to_header
    functionSourceFile: werkzeug.datastructures
    functionUses: 1
    functionsReached:
    - email.utils.format_datetime
    - <builtin>.isinstance
    - time.mktime
    - werkzeug.http.http_date
    - email.utils.formatdate
    - werkzeug.http.quote_etag
    - time.mktime.replace
    - datetime.time
    - time.mktime.astimezone
    - datetime.datetime.combine
    - werkzeug._internal._dt_as_utc
    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: 4
    functionLinenumber: 2479
    functionName: werkzeug.datastructures.IfRange.__str__
    functionSourceFile: werkzeug.datastructures
    functionUses: 0
    functionsReached:
    - email.utils.format_datetime
    - <builtin>.isinstance
    - werkzeug.datastructures.IfRange.to_header
    - werkzeug.http.http_date
    - time.mktime
    - email.utils.formatdate
    - werkzeug.http.quote_etag
    - time.mktime.replace
    - datetime.time
    - time.mktime.astimezone
    - datetime.datetime.combine
    - werkzeug._internal._dt_as_utc
    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: 2482
    functionName: werkzeug.datastructures.IfRange.__repr__
    functionSourceFile: werkzeug.datastructures
    functionUses: 0
    functionsReached:
    - <builtin>.str
    - <builtin>.type
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - units
    - ranges
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 2499
    functionName: werkzeug.datastructures.Range.__init__
    functionSourceFile: werkzeug.datastructures
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - ValueError
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 1
    IfCount: 4
    argCount: 3
    argDefaultValues: []
    argNames:
    - start
    - stop
    - length
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1352
    functionName: werkzeug.http.is_byte_range_valid
    functionSourceFile: ''
    functionUses: 10
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - length
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 2526
    functionName: werkzeug.datastructures.Range.make_content_range
    functionSourceFile: werkzeug.datastructures
    functionUses: 0
    functionsReached:
    - werkzeug.datastructures.Range.range_for_length
    - werkzeug.datastructures.ContentRange.__init__
    - werkzeug.datastructures.ContentRange.set
    - werkzeug.datastructures.ContentRange.to_header
    - <builtin>.min
    - <builtin>.len
    - werkzeug.http.is_byte_range_valid
    - werkzeug.sansio.response.Response.content_range.on_update
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 2535
    functionName: werkzeug.datastructures.Range.to_header
    functionSourceFile: werkzeug.datastructures
    functionUses: 1
    functionsReached:
    - ranges.append
    - <builtin>.str
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: ranges.append
    functionSourceFile: <builtin>
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 2554
    functionName: werkzeug.datastructures.Range.__str__
    functionSourceFile: werkzeug.datastructures
    functionUses: 0
    functionsReached:
    - ranges.append
    - <builtin>.str
    - werkzeug.datastructures.Range.to_header
    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: 2557
    functionName: werkzeug.datastructures.Range.__repr__
    functionSourceFile: werkzeug.datastructures
    functionUses: 0
    functionsReached:
    - <builtin>.str
    - <builtin>.type
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - name
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 2561
    functionName: werkzeug.datastructures._callback_property
    functionSourceFile: werkzeug.datastructures
    functionUses: 1
    functionsReached:
    - <builtin>.property
    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: 2562
    functionName: werkzeug.datastructures._callback_property.fget
    functionSourceFile: werkzeug.datastructures
    functionUses: 0
    functionsReached:
    - <builtin>.getattr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - value
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 2565
    functionName: werkzeug.datastructures._callback_property.fset
    functionSourceFile: werkzeug.datastructures
    functionUses: 0
    functionsReached:
    - <builtin>.setattr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 5
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe196fe80>
    - <ast.Constant object at 0x7fcfe196feb0>
    argNames:
    - self
    - start
    - stop
    - length
    - units
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 2594
    functionName: werkzeug.datastructures.ContentRange.set
    functionSourceFile: werkzeug.datastructures
    functionUses: 5
    functionsReached:
    - werkzeug.http.is_byte_range_valid
    - werkzeug.datastructures.ContentRange.to_header
    - werkzeug.sansio.response.Response.content_range.on_update
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: -1
    functionName: werkzeug.datastructures.ContentRange
    functionSourceFile: werkzeug.datastructures
    functionUses: 0
    functionsReached:
    - werkzeug.datastructures._callback_property
    - <builtin>.property
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 2604
    functionName: werkzeug.datastructures.ContentRange.unset
    functionSourceFile: werkzeug.datastructures
    functionUses: 0
    functionsReached:
    - werkzeug.datastructures.ContentRange.set
    - werkzeug.http.is_byte_range_valid
    - werkzeug.datastructures.ContentRange.to_header
    - werkzeug.sansio.response.Response.content_range.on_update
    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: 2621
    functionName: werkzeug.datastructures.ContentRange.__bool__
    functionSourceFile: werkzeug.datastructures
    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: 2624
    functionName: werkzeug.datastructures.ContentRange.__str__
    functionSourceFile: werkzeug.datastructures
    functionUses: 0
    functionsReached:
    - werkzeug.datastructures.ContentRange.to_header
    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: 2627
    functionName: werkzeug.datastructures.ContentRange.__repr__
    functionSourceFile: werkzeug.datastructures
    functionUses: 0
    functionsReached:
    - <builtin>.str
    - <builtin>.type
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe194dd30>
    argNames:
    - self
    - auth_type
    - data
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 2643
    functionName: werkzeug.datastructures.Authorization.__init__
    functionSourceFile: werkzeug.datastructures
    functionUses: 19
    functionsReached:
    - dict.__init__
    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: 2648
    functionName: werkzeug.datastructures.Authorization.username
    functionSourceFile: werkzeug.datastructures
    functionUses: 0
    functionsReached:
    - werkzeug.datastructures.CombinedMultiDict.get
    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: 2655
    functionName: werkzeug.datastructures.Authorization.password
    functionSourceFile: werkzeug.datastructures
    functionUses: 0
    functionsReached:
    - werkzeug.datastructures.CombinedMultiDict.get
    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: 2662
    functionName: werkzeug.datastructures.Authorization.realm
    functionSourceFile: werkzeug.datastructures
    functionUses: 0
    functionsReached:
    - werkzeug.datastructures.CombinedMultiDict.get
    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: 2667
    functionName: werkzeug.datastructures.Authorization.nonce
    functionSourceFile: werkzeug.datastructures
    functionUses: 0
    functionsReached:
    - werkzeug.datastructures.CombinedMultiDict.get
    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: 2674
    functionName: werkzeug.datastructures.Authorization.uri
    functionSourceFile: werkzeug.datastructures
    functionUses: 0
    functionsReached:
    - werkzeug.datastructures.CombinedMultiDict.get
    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: 2682
    functionName: werkzeug.datastructures.Authorization.nc
    functionSourceFile: werkzeug.datastructures
    functionUses: 0
    functionsReached:
    - werkzeug.datastructures.CombinedMultiDict.get
    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: 2689
    functionName: werkzeug.datastructures.Authorization.cnonce
    functionSourceFile: werkzeug.datastructures
    functionUses: 0
    functionsReached:
    - werkzeug.datastructures.CombinedMultiDict.get
    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: 2697
    functionName: werkzeug.datastructures.Authorization.response
    functionSourceFile: werkzeug.datastructures
    functionUses: 0
    functionsReached:
    - werkzeug.datastructures.CombinedMultiDict.get
    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: 2704
    functionName: werkzeug.datastructures.Authorization.opaque
    functionSourceFile: werkzeug.datastructures
    functionUses: 0
    functionsReached:
    - werkzeug.datastructures.CombinedMultiDict.get
    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: 2712
    functionName: werkzeug.datastructures.Authorization.qop
    functionSourceFile: werkzeug.datastructures
    functionUses: 0
    functionsReached:
    - werkzeug.datastructures.CombinedMultiDict.get
    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: 2719
    functionName: werkzeug.datastructures.Authorization.to_header
    functionSourceFile: werkzeug.datastructures
    functionUses: 17
    functionsReached:
    - found.add
    - werkzeug.datastructures.CombinedMultiDict.items
    - base64.b64encode
    - <builtin>.str
    - <builtin>.isinstance
    - werkzeug.http.dump_header
    - value.replace
    - items.append
    - <builtin>.set
    - d.items
    - werkzeug.http.quote_header_value
    - value.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: base64.b64encode
    functionSourceFile: base64
    functionUses: 19
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe193f550>
    argNames:
    - name
    - doc
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 2737
    functionName: werkzeug.datastructures.auth_property
    functionSourceFile: werkzeug.datastructures
    functionUses: 0
    functionsReached:
    - <builtin>.property
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - value
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 2748
    functionName: werkzeug.datastructures.auth_property._set_value
    functionSourceFile: werkzeug.datastructures
    functionUses: 0
    functionsReached:
    - <builtin>.str
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: werkzeug.datastructures.auth_property.<lambda1>
    functionSourceFile: werkzeug.datastructures
    functionUses: 0
    functionsReached:
    - x.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: x.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: 2
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe193fd90>
    argNames:
    - name
    - doc
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 2757
    functionName: werkzeug.datastructures._set_property
    functionSourceFile: werkzeug.datastructures
    functionUses: 1
    functionsReached:
    - <builtin>.property
    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: 4
    functionLinenumber: 2758
    functionName: werkzeug.datastructures._set_property.fget
    functionSourceFile: werkzeug.datastructures
    functionUses: 0
    functionsReached:
    - <builtin>.list
    - werkzeug.http.unquote_header_value
    - urllib.request.parse_http_list
    - werkzeug.http.parse_list_header
    - x.lower
    - value.replace
    - werkzeug.datastructures.HeaderSet.__init__
    - result.append
    - werkzeug.http.parse_set_header
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: -1
    functionName: werkzeug.datastructures.WWWAuthenticate
    functionSourceFile: werkzeug.datastructures
    functionUses: 0
    functionsReached:
    - <builtin>.frozenset
    - werkzeug.datastructures._set_property
    - <builtin>.staticmethod
    - <builtin>.property
    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 0x7fcfe1963a90>
    - <ast.Constant object at 0x7fcfe1963ac0>
    - <ast.Constant object at 0x7fcfe1963af0>
    argNames:
    - self
    - auth_type
    - values
    - on_update
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 2776
    functionName: werkzeug.datastructures.WWWAuthenticate.__init__
    functionSourceFile: werkzeug.datastructures
    functionUses: 2
    functionsReached:
    - dict.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 4
    IfCount: 1
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe1963fa0>
    argNames:
    - self
    - realm
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 2782
    functionName: werkzeug.datastructures.WWWAuthenticate.set_basic
    functionSourceFile: werkzeug.datastructures
    functionUses: 0
    functionsReached:
    - werkzeug.http.dump_csp_header
    - dict.update
    - value.decode
    - <builtin>.str
    - <builtin>.isinstance
    - header.items
    - auth_type.title
    - value.replace
    - werkzeug.datastructures.WWWAuthenticate.to_header
    - d.pop
    - <builtin>.set
    - d.items
    - werkzeug.sansio.response.Response.www_authenticate.on_update
    - <builtin>.dict
    - werkzeug.http.quote_header_value
    - werkzeug.datastructures.ContentSecurityPolicy.to_header
    - dict.clear
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 4
    IfCount: 4
    argCount: 7
    argDefaultValues:
    - <ast.Tuple object at 0x7fcfe1972730>
    - <ast.Constant object at 0x7fcfe1972790>
    - <ast.Constant object at 0x7fcfe19727c0>
    - <ast.Constant object at 0x7fcfe19727f0>
    argNames:
    - self
    - realm
    - nonce
    - qop
    - opaque
    - algorithm
    - stale
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 2789
    functionName: werkzeug.datastructures.WWWAuthenticate.set_digest
    functionSourceFile: werkzeug.datastructures
    functionUses: 0
    functionsReached:
    - werkzeug.datastructures.WWWAuthenticate.to_header
    - d.items
    - <builtin>.dict
    - value.decode
    - werkzeug.http.dump_csp_header
    - dict.update
    - werkzeug.datastructures.CombinedMultiDict.items
    - value.replace
    - dict.clear
    - <builtin>.str
    - werkzeug.http.dump_header
    - auth_type.title
    - header.items
    - werkzeug.sansio.response.Response.www_authenticate.on_update
    - werkzeug.http.quote_header_value
    - werkzeug.datastructures.ContentSecurityPolicy.to_header
    - found.add
    - <builtin>.isinstance
    - items.append
    - d.pop
    - <builtin>.set
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: d.pop
    functionSourceFile: <builtin>
    functionUses: 13
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 1
    IfCount: 3
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe3b58280>
    - <ast.Constant object at 0x7fcfe3b58250>
    argNames:
    - value
    - extra_chars
    - allow_token
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 195
    functionName: werkzeug.http.quote_header_value
    functionSourceFile: werkzeug.http
    functionUses: 88
    functionsReached:
    - <builtin>.str
    - <builtin>.isinstance
    - value.replace
    - <builtin>.set
    - value.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: auth_type.title
    functionSourceFile: <builtin>
    functionUses: 13
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 2821
    functionName: werkzeug.datastructures.WWWAuthenticate.__str__
    functionSourceFile: werkzeug.datastructures
    functionUses: 0
    functionsReached:
    - <builtin>.str
    - <builtin>.isinstance
    - value.replace
    - auth_type.title
    - werkzeug.datastructures.WWWAuthenticate.to_header
    - d.pop
    - <builtin>.set
    - d.items
    - <builtin>.dict
    - werkzeug.http.quote_header_value
    - value.decode
    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: 3
    functionLinenumber: 2824
    functionName: werkzeug.datastructures.WWWAuthenticate.__repr__
    functionSourceFile: werkzeug.datastructures
    functionUses: 0
    functionsReached:
    - <builtin>.str
    - <builtin>.isinstance
    - value.replace
    - auth_type.title
    - werkzeug.datastructures.WWWAuthenticate.to_header
    - d.pop
    - <builtin>.set
    - d.items
    - <builtin>.dict
    - werkzeug.http.quote_header_value
    - value.decode
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - value
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 2885
    functionName: werkzeug.datastructures.WWWAuthenticate.stale
    functionSourceFile: werkzeug.datastructures
    functionUses: 0
    functionsReached:
    - werkzeug.http.dump_options_header
    - werkzeug.test.EnvironBuilder.mimetype_params.on_update
    - flask.sessions.NullSession._fail
    - werkzeug.datastructures.WWWAuthenticate.to_header
    - d.items
    - werkzeug.sansio.response.Response.content_security_policy.on_update
    - <builtin>.dict
    - value.decode
    - werkzeug.http.dump_csp_header
    - value.replace
    - werkzeug.sansio.response.Response.content_security_policy_report_only.on_update
    - flask.sessions.SecureCookieSession.get
    - segments.append
    - <builtin>.str
    - header.items
    - auth_type.title
    - options.items
    - werkzeug.sansio.response.Response.mimetype_params.on_update
    - werkzeug.sansio.response.Response.www_authenticate.on_update
    - werkzeug.http.quote_header_value
    - werkzeug.datastructures.ContentSecurityPolicy.to_header
    - <builtin>.isinstance
    - <builtin>.super
    - d.pop
    - <builtin>.set
    - werkzeug.datastructures.UpdateDictMixin.pop
    - val.lower
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: val.lower
    functionSourceFile: <builtin>
    functionUses: 15
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: os.fsdecode
    functionSourceFile: os
    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: 3
    functionLinenumber: 2938
    functionName: werkzeug.datastructures.FileStorage._parse_content_type
    functionSourceFile: werkzeug.datastructures
    functionUses: 2
    functionsReached:
    - werkzeug.http.parse_options_header
    - optmatch.end
    - options.get
    - optmatch.groups
    - warnings.warn
    - werkzeug.http.unquote_header_value
    - match.group
    - value.replace
    - _option_header_piece_re.match
    - _option_header_start_mime_type.match
    - <builtin>.hasattr
    - urllib.parse.unquote_to_bytes.decode
    - result.append
    - urllib.parse.unquote_to_bytes
    - <builtin>.tuple
    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: 4
    functionLinenumber: 2943
    functionName: werkzeug.datastructures.FileStorage.content_type
    functionSourceFile: werkzeug.datastructures
    functionUses: 0
    functionsReached:
    - werkzeug.datastructures.EnvironHeaders.__getitem__
    - key.lower
    - value.decode
    - <builtin>.str
    - <builtin>.isinstance
    - werkzeug.datastructures.Headers.__getitem__
    - key.upper
    - werkzeug.datastructures._unicodify_header_value
    - rv.encode
    - k.lower
    - werkzeug.datastructures.Headers.get
    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: 4
    functionLinenumber: 2948
    functionName: werkzeug.datastructures.FileStorage.content_length
    functionSourceFile: werkzeug.datastructures
    functionUses: 0
    functionsReached:
    - werkzeug.datastructures.EnvironHeaders.__getitem__
    - key.lower
    - value.decode
    - <builtin>.str
    - <builtin>.int
    - <builtin>.isinstance
    - werkzeug.datastructures.Headers.__getitem__
    - key.upper
    - werkzeug.datastructures._unicodify_header_value
    - rv.encode
    - k.lower
    - werkzeug.datastructures.Headers.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 2953
    functionName: werkzeug.datastructures.FileStorage.mimetype
    functionSourceFile: werkzeug.datastructures
    functionUses: 0
    functionsReached:
    - werkzeug.http.parse_options_header
    - options.get
    - optmatch.groups
    - optmatch.end
    - warnings.warn
    - werkzeug.http.unquote_header_value
    - match.group
    - value.replace
    - _option_header_piece_re.match
    - _option_header_start_mime_type.match
    - werkzeug.datastructures.FileStorage._parse_content_type
    - <builtin>.hasattr
    - urllib.parse.unquote_to_bytes.decode
    - result.append
    - urllib.parse.unquote_to_bytes
    - <builtin>.tuple
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 2965
    functionName: werkzeug.datastructures.FileStorage.mimetype_params
    functionSourceFile: werkzeug.datastructures
    functionUses: 0
    functionsReached:
    - werkzeug.http.parse_options_header
    - options.get
    - optmatch.groups
    - optmatch.end
    - warnings.warn
    - werkzeug.http.unquote_header_value
    - match.group
    - value.replace
    - _option_header_piece_re.match
    - _option_header_start_mime_type.match
    - werkzeug.datastructures.FileStorage._parse_content_type
    - <builtin>.hasattr
    - urllib.parse.unquote_to_bytes.decode
    - result.append
    - urllib.parse.unquote_to_bytes
    - <builtin>.tuple
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 3
    IfCount: 3
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe3bf41f0>
    argNames:
    - self
    - dst
    - buffer_size
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 2975
    functionName: werkzeug.datastructures.FileStorage.save
    functionSourceFile: werkzeug.datastructures
    functionUses: 0
    functionsReached:
    - <builtin>.isinstance
    - os.fspath
    - <builtin>.open
    - <builtin>.hasattr
    - shutil.copyfileobj
    - os.fspath.close
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: shutil.copyfileobj
    functionSourceFile: shutil
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: os.fspath.close
    functionSourceFile: os
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 3008
    functionName: werkzeug.datastructures.FileStorage.close
    functionSourceFile: werkzeug.datastructures
    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: 3015
    functionName: werkzeug.datastructures.FileStorage.__bool__
    functionSourceFile: werkzeug.datastructures
    functionUses: 0
    functionsReached:
    - <builtin>.bool
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 3018
    functionName: werkzeug.datastructures.FileStorage.__getattr__
    functionSourceFile: werkzeug.datastructures
    functionUses: 0
    functionsReached:
    - <builtin>.hasattr
    - <builtin>.getattr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 3029
    functionName: werkzeug.datastructures.FileStorage.__iter__
    functionSourceFile: werkzeug.datastructures
    functionUses: 0
    functionsReached:
    - <builtin>.iter
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 3032
    functionName: werkzeug.datastructures.FileStorage.__repr__
    functionSourceFile: werkzeug.datastructures
    functionUses: 0
    functionsReached:
    - <builtin>.type
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: werkzeug.http
    functionSourceFile: werkzeug.http
    functionUses: 0
    functionsReached:
    - re.compile
    - typing.overload
    - <builtin>.frozenset
    - typing.TypeVar
    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 0x7fcfe47edf40>
    argNames:
    - value
    - is_filename
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 218
    functionName: werkzeug.http.unquote_header_value
    functionSourceFile: werkzeug.http
    functionUses: 32
    functionsReached:
    - value.replace
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: segments.append
    functionSourceFile: <builtin>
    functionUses: 75
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.items
    functionSourceFile: <builtin>
    functionUses: 75
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: items.append
    functionSourceFile: <builtin>
    functionUses: 38
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: header.items
    functionSourceFile: <builtin>
    functionUses: 13
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - value
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 309
    functionName: werkzeug.http.parse_list_header
    functionSourceFile: werkzeug.http
    functionUses: 7
    functionsReached:
    - werkzeug.http.unquote_header_value
    - result.append
    - value.replace
    - urllib.request.parse_http_list
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: urllib.request.parse_http_list
    functionSourceFile: urllib
    functionUses: 16
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 1
    IfCount: 3
    argCount: 2
    argDefaultValues:
    - <ast.Name object at 0x7fcfe107b610>
    argNames:
    - value
    - cls
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 339
    functionName: werkzeug.http.parse_dict_header
    functionSourceFile: werkzeug.http
    functionUses: 7
    functionsReached:
    - werkzeug.http.unquote_header_value
    - urllib.request.parse_http_list
    - <builtin>.isinstance
    - value.replace
    - value.decode
    - urllib.request.parse_http_list.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: urllib.request.parse_http_list.split
    functionSourceFile: urllib
    functionUses: 8
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: _option_header_start_mime_type.match
    functionSourceFile: <builtin>
    functionUses: 16
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: _option_header_piece_re.match
    functionSourceFile: <builtin>
    functionUses: 16
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: optmatch.groups
    functionSourceFile: <builtin>
    functionUses: 16
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: urllib.parse.unquote_to_bytes
    functionSourceFile: urllib
    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: urllib.parse.unquote_to_bytes.decode
    functionSourceFile: urllib
    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: options.get
    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: optmatch.end
    functionSourceFile: <builtin>
    functionUses: 16
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 2
    IfCount: 3
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe47ee0a0>
    argNames:
    - value
    - cls
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 484
    functionName: werkzeug.http.parse_accept_header
    functionSourceFile: werkzeug.http
    functionUses: 4
    functionsReached:
    - werkzeug.datastructures.Accept.__init__
    - <builtin>.float
    - <builtin>.sorted
    - typing.cast
    - _accept_re.finditer
    - <builtin>.isinstance
    - match.group
    - <builtin>.max
    - <builtin>.min
    - list.__init__
    - result.append
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: _accept_re.finditer
    functionSourceFile: <builtin>
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.float
    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: value.split
    functionSourceFile: <builtin>
    functionUses: 14
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: policy.strip
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: directive.strip
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: value.strip
    functionSourceFile: <builtin>
    functionUses: 11
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 9
    ICount: 1
    IfCount: 6
    argCount: 1
    argDefaultValues: []
    argNames:
    - value
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 654
    functionName: werkzeug.http.parse_authorization_header
    functionSourceFile: werkzeug.http
    functionUses: 1
    functionsReached:
    - werkzeug._internal._to_str
    - typing.NamedTuple.scheme.decode
    - base64.b64decode
    - werkzeug.http.parse_dict_header
    - auth_type.lower
    - http.server.BaseHTTPRequestHandler.path.decode
    - dict.__init__
    - werkzeug.urls.BytesURL.decode
    - typing.NamedTuple.query.decode
    - value.decode
    - typing.NamedTuple.fragment.decode
    - werkzeug.http.unquote_header_value
    - typing.NamedTuple.decode
    - value.replace
    - werkzeug._internal._decode_idna
    - typing.NamedTuple.__init__
    - werkzeug.urls.BaseURL.decode_netloc
    - urllib.request.parse_http_list.split
    - werkzeug._internal._wsgi_decoding_dance
    - s.encode
    - <builtin>.str
    - domain.encode
    - werkzeug._internal._decode_idna.decode_part
    - domain.split
    - value.split
    - part.decode
    - typing.NamedTuple.path.decode
    - urllib.request.parse_http_list
    - auth_map.get
    - werkzeug.datastructures.Authorization.__init__
    - <builtin>.isinstance
    - <builtin>.filter
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: auth_type.lower
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: auth_map.get
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - value
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 723
    functionName: werkzeug.http.parse_if_range_header
    functionSourceFile: werkzeug.http
    functionUses: 6
    functionsReached:
    - werkzeug.http.parse_date
    - werkzeug.datastructures.IfRange.__init__
    - werkzeug.http.unquote_etag
    - dt.replace
    - email.utils.parsedate_to_datetime
    - etag.startswith
    - etag.strip
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: units.strip
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: rng.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: item.strip
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: item.split
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: begin_str.strip
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: end_str.strip
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: begin_str.isdigit
    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: end_str.isdigit
    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: rangedef.split
    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: length_str.isdigit
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: etag.strip
    functionSourceFile: <builtin>
    functionUses: 10
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: etag.startswith
    functionSourceFile: <builtin>
    functionUses: 13
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: _etag_re.match
    functionSourceFile: <builtin>
    functionUses: 8
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: match.groups
    functionSourceFile: <builtin>
    functionUses: 8
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: weak.append
    functionSourceFile: <builtin>
    functionUses: 8
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: strong.append
    functionSourceFile: <builtin>
    functionUses: 8
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: hashlib.sha1
    functionSourceFile: hashlib
    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: hashlib.sha1.hexdigest
    functionSourceFile: hashlib
    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: email.utils.parsedate_to_datetime
    functionSourceFile: <builtin>
    functionUses: 12
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: dt.replace
    functionSourceFile: <builtin>
    functionUses: 12
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: datetime.time
    functionSourceFile: datetime
    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: datetime.datetime.combine
    functionSourceFile: datetime
    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: email.utils.format_datetime
    functionSourceFile: <builtin>
    functionUses: 16
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: time.mktime
    functionSourceFile: time
    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: email.utils.formatdate
    functionSourceFile: <builtin>
    functionUses: 20
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 1
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe3b4fa00>
    argNames:
    - value
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 983
    functionName: werkzeug.http.parse_age
    functionSourceFile: werkzeug.http
    functionUses: 0
    functionsReached:
    - datetime.timedelta
    - <builtin>.int
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 1
    IfCount: 3
    argCount: 1
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe3b3bf10>
    argNames:
    - age
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1005
    functionName: werkzeug.http.dump_age
    functionSourceFile: werkzeug.http
    functionUses: 0
    functionsReached:
    - age.total_seconds
    - <builtin>.str
    - <builtin>.int
    - <builtin>.isinstance
    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: age.total_seconds
    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:
    - header
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1142
    functionName: werkzeug.http.is_entity_header
    functionSourceFile: werkzeug.http
    functionUses: 5
    functionsReached:
    - header.lower
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - headers
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 1127
    functionName: werkzeug.http.remove_hop_by_hop_headers
    functionSourceFile: werkzeug.http
    functionUses: 0
    functionsReached:
    - header.lower
    - werkzeug.http.is_hop_by_hop_header
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - header
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1153
    functionName: werkzeug.http.is_hop_by_hop_header
    functionSourceFile: werkzeug.http
    functionUses: 3
    functionsReached:
    - header.lower
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 1
    IfCount: 4
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe1b211c0>
    - <ast.Constant object at 0x7fcfe1b21190>
    - <ast.Constant object at 0x7fcfe1b21160>
    argNames:
    - header
    - charset
    - errors
    - cls
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 7
    functionLinenumber: 1164
    functionName: werkzeug.http.parse_cookie
    functionSourceFile: werkzeug.http
    functionUses: 6
    functionsReached:
    - werkzeug.http.parse_cookie._parse_pairs
    - werkzeug.datastructures.OrderedMultiDict.getlist
    - match.end
    - werkzeug._internal._to_str
    - <builtin>.bytearray
    - header.get
    - _quote_re.search
    - typing.NamedTuple.scheme.decode
    - match.group
    - http.server.BaseHTTPRequestHandler.path.decode
    - d.items
    - dict.__init__
    - <builtin>.len
    - werkzeug.urls.BytesURL.decode
    - typing.NamedTuple.query.decode
    - werkzeug._internal._cookie_unquote
    - rv.extend
    - rv.setdefault
    - _octal_re.search
    - typing.NamedTuple.fragment.decode
    - werkzeug.datastructures.CombinedMultiDict.items
    - <builtin>.list
    - dict.__getitem__
    - typing.NamedTuple.decode
    - werkzeug._internal._decode_idna
    - q_match.start
    - typing.NamedTuple.__init__
    - werkzeug.datastructures.CombinedMultiDict.lists
    - werkzeug.datastructures.OrderedMultiDict.lists
    - werkzeug.urls.BaseURL.decode_netloc
    - result.append
    - rv.append
    - werkzeug.datastructures.MultiDict.__init__
    - <builtin>.str
    - rv.items
    - <builtin>.int
    - domain.encode
    - werkzeug._internal._decode_idna.decode_part
    - domain.split
    - returned_keys.add
    - part.decode
    - d.lists
    - o_match.start
    - typing.NamedTuple.path.decode
    - tmp.setdefault
    - header.encode
    - found.add
    - dict.items
    - <builtin>.bytes
    - werkzeug.datastructures.MultiDict.lists
    - <builtin>.isinstance
    - werkzeug._internal._cookie_parse_impl
    - <builtin>.filter
    - werkzeug.datastructures.OrderedMultiDict.items
    - <builtin>.set
    - _cookie_re.search
    - werkzeug.datastructures.MultiDict.items
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: header.get
    functionSourceFile: <builtin>
    functionUses: 16
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: header.encode
    functionSourceFile: <builtin>
    functionUses: 7
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 1205
    functionName: werkzeug.http.parse_cookie._parse_pairs
    functionSourceFile: werkzeug.http
    functionUses: 7
    functionsReached:
    - <builtin>.bytearray
    - match.end
    - werkzeug._internal._to_str
    - _quote_re.search
    - typing.NamedTuple.scheme.decode
    - match.group
    - http.server.BaseHTTPRequestHandler.path.decode
    - <builtin>.len
    - werkzeug.urls.BytesURL.decode
    - werkzeug._internal._cookie_unquote
    - rv.extend
    - typing.NamedTuple.query.decode
    - _octal_re.search
    - typing.NamedTuple.fragment.decode
    - typing.NamedTuple.decode
    - werkzeug._internal._decode_idna
    - q_match.start
    - typing.NamedTuple.__init__
    - werkzeug.urls.BaseURL.decode_netloc
    - rv.append
    - <builtin>.str
    - <builtin>.int
    - domain.encode
    - werkzeug._internal._decode_idna.decode_part
    - domain.split
    - part.decode
    - o_match.start
    - typing.NamedTuple.path.decode
    - <builtin>.bytes
    - <builtin>.isinstance
    - werkzeug._internal._cookie_parse_impl
    - <builtin>.filter
    - _cookie_re.search
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: max_age.total_seconds
    functionSourceFile: <builtin>
    functionUses: 8
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: samesite.title
    functionSourceFile: <builtin>
    functionUses: 7
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: buf.append
    functionSourceFile: <builtin>
    functionUses: 21
    functionsReached: []
    linkageType: 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: werkzeug.test
    functionSourceFile: werkzeug.test
    functionUses: 0
    functionsReached:
    - typing.TypeVar
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 11
    ICount: 9
    IfCount: 7
    argCount: 5
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe3121e20>
    - <ast.BinOp object at 0x7fcfe3121df0>
    - <ast.Constant object at 0x7fcfe3121d60>
    - <ast.Constant object at 0x7fcfe3121d30>
    argNames:
    - data
    - use_tempfile
    - threshold
    - boundary
    - charset
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 7
    functionLinenumber: 53
    functionName: werkzeug.test.stream_encode_multipart
    functionSourceFile: werkzeug.test
    functionUses: 18
    functionsReached:
    - werkzeug.datastructures.Headers.add
    - time.time
    - werkzeug._internal._to_bytes
    - werkzeug.http.dump_options_header
    - tempfile.TemporaryFile
    - data.items
    - boundary.encode
    - werkzeug.datastructures.Headers.extend
    - d.items
    - <builtin>.len
    - io.BytesIO
    - kw.items
    - werkzeug.sansio.multipart.MultipartEncoder.__init__
    - value.decode
    - mimetypes.guess_type
    - stream.seek
    - werkzeug.datastructures.Headers._validate_value
    - werkzeug.datastructures.CombinedMultiDict.items
    - new_stream.write
    - value.replace
    - value.encode
    - stream.tell
    - werkzeug.datastructures._unicodify_header_value
    - segments.append
    - random.random
    - k.replace
    - <builtin>.str
    - stream.write
    - options.items
    - returned_keys.add
    - werkzeug.datastructures._options_header_vkw
    - werkzeug.datastructures.Headers.__init__
    - <builtin>.getattr
    - werkzeug.http.quote_header_value
    - werkzeug.test.stream_encode_multipart.write_binary
    - typing.cast
    - name.lower
    - stream.getvalue
    - <builtin>.bytes
    - found.add
    - dict.items
    - <builtin>.isinstance
    - werkzeug.test._iter_data
    - werkzeug.sansio.multipart.MultipartEncoder.send_event
    - werkzeug.datastructures.OrderedMultiDict.items
    - <builtin>.set
    - werkzeug.datastructures.iter_multi_items
    - werkzeug.datastructures.MultiDict.items
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: random.random
    functionSourceFile: random
    functionUses: 19
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - s
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 74
    functionName: werkzeug.test.stream_encode_multipart.write_binary
    functionSourceFile: werkzeug.test
    functionUses: 19
    functionsReached:
    - typing.cast
    - stream.getvalue
    - new_stream.write
    - stream.write
    - tempfile.TemporaryFile
    - <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: tempfile.TemporaryFile
    functionSourceFile: tempfile
    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: stream.getvalue
    functionSourceFile: <builtin>
    functionUses: 20
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: new_stream.write
    functionSourceFile: <builtin>
    functionUses: 20
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: boundary.encode
    functionSourceFile: <builtin>
    functionUses: 19
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - boundary
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 230
    functionName: werkzeug.sansio.multipart.MultipartEncoder.__init__
    functionSourceFile: ''
    functionUses: 19
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 9
    ICount: 0
    IfCount: 6
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - event
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 234
    functionName: werkzeug.sansio.multipart.MultipartEncoder.send_event
    functionSourceFile: werkzeug.sansio.multipart
    functionUses: 19
    functionsReached:
    - werkzeug._internal._to_bytes
    - name.lower
    - typing.cast
    - <builtin>.bytes
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised:
    - ValueError
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - data
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 222
    functionName: werkzeug.test._iter_data
    functionSourceFile: werkzeug.test
    functionUses: 21
    functionsReached:
    - data.items
    - <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: stream.tell
    functionSourceFile: <builtin>
    functionUses: 19
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: stream.seek
    functionSourceFile: <builtin>
    functionUses: 19
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe1d830d0>
    - <ast.Constant object at 0x7fcfe1d83280>
    argNames:
    - values
    - boundary
    - charset
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 8
    functionLinenumber: 141
    functionName: werkzeug.test.encode_multipart
    functionSourceFile: werkzeug.test
    functionUses: 0
    functionsReached:
    - werkzeug.datastructures.Headers.add
    - time.time
    - werkzeug._internal._to_bytes
    - werkzeug.http.dump_options_header
    - tempfile.TemporaryFile
    - data.items
    - boundary.encode
    - werkzeug.datastructures.Headers.extend
    - d.items
    - <builtin>.len
    - io.BytesIO
    - kw.items
    - werkzeug.sansio.multipart.MultipartEncoder.__init__
    - value.decode
    - mimetypes.guess_type
    - stream.seek
    - werkzeug.datastructures.Headers._validate_value
    - werkzeug.datastructures.CombinedMultiDict.items
    - new_stream.write
    - value.replace
    - value.encode
    - stream.read
    - stream.tell
    - werkzeug.datastructures._unicodify_header_value
    - segments.append
    - random.random
    - k.replace
    - <builtin>.str
    - stream.write
    - options.items
    - returned_keys.add
    - werkzeug.datastructures._options_header_vkw
    - werkzeug.datastructures.Headers.__init__
    - <builtin>.getattr
    - werkzeug.test.stream_encode_multipart
    - werkzeug.http.quote_header_value
    - werkzeug.test.stream_encode_multipart.write_binary
    - typing.cast
    - name.lower
    - stream.getvalue
    - <builtin>.bytes
    - found.add
    - dict.items
    - <builtin>.isinstance
    - werkzeug.test._iter_data
    - werkzeug.sansio.multipart.MultipartEncoder.send_event
    - werkzeug.datastructures.OrderedMultiDict.items
    - <builtin>.set
    - werkzeug.datastructures.iter_multi_items
    - werkzeug.datastructures.MultiDict.items
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: stream.read
    functionSourceFile: <builtin>
    functionUses: 9
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - headers
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 158
    functionName: werkzeug.test._TestCookieHeaders.__init__
    functionSourceFile: werkzeug.test
    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
    - name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 161
    functionName: werkzeug.test._TestCookieHeaders.getheaders
    functionSourceFile: werkzeug.test
    functionUses: 1
    functionsReached:
    - k.lower
    - headers.append
    - name.lower
    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 0x7fcfe51cab80>
    argNames:
    - self
    - name
    - default
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 169
    functionName: werkzeug.test._TestCookieHeaders.get_all
    functionSourceFile: werkzeug.test
    functionUses: 0
    functionsReached:
    - werkzeug.test._TestCookieHeaders.getheaders
    - headers.append
    - k.lower
    - name.lower
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - headers
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 185
    functionName: werkzeug.test._TestCookieResponse.__init__
    functionSourceFile: werkzeug.test
    functionUses: 1
    functionsReached:
    - werkzeug.test._TestCookieHeaders.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 188
    functionName: werkzeug.test._TestCookieResponse.info
    functionSourceFile: werkzeug.test
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - environ
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 197
    functionName: werkzeug.test._TestCookieJar.inject_wsgi
    functionSourceFile: werkzeug.test
    functionUses: 0
    functionsReached:
    - environ.pop
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: environ.pop
    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
    - environ
    - headers
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 9
    functionLinenumber: 208
    functionName: werkzeug.test._TestCookieJar.extract_wsgi
    functionSourceFile: werkzeug.test
    functionUses: 0
    functionsReached:
    - http.server.BaseHTTPRequestHandler.path.fragment.encode
    - p.encode
    - typing.NamedTuple.query.decode
    - <builtin>.next
    - http.server.BaseHTTPRequestHandler.path.query.encode
    - werkzeug._internal._make_encode_wrapper.<lambda1>
    - typing.NamedTuple.fragment.decode
    - urllib.request.Request
    - werkzeug.wsgi.get_current_url
    - werkzeug._internal._decode_idna
    - werkzeug.urls.BaseURL.decode_netloc
    - result.append
    - typing.NamedTuple.encode
    - <builtin>.str
    - <builtin>.int
    - werkzeug._internal._decode_idna.decode_part
    - <builtin>.frozenset
    - http.server.BaseHTTPRequestHandler.path.find
    - <builtin>.min
    - typing.NamedTuple.fragment.encode
    - <builtin>.any
    - werkzeug.urls._unquote_to_bytes
    - typing.NamedTuple.path.encode
    - safe.encode
    - werkzeug._internal._encode_idna
    - werkzeug.urls.url_unparse
    - werkzeug.urls.BytesURL.decode
    - typing.NamedTuple.path.split
    - root_path.rstrip
    - typing.NamedTuple.query.encode
    - path.lstrip
    - path.startswith
    - rv.append
    - _scheme_re.match
    - <builtin>.iter
    - typing.NamedTuple.query.split
    - domain.encode
    - unsafe.encode
    - domain.split
    - environ.get
    - part.decode
    - werkzeug.urls.URL.encode
    - <builtin>.bytes
    - operator.methodcaller
    - http.server.BaseHTTPRequestHandler.path.encode
    - http.server.BaseHTTPRequestHandler.path.fragment.split
    - typing.NamedTuple.fragment.split
    - werkzeug._internal._check_str_tuple
    - http.server.BaseHTTPRequestHandler.path.query.split
    - <builtin>.len
    - rv.extend
    - werkzeug.urls.url_unquote
    - werkzeug.urls.BytesURL.encode_netloc
    - typing.NamedTuple.__init__
    - werkzeug.sansio.utils.host_is_trusted._normalize
    - werkzeug.test._TestCookieResponse.__init__
    - typing.NamedTuple.split
    - http.server.BaseHTTPRequestHandler.path.split
    - typing.NamedTuple.path.decode
    - hostname.rsplit
    - werkzeug.urls.uri_to_iri
    - werkzeug.urls.BaseURL.encode_netloc
    - werkzeug.sansio.utils.get_host
    - werkzeug._internal._make_encode_wrapper
    - <builtin>.bytearray
    - werkzeug._internal._to_str
    - typing.NamedTuple.scheme.decode
    - http.server.BaseHTTPRequestHandler.path.decode
    - http.cookiejar.CookieJar.extract_cookies
    - typing.NamedTuple.decode
    - werkzeug.test._TestCookieHeaders.__init__
    - url.append
    - werkzeug.wsgi.get_host
    - typing.NamedTuple.find
    - werkzeug.sansio.utils.get_current_url
    - werkzeug.wsgi._get_server
    - http.server.BaseHTTPRequestHandler.path.decode_netloc
    - _hextobyte.items
    - typing.NamedTuple.scheme.encode
    - <builtin>.isinstance
    - werkzeug.urls.url_parse
    - <builtin>.filter
    - werkzeug.sansio.utils.host_is_trusted
    - werkzeug.urls.url_quote
    - host.endswith
    - result.extend
    - ref.startswith
    - rv.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: urllib.request.Request
    functionSourceFile: urllib
    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: http.cookiejar.CookieJar.extract_cookies
    functionSourceFile: http
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: data.items
    functionSourceFile: <builtin>
    functionUses: 41
    functionsReached: []
    linkageType: 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: werkzeug.test.EnvironBuilder
    functionSourceFile: werkzeug.test
    functionUses: 0
    functionsReached:
    - io.BytesIO.setter
    - <builtin>.staticmethod
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 23
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 12
    EdgeCount: 33
    ICount: 3
    IfCount: 23
    argCount: 20
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe31298b0>
    - <ast.Constant object at 0x7fcfe3129880>
    - <ast.Constant object at 0x7fcfe3129850>
    - <ast.Constant object at 0x7fcfe3129820>
    - <ast.Constant object at 0x7fcfe31297f0>
    - <ast.Constant object at 0x7fcfe31297c0>
    - <ast.Constant object at 0x7fcfe3129790>
    - <ast.Constant object at 0x7fcfe3129760>
    - <ast.Constant object at 0x7fcfe3129730>
    - <ast.Constant object at 0x7fcfe3129700>
    - <ast.Constant object at 0x7fcfe31296d0>
    - <ast.Constant object at 0x7fcfe31296a0>
    - <ast.Constant object at 0x7fcfe3129670>
    - <ast.Constant object at 0x7fcfe3129640>
    - <ast.Constant object at 0x7fcfe3129610>
    - <ast.Constant object at 0x7fcfe31295e0>
    - <ast.Constant object at 0x7fcfe31295b0>
    - <ast.Constant object at 0x7fcfe3129580>
    - <ast.Constant object at 0x7fcfe3129550>
    argNames:
    - self
    - path
    - base_url
    - query_string
    - method
    - input_stream
    - content_type
    - content_length
    - errors_stream
    - multithread
    - multiprocess
    - run_once
    - headers
    - data
    - environ_base
    - environ_overrides
    - charset
    - mimetype
    - json
    - auth
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 7
    functionLinenumber: 359
    functionName: werkzeug.test.EnvironBuilder.__init__
    functionSourceFile: werkzeug.test
    functionUses: 16
    functionsReached:
    - http.server.BaseHTTPRequestHandler.path.fragment.encode
    - url.encode_netloc
    - <builtin>.enumerate
    - data.items
    - dict.__init__
    - typing.NamedTuple.query.decode
    - value.decode
    - werkzeug.datastructures.Headers._validate_value
    - werkzeug._internal._make_encode_wrapper.<lambda1>
    - typing.NamedTuple.fragment.decode
    - dict.__getitem__
    - http.server.BaseHTTPRequestHandler.path.query.encode
    - werkzeug._internal._decode_idna
    - werkzeug.urls.BaseURL.decode_netloc
    - result.append
    - typing.NamedTuple.encode
    - werkzeug.datastructures.MultiDict.__init__
    - <builtin>.str
    - werkzeug._internal._decode_idna.decode_part
    - <builtin>.frozenset
    - options.items
    - http.server.BaseHTTPRequestHandler.path.find
    - <builtin>.min
    - d.lists
    - <builtin>.any
    - typing.NamedTuple.fragment.encode
    - werkzeug.http.quote_header_value
    - typing.NamedTuple.path.encode
    - dict.items
    - safe.encode
    - werkzeug.datastructures.MultiDict.lists
    - werkzeug.test._iter_data
    - http.server.BaseHTTPRequestHandler.path.encode_netloc
    - <builtin>.set
    - werkzeug.datastructures.OrderedMultiDict.getlist
    - data.read
    - werkzeug.urls.iri_to_uri
    - typing.NamedTuple._replace
    - d.items
    - kw.items
    - werkzeug.urls.url_unparse
    - werkzeug.urls.BytesURL.decode
    - werkzeug.test.EnvironBuilder._add_file_from_data
    - old_key.lower
    - werkzeug.datastructures.Authorization.to_header
    - typing.NamedTuple.query.encode
    - werkzeug.datastructures.CombinedMultiDict.items
    - <builtin>.list
    - value.replace
    - werkzeug.datastructures.CombinedMultiDict.lists
    - werkzeug.datastructures._unicodify_header_value
    - path.startswith
    - segments.append
    - rv.append
    - _scheme_re.match
    - <builtin>.iter
    - _key.lower
    - domain.encode
    - unsafe.encode
    - domain.split
    - part.decode
    - tmp.setdefault
    - found.add
    - <builtin>.bytes
    - operator.methodcaller
    - http.server.BaseHTTPRequestHandler.path.encode
    - werkzeug.datastructures.OrderedMultiDict.items
    - werkzeug.datastructures.iter_multi_items
    - werkzeug.datastructures.MultiDict.items
    - werkzeug.http.dump_options_header
    - werkzeug._internal._check_str_tuple
    - <builtin>.hasattr
    - werkzeug.datastructures.Headers.extend
    - io.BytesIO
    - <builtin>.len
    - rv.extend
    - rv.setdefault
    - werkzeug.urls.BytesURL.encode_netloc
    - base64.b64encode
    - werkzeug.urls.BaseURL.replace
    - typing.NamedTuple.__init__
    - werkzeug.urls.url_quote_plus
    - werkzeug.datastructures.OrderedMultiDict.lists
    - typing.NamedTuple.startswith
    - k.replace
    - typing.NamedTuple.split
    - rv.items
    - http.server.BaseHTTPRequestHandler.path.split
    - werkzeug.http.dump_header
    - typing.NamedTuple.path.decode
    - data.encode
    - werkzeug.datastructures.Authorization.__init__
    - werkzeug.urls.BaseURL.encode_netloc
    - werkzeug._internal._make_encode_wrapper
    - werkzeug.datastructures.Headers.add
    - <builtin>.bytearray
    - werkzeug._internal._to_str
    - typing.NamedTuple.scheme.decode
    - http.server.BaseHTTPRequestHandler.path.replace
    - http.server.BaseHTTPRequestHandler.path.decode
    - typing.NamedTuple.decode
    - http.server.BaseHTTPRequestHandler.path.startswith
    - typing.NamedTuple.find
    - returned_keys.add
    - werkzeug.datastructures._options_header_vkw
    - werkzeug.datastructures.Headers.__init__
    - werkzeug.datastructures.Headers.set
    - werkzeug.urls.url_fix
    - typing.NamedTuple.scheme.encode
    - <builtin>.isinstance
    - <builtin>.filter
    - werkzeug.urls.url_parse
    - items.append
    - werkzeug.urls.url_quote
    - werkzeug.urls.URL.encode
    linkageType: pythonLinkage
    raised:
    - ValueError
    - 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: data.read
    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: data.encode
    functionSourceFile: <builtin>
    functionUses: 17
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - key
    - value
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 496
    functionName: werkzeug.test.EnvironBuilder._add_file_from_data
    functionSourceFile: werkzeug.test
    functionUses: 17
    functionsReached:
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - cls
    - environ
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 8
    functionLinenumber: 462
    functionName: werkzeug.test.EnvironBuilder.from_environ
    functionSourceFile: werkzeug.test
    functionUses: 10
    functionsReached:
    - http.server.BaseHTTPRequestHandler.path.fragment.encode
    - url.encode_netloc
    - <builtin>.enumerate
    - data.items
    - dict.__init__
    - typing.NamedTuple.query.decode
    - value.decode
    - werkzeug.datastructures.Headers._validate_value
    - werkzeug._internal._make_encode_wrapper.<lambda1>
    - typing.NamedTuple.fragment.decode
    - dict.__getitem__
    - http.server.BaseHTTPRequestHandler.path.query.encode
    - werkzeug._internal._decode_idna
    - werkzeug.urls.BaseURL.decode_netloc
    - result.append
    - typing.NamedTuple.encode
    - werkzeug.datastructures.MultiDict.__init__
    - <builtin>.str
    - werkzeug._internal._decode_idna.decode_part
    - <builtin>.frozenset
    - werkzeug.datastructures.Headers.__delitem__
    - options.items
    - http.server.BaseHTTPRequestHandler.path.find
    - <builtin>.min
    - d.lists
    - <builtin>.any
    - new.append
    - typing.NamedTuple.fragment.encode
    - werkzeug.http.quote_header_value
    - werkzeug.test.EnvironBuilder.__init__
    - typing.NamedTuple.path.encode
    - dict.items
    - safe.encode
    - werkzeug.datastructures.MultiDict.lists
    - werkzeug.test._iter_data
    - http.server.BaseHTTPRequestHandler.path.encode_netloc
    - <builtin>.set
    - out.update
    - werkzeug.datastructures.OrderedMultiDict.getlist
    - key.lower
    - data.read
    - werkzeug.urls.iri_to_uri
    - typing.NamedTuple._replace
    - d.items
    - kw.items
    - werkzeug.urls.url_unparse
    - werkzeug.urls.BytesURL.decode
    - werkzeug.test.EnvironBuilder._add_file_from_data
    - old_key.lower
    - werkzeug.test.EnvironBuilder._make_base_url
    - werkzeug.datastructures.Authorization.to_header
    - typing.NamedTuple.query.encode
    - werkzeug.datastructures.CombinedMultiDict.items
    - <builtin>.list
    - value.replace
    - werkzeug.datastructures.CombinedMultiDict.lists
    - path.startswith
    - werkzeug.datastructures._unicodify_header_value
    - segments.append
    - rv.append
    - _scheme_re.match
    - <builtin>.iter
    - _key.lower
    - domain.encode
    - unsafe.encode
    - domain.split
    - part.decode
    - tmp.setdefault
    - found.add
    - <builtin>.bytes
    - operator.methodcaller
    - http.server.BaseHTTPRequestHandler.path.encode
    - werkzeug.datastructures.OrderedMultiDict.items
    - werkzeug.datastructures.iter_multi_items
    - werkzeug.datastructures.EnvironHeaders.__init__
    - werkzeug.datastructures.MultiDict.items
    - werkzeug.http.dump_options_header
    - werkzeug._internal._check_str_tuple
    - <builtin>.hasattr
    - werkzeug.datastructures.Headers.extend
    - io.BytesIO
    - <builtin>.len
    - rv.extend
    - rv.setdefault
    - werkzeug.urls.BytesURL.encode_netloc
    - base64.b64encode
    - werkzeug.urls.BaseURL.replace
    - typing.NamedTuple.__init__
    - werkzeug.urls.url_quote_plus
    - werkzeug.datastructures.OrderedMultiDict.lists
    - typing.NamedTuple.startswith
    - k.replace
    - typing.NamedTuple.split
    - rv.items
    - http.server.BaseHTTPRequestHandler.path.split
    - werkzeug.http.dump_header
    - werkzeug.datastructures.Headers.pop
    - k.lower
    - typing.NamedTuple.path.decode
    - data.encode
    - werkzeug.datastructures.Authorization.__init__
    - werkzeug.urls.BaseURL.encode_netloc
    - werkzeug._internal._make_encode_wrapper
    - werkzeug.datastructures.Headers.add
    - <builtin>.bytearray
    - werkzeug._internal._to_str
    - typing.NamedTuple.scheme.decode
    - http.server.BaseHTTPRequestHandler.path.replace
    - http.server.BaseHTTPRequestHandler.path.decode
    - werkzeug.datastructures.Headers.remove
    - typing.NamedTuple.decode
    - http.server.BaseHTTPRequestHandler.path.startswith
    - werkzeug._internal._wsgi_decoding_dance
    - s.encode
    - typing.NamedTuple.find
    - returned_keys.add
    - werkzeug.datastructures._options_header_vkw
    - werkzeug.datastructures.Headers.__init__
    - werkzeug.datastructures.Headers.set
    - werkzeug.urls.url_fix
    - typing.NamedTuple.scheme.encode
    - <builtin>.isinstance
    - <builtin>.filter
    - werkzeug.urls.url_parse
    - items.append
    - werkzeug.urls.url_quote
    - werkzeug.urls.URL.encode
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - scheme
    - host
    - script_root
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 510
    functionName: werkzeug.test.EnvironBuilder._make_base_url
    functionSourceFile: werkzeug.test
    functionUses: 12
    functionsReached:
    - werkzeug._internal._make_encode_wrapper.<lambda1>
    - werkzeug._internal._check_str_tuple
    - operator.methodcaller
    - <builtin>.isinstance
    - <builtin>.any
    - werkzeug._internal._make_encode_wrapper
    - werkzeug.urls.url_unparse
    - path.startswith
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: out.update
    functionSourceFile: <builtin>
    functionUses: 11
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - value
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 7
    functionLinenumber: 521
    functionName: werkzeug.test.EnvironBuilder.base_url
    functionSourceFile: werkzeug.test
    functionUses: 0
    functionsReached:
    - werkzeug._internal._to_str
    - werkzeug._internal._check_str_tuple
    - typing.NamedTuple.scheme.decode
    - http.server.BaseHTTPRequestHandler.path.decode
    - <builtin>.len
    - werkzeug.urls.url_unparse
    - werkzeug.urls.BytesURL.decode
    - typing.NamedTuple.query.decode
    - werkzeug.test.EnvironBuilder._make_base_url
    - werkzeug._internal._make_encode_wrapper.<lambda1>
    - typing.NamedTuple.fragment.decode
    - typing.NamedTuple.decode
    - werkzeug._internal._decode_idna
    - typing.NamedTuple.__init__
    - path.startswith
    - werkzeug.urls.BaseURL.decode_netloc
    - typing.NamedTuple.split
    - _scheme_re.match
    - <builtin>.str
    - typing.NamedTuple.find
    - http.server.BaseHTTPRequestHandler.path.split
    - domain.encode
    - werkzeug._internal._decode_idna.decode_part
    - domain.split
    - http.server.BaseHTTPRequestHandler.path.find
    - <builtin>.min
    - part.decode
    - <builtin>.any
    - typing.NamedTuple.path.decode
    - script_root.rstrip
    - operator.methodcaller
    - <builtin>.isinstance
    - werkzeug.urls.url_parse
    - <builtin>.filter
    - werkzeug._internal._make_encode_wrapper
    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: script_root.rstrip
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - value
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 550
    functionName: werkzeug.test.EnvironBuilder.content_type
    functionSourceFile: werkzeug.test
    functionUses: 0
    functionsReached:
    - werkzeug.datastructures.EnvironHeaders.__getitem__
    - key.lower
    - werkzeug.datastructures.Headers.remove
    - value.decode
    - <builtin>.str
    - <builtin>.isinstance
    - werkzeug.datastructures.Headers.pop
    - werkzeug.datastructures.Headers.__getitem__
    - werkzeug.datastructures.Headers.__delitem__
    - key.upper
    - werkzeug.datastructures._unicodify_header_value
    - rv.encode
    - k.lower
    - new.append
    - werkzeug.datastructures.Headers.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - value
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 566
    functionName: werkzeug.test.EnvironBuilder.mimetype
    functionSourceFile: werkzeug.test
    functionUses: 0
    functionsReached:
    - mimetype.endswith
    - mimetype.startswith
    - werkzeug.utils.get_content_type
    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: 4
    functionLinenumber: 570
    functionName: werkzeug.test.EnvironBuilder.mimetype_params
    functionSourceFile: werkzeug.test
    functionUses: 0
    functionsReached:
    - werkzeug.http.parse_options_header
    - key.lower
    - match.group
    - _option_header_piece_re.match
    - dict.__init__
    - urllib.parse.unquote_to_bytes.decode
    - value.decode
    - urllib.parse.unquote_to_bytes
    - optmatch.end
    - werkzeug.http.unquote_header_value
    - value.replace
    - werkzeug.datastructures.Headers.__getitem__
    - werkzeug.datastructures._unicodify_header_value
    - result.append
    - werkzeug.datastructures.CallbackDict.__init__
    - optmatch.groups
    - warnings.warn
    - <builtin>.str
    - _option_header_start_mime_type.match
    - key.upper
    - k.lower
    - werkzeug.datastructures.Headers.get
    - werkzeug.datastructures.EnvironHeaders.__getitem__
    - options.get
    - <builtin>.isinstance
    - rv.encode
    - <builtin>.tuple
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - value
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 593
    functionName: werkzeug.test.EnvironBuilder.content_length
    functionSourceFile: werkzeug.test
    functionUses: 0
    functionsReached:
    - werkzeug.datastructures.EnvironHeaders.__getitem__
    - key.lower
    - werkzeug.datastructures.Headers.remove
    - value.decode
    - <builtin>.str
    - <builtin>.isinstance
    - werkzeug.datastructures.Headers.pop
    - werkzeug.datastructures.Headers.__getitem__
    - key.upper
    - werkzeug.datastructures.Headers.__delitem__
    - werkzeug.datastructures._unicodify_header_value
    - rv.encode
    - k.lower
    - new.append
    - werkzeug.datastructures.Headers.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    IfCount: 2
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - name
    - storage
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 599
    functionName: werkzeug.test.EnvironBuilder._get_form
    functionSourceFile: werkzeug.test
    functionUses: 2
    functionsReached:
    - werkzeug.datastructures.OrderedMultiDict.getlist
    - d.items
    - dict.__init__
    - <builtin>.len
    - rv.setdefault
    - werkzeug.datastructures.CombinedMultiDict.items
    - <builtin>.list
    - dict.__getitem__
    - werkzeug.datastructures.CombinedMultiDict.lists
    - werkzeug.datastructures.OrderedMultiDict.lists
    - result.append
    - werkzeug.datastructures.MultiDict.__init__
    - rv.items
    - returned_keys.add
    - <builtin>.getattr
    - d.lists
    - tmp.setdefault
    - <builtin>.setattr
    - found.add
    - dict.items
    - werkzeug.datastructures.MultiDict.lists
    - <builtin>.isinstance
    - werkzeug.datastructures.OrderedMultiDict.items
    - <builtin>.set
    - werkzeug.datastructures.MultiDict.items
    linkageType: pythonLinkage
    raised:
    - AttributeError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - name
    - value
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 617
    functionName: werkzeug.test.EnvironBuilder._set_form
    functionSourceFile: werkzeug.test
    functionUses: 2
    functionsReached:
    - <builtin>.setattr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - value
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 633
    functionName: werkzeug.test.EnvironBuilder.form
    functionSourceFile: werkzeug.test
    functionUses: 0
    functionsReached:
    - werkzeug.datastructures.OrderedMultiDict.getlist
    - d.items
    - <builtin>.len
    - dict.__init__
    - rv.setdefault
    - werkzeug.datastructures.CombinedMultiDict.items
    - <builtin>.list
    - dict.__getitem__
    - werkzeug.datastructures.CombinedMultiDict.lists
    - werkzeug.datastructures.OrderedMultiDict.lists
    - result.append
    - werkzeug.datastructures.MultiDict.__init__
    - rv.items
    - returned_keys.add
    - <builtin>.getattr
    - d.lists
    - tmp.setdefault
    - werkzeug.test.EnvironBuilder._get_form
    - <builtin>.setattr
    - found.add
    - dict.items
    - werkzeug.test.EnvironBuilder._set_form
    - werkzeug.datastructures.MultiDict.lists
    - <builtin>.isinstance
    - werkzeug.datastructures.OrderedMultiDict.items
    - <builtin>.set
    - werkzeug.datastructures.MultiDict.items
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - value
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 644
    functionName: werkzeug.test.EnvironBuilder.files
    functionSourceFile: werkzeug.test
    functionUses: 0
    functionsReached:
    - werkzeug.datastructures.OrderedMultiDict.getlist
    - d.items
    - <builtin>.len
    - dict.__init__
    - rv.setdefault
    - werkzeug.datastructures.CombinedMultiDict.items
    - <builtin>.list
    - dict.__getitem__
    - werkzeug.datastructures.CombinedMultiDict.lists
    - werkzeug.datastructures.OrderedMultiDict.lists
    - result.append
    - werkzeug.datastructures.MultiDict.__init__
    - rv.items
    - returned_keys.add
    - <builtin>.getattr
    - d.lists
    - tmp.setdefault
    - werkzeug.test.EnvironBuilder._get_form
    - <builtin>.setattr
    - found.add
    - dict.items
    - werkzeug.test.EnvironBuilder._set_form
    - werkzeug.datastructures.MultiDict.lists
    - <builtin>.isinstance
    - werkzeug.datastructures.OrderedMultiDict.items
    - <builtin>.set
    - werkzeug.datastructures.MultiDict.items
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - value
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 657
    functionName: werkzeug.test.EnvironBuilder.input_stream
    functionSourceFile: werkzeug.test
    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: io.BytesIO.setter
    functionSourceFile: ''
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - value
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 7
    functionLinenumber: 674
    functionName: werkzeug.test.EnvironBuilder.query_string
    functionSourceFile: werkzeug.test
    functionUses: 0
    functionsReached:
    - werkzeug.urls.BaseURL.join
    - werkzeug._internal._to_str
    - werkzeug._internal._check_str_tuple
    - typing.NamedTuple.scheme.decode
    - http.server.BaseHTTPRequestHandler.path.decode
    - d.items
    - <builtin>.len
    - werkzeug.urls._make_fast_url_quote.quote
    - werkzeug.urls.url_unparse
    - werkzeug.urls.BytesURL.decode
    - typing.NamedTuple.query.decode
    - werkzeug._internal._make_encode_wrapper.<lambda1>
    - werkzeug.datastructures.CombinedMultiDict.items
    - typing.NamedTuple.fragment.decode
    - typing.NamedTuple.decode
    - path.split
    - bpath.split
    - werkzeug._internal._decode_idna
    - werkzeug.urls.url_encode
    - typing.NamedTuple.__init__
    - path.startswith
    - werkzeug.urls.BaseURL.decode_netloc
    - <builtin>.sorted
    - typing.NamedTuple.split
    - _scheme_re.match
    - <builtin>.str
    - typing.NamedTuple.find
    - http.server.BaseHTTPRequestHandler.path.split
    - http.server.BaseHTTPRequestHandler.path.join
    - domain.encode
    - werkzeug._internal._decode_idna.decode_part
    - werkzeug.urls._url_encode_impl
    - domain.split
    - http.server.BaseHTTPRequestHandler.path.find
    - returned_keys.add
    - <builtin>.min
    - part.decode
    - werkzeug.urls._fast_url_quote_plus
    - <builtin>.any
    - typing.NamedTuple.path.decode
    - found.add
    - dict.items
    - operator.methodcaller
    - <builtin>.isinstance
    - werkzeug.urls.url_parse
    - werkzeug.urls.url_join
    - <builtin>.filter
    - werkzeug.datastructures.OrderedMultiDict.items
    - <builtin>.set
    - werkzeug.datastructures.iter_multi_items
    - werkzeug._internal._make_encode_wrapper
    - werkzeug.datastructures.MultiDict.items
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - value
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 688
    functionName: werkzeug.test.EnvironBuilder.args
    functionSourceFile: werkzeug.test
    functionUses: 0
    functionsReached:
    - werkzeug.datastructures.OrderedMultiDict.getlist
    - d.items
    - dict.__init__
    - <builtin>.len
    - rv.setdefault
    - werkzeug.datastructures.CombinedMultiDict.items
    - <builtin>.list
    - dict.__getitem__
    - werkzeug.datastructures.CombinedMultiDict.lists
    - werkzeug.datastructures.OrderedMultiDict.lists
    - result.append
    - werkzeug.datastructures.MultiDict.__init__
    - rv.items
    - returned_keys.add
    - d.lists
    - tmp.setdefault
    - found.add
    - dict.items
    - werkzeug.datastructures.MultiDict.lists
    - <builtin>.isinstance
    - werkzeug.datastructures.OrderedMultiDict.items
    - <builtin>.set
    - werkzeug.datastructures.MultiDict.items
    linkageType: pythonLinkage
    raised:
    - AttributeError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 693
    functionName: werkzeug.test.EnvironBuilder.server_name
    functionSourceFile: werkzeug.test
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 698
    functionName: werkzeug.test.EnvironBuilder.server_port
    functionSourceFile: werkzeug.test
    functionUses: 0
    functionsReached:
    - <builtin>.len
    - <builtin>.int
    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: 2
    functionLinenumber: 707
    functionName: werkzeug.test.EnvironBuilder.__del__
    functionSourceFile: werkzeug.test
    functionUses: 0
    functionsReached:
    - werkzeug.test.EnvironBuilder.close
    - f.close
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 713
    functionName: werkzeug.test.EnvironBuilder.close
    functionSourceFile: werkzeug.test
    functionUses: 16
    functionsReached:
    - f.close
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 11
    ICount: 9
    IfCount: 7
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 8
    functionLinenumber: 731
    functionName: werkzeug.test.EnvironBuilder.get_environ
    functionSourceFile: werkzeug.test
    functionUses: 16
    functionsReached:
    - data.items
    - typing.NamedTuple.query.decode
    - value.decode
    - werkzeug.datastructures.Headers._validate_value
    - werkzeug._internal._make_encode_wrapper.<lambda1>
    - typing.NamedTuple.fragment.decode
    - werkzeug._internal._decode_idna
    - stream.tell
    - werkzeug.urls.BaseURL.decode_netloc
    - headers.to_wsgi_list
    - <builtin>.str
    - werkzeug._internal._decode_idna.decode_part
    - options.items
    - http.server.BaseHTTPRequestHandler.path.find
    - <builtin>.min
    - <builtin>.any
    - werkzeug.http.quote_header_value
    - name.lower
    - dict.items
    - io.BytesIO.tell
    - werkzeug.datastructures.Headers.copy
    - werkzeug.test._iter_data
    - <builtin>.set
    - werkzeug.urls.BaseURL.join
    - time.time
    - werkzeug._internal._to_bytes
    - tempfile.TemporaryFile
    - d.items
    - kw.items
    - werkzeug.urls.url_unparse
    - werkzeug.urls.BytesURL.decode
    - mimetypes.guess_type
    - stream.seek
    - <builtin>.list
    - werkzeug.datastructures.CombinedMultiDict.items
    - path.split
    - bpath.split
    - value.replace
    - path.startswith
    - werkzeug.datastructures._unicodify_header_value
    - segments.append
    - random.random
    - <builtin>.sorted
    - _scheme_re.match
    - domain.encode
    - werkzeug.urls._url_encode_impl
    - domain.split
    - part.decode
    - werkzeug.urls._fast_url_quote_plus
    - found.add
    - werkzeug.datastructures.EnvironHeaders.copy
    - <builtin>.bytes
    - operator.methodcaller
    - http.server.BaseHTTPRequestHandler.path.encode
    - werkzeug.datastructures.OrderedMultiDict.items
    - werkzeug.datastructures.iter_multi_items
    - werkzeug.datastructures.MultiDict.items
    - io.BytesIO.seek
    - werkzeug.datastructures.CombinedMultiDict.__init__
    - werkzeug.http.dump_options_header
    - werkzeug._internal._check_str_tuple
    - werkzeug.datastructures.Headers.extend
    - <builtin>.len
    - io.BytesIO
    - werkzeug._internal._wsgi_encoding_dance
    - value.encode
    - typing.NamedTuple.__init__
    - k.replace
    - typing.NamedTuple.split
    - http.server.BaseHTTPRequestHandler.path.split
    - http.server.BaseHTTPRequestHandler.path.join
    - key.upper
    - <builtin>.getattr
    - werkzeug.test.stream_encode_multipart
    - typing.NamedTuple.path.decode
    - werkzeug.test.stream_encode_multipart.write_binary
    - stream.getvalue
    - werkzeug.sansio.multipart.MultipartEncoder.send_event
    - werkzeug._internal._make_encode_wrapper
    - werkzeug.datastructures.Headers.add
    - werkzeug._internal._to_str
    - typing.NamedTuple.scheme.decode
    - boundary.encode
    - http.server.BaseHTTPRequestHandler.path.decode
    - werkzeug.urls._make_fast_url_quote.quote
    - werkzeug.sansio.multipart.MultipartEncoder.__init__
    - headers.remove
    - collections.defaultdict.items
    - new_stream.write
    - typing.NamedTuple.decode
    - werkzeug.urls.url_encode
    - result.update
    - collections.defaultdict
    - typing.NamedTuple.find
    - stream.write
    - returned_keys.add
    - werkzeug.datastructures._options_header_vkw
    - werkzeug.datastructures.Headers.__init__
    - typing.cast
    - <builtin>.isinstance
    - werkzeug.urls.url_parse
    - werkzeug.urls.url_join
    - <builtin>.filter
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: io.BytesIO.tell
    functionSourceFile: io
    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: io.BytesIO.seek
    functionSourceFile: io
    functionUses: 20
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: result.update
    functionSourceFile: <builtin>
    functionUses: 19
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - x
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 767
    functionName: werkzeug.test.EnvironBuilder.get_environ._path_encode
    functionSourceFile: werkzeug.test
    functionUses: 0
    functionsReached:
    - http.server.BaseHTTPRequestHandler.path.fragment.encode
    - <builtin>.bytearray
    - typing.NamedTuple.fragment.split
    - http.server.BaseHTTPRequestHandler.path.decode
    - http.server.BaseHTTPRequestHandler.path.query.split
    - <builtin>.next
    - typing.NamedTuple.path.split
    - typing.NamedTuple.query.encode
    - http.server.BaseHTTPRequestHandler.path.query.encode
    - werkzeug.urls.url_unquote
    - werkzeug._internal._wsgi_encoding_dance
    - result.append
    - <builtin>.iter
    - typing.NamedTuple.query.split
    - unsafe.encode
    - <builtin>.frozenset
    - typing.NamedTuple.fragment.encode
    - werkzeug.urls._unquote_to_bytes
    - typing.NamedTuple.path.encode
    - _hextobyte.items
    - <builtin>.bytes
    - <builtin>.isinstance
    - http.server.BaseHTTPRequestHandler.path.encode
    - result.extend
    - rv.decode
    - http.server.BaseHTTPRequestHandler.path.fragment.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: headers.remove
    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: collections.defaultdict
    functionSourceFile: collections
    functionUses: 20
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: headers.to_wsgi_list
    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: collections.defaultdict.items
    functionSourceFile: collections
    functionUses: 18
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe309bee0>
    argNames:
    - self
    - cls
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 9
    functionLinenumber: 819
    functionName: werkzeug.test.EnvironBuilder.get_request
    functionSourceFile: werkzeug.test
    functionUses: 12
    functionsReached:
    - data.items
    - typing.NamedTuple.query.decode
    - value.decode
    - werkzeug.datastructures.Headers._validate_value
    - werkzeug._internal._make_encode_wrapper.<lambda1>
    - typing.NamedTuple.fragment.decode
    - werkzeug._internal._decode_idna
    - stream.tell
    - werkzeug.urls.BaseURL.decode_netloc
    - headers.to_wsgi_list
    - <builtin>.str
    - <builtin>.int
    - werkzeug._internal._decode_idna.decode_part
    - options.items
    - http.server.BaseHTTPRequestHandler.path.find
    - <builtin>.min
    - <builtin>.any
    - werkzeug.http.quote_header_value
    - name.lower
    - dict.items
    - io.BytesIO.tell
    - werkzeug.datastructures.Headers.copy
    - werkzeug.test._iter_data
    - <builtin>.super
    - <builtin>.set
    - werkzeug.urls.BaseURL.join
    - time.time
    - werkzeug._internal._to_bytes
    - tempfile.TemporaryFile
    - d.items
    - kw.items
    - werkzeug.urls.url_unparse
    - werkzeug.urls.BytesURL.decode
    - mimetypes.guess_type
    - stream.seek
    - <builtin>.list
    - werkzeug.datastructures.CombinedMultiDict.items
    - path.split
    - bpath.split
    - value.replace
    - path.startswith
    - werkzeug.datastructures._unicodify_header_value
    - segments.append
    - random.random
    - <builtin>.sorted
    - _scheme_re.match
    - domain.encode
    - werkzeug.urls._url_encode_impl
    - domain.split
    - environ.get
    - part.decode
    - werkzeug.urls._fast_url_quote_plus
    - found.add
    - werkzeug.datastructures.EnvironHeaders.copy
    - <builtin>.bytes
    - operator.methodcaller
    - http.server.BaseHTTPRequestHandler.path.encode
    - werkzeug.datastructures.OrderedMultiDict.items
    - werkzeug.datastructures.iter_multi_items
    - werkzeug.datastructures.EnvironHeaders.__init__
    - werkzeug.test.EnvironBuilder.get_environ
    - werkzeug.datastructures.MultiDict.items
    - io.BytesIO.seek
    - werkzeug.datastructures.CombinedMultiDict.__init__
    - werkzeug.http.dump_options_header
    - werkzeug._internal._check_str_tuple
    - werkzeug.datastructures.Headers.extend
    - <builtin>.len
    - io.BytesIO
    - werkzeug._internal._wsgi_encoding_dance
    - value.encode
    - typing.NamedTuple.__init__
    - k.replace
    - typing.NamedTuple.split
    - http.server.BaseHTTPRequestHandler.path.split
    - http.server.BaseHTTPRequestHandler.path.join
    - key.upper
    - <builtin>.getattr
    - werkzeug.test.stream_encode_multipart
    - typing.NamedTuple.path.decode
    - werkzeug.test.stream_encode_multipart.write_binary
    - stream.getvalue
    - werkzeug.sansio.multipart.MultipartEncoder.send_event
    - werkzeug._internal._make_encode_wrapper
    - werkzeug.datastructures.Headers.add
    - werkzeug._internal._to_str
    - typing.NamedTuple.scheme.decode
    - boundary.encode
    - http.server.BaseHTTPRequestHandler.path.decode
    - werkzeug.urls._make_fast_url_quote.quote
    - werkzeug.sansio.multipart.MultipartEncoder.__init__
    - headers.remove
    - collections.defaultdict.items
    - new_stream.write
    - typing.NamedTuple.decode
    - werkzeug.urls.url_encode
    - result.update
    - collections.defaultdict
    - werkzeug._internal._wsgi_decoding_dance
    - s.encode
    - typing.NamedTuple.find
    - stream.write
    - returned_keys.add
    - werkzeug.datastructures._options_header_vkw
    - werkzeug.datastructures.Headers.__init__
    - werkzeug.wsgi._get_server
    - typing.cast
    - <builtin>.isinstance
    - werkzeug.urls.url_parse
    - werkzeug.urls.url_join
    - <builtin>.filter
    - werkzeug.wrappers.request.Request.__init__
    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 0x7fcfe1ad52e0>
    - <ast.Constant object at 0x7fcfe1ad52b0>
    argNames:
    - self
    - environ
    - populate_request
    - shallow
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 99
    functionName: werkzeug.wrappers.request.Request.__init__
    functionSourceFile: werkzeug.wrappers.request
    functionUses: 23
    functionsReached:
    - werkzeug._internal._wsgi_decoding_dance
    - s.encode
    - werkzeug.datastructures.EnvironHeaders.__init__
    - <builtin>.int
    - <builtin>.super
    - environ.get
    - werkzeug.wsgi._get_server
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 0
    IfCount: 3
    argCount: 5
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe309b610>
    - <ast.Constant object at 0x7fcfe309b5e0>
    - <ast.Constant object at 0x7fcfe309b5b0>
    argNames:
    - self
    - application
    - response_wrapper
    - use_cookies
    - allow_subdomain_redirects
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 861
    functionName: werkzeug.test.Client.__init__
    functionSourceFile: werkzeug.test
    functionUses: 0
    functionsReached:
    - http.cookiejar.CookieJar.__init__
    - <builtin>.type
    - <builtin>.isinstance
    - typing.cast
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: http.cookiejar.CookieJar.__init__
    functionSourceFile: ''
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 12
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe30980a0>
    - <ast.Constant object at 0x7fcfe3098070>
    - <ast.Constant object at 0x7fcfe3098040>
    - <ast.Constant object at 0x7fcfe3095fd0>
    - <ast.Constant object at 0x7fcfe3095fa0>
    - <ast.Constant object at 0x7fcfe3095f70>
    - <ast.Constant object at 0x7fcfe3095f40>
    - <ast.Constant object at 0x7fcfe3095f10>
    - <ast.Constant object at 0x7fcfe3095ee0>
    argNames:
    - self
    - server_name
    - key
    - value
    - max_age
    - expires
    - path
    - domain
    - secure
    - httponly
    - samesite
    - charset
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 9
    functionLinenumber: 888
    functionName: werkzeug.test.Client.set_cookie
    functionSourceFile: werkzeug.test
    functionUses: 1
    functionsReached:
    - http.server.BaseHTTPRequestHandler.path.fragment.encode
    - email.utils.format_datetime
    - url.encode_netloc
    - p.encode
    - samesite.title
    - <builtin>.enumerate
    - data.items
    - dict.__init__
    - typing.NamedTuple.query.decode
    - datetime.datetime.combine
    - value.decode
    - werkzeug.datastructures.Headers._validate_value
    - werkzeug._internal._make_encode_wrapper.<lambda1>
    - typing.NamedTuple.fragment.decode
    - http.server.BaseHTTPRequestHandler.path.query.encode
    - dict.__getitem__
    - werkzeug._internal._decode_idna
    - stream.tell
    - werkzeug.urls.BaseURL.decode_netloc
    - result.append
    - typing.NamedTuple.encode
    - headers.to_wsgi_list
    - warnings.warn
    - werkzeug.datastructures.MultiDict.__init__
    - <builtin>.str
    - <builtin>.int
    - max_age.total_seconds
    - werkzeug._internal._decode_idna.decode_part
    - <builtin>.frozenset
    - options.items
    - http.server.BaseHTTPRequestHandler.path.find
    - <builtin>.min
    - typing.NamedTuple.fragment.encode
    - <builtin>.any
    - d.lists
    - werkzeug.http.quote_header_value
    - werkzeug.test.EnvironBuilder.__init__
    - typing.NamedTuple.path.encode
    - name.lower
    - io.BytesIO.tell
    - safe.encode
    - werkzeug.datastructures.Headers.copy
    - dict.items
    - werkzeug.datastructures.MultiDict.lists
    - time.mktime
    - werkzeug.test._iter_data
    - http.server.BaseHTTPRequestHandler.path.encode_netloc
    - email.utils.formatdate
    - datetime.datetime.now
    - <builtin>.set
    - werkzeug.datastructures.OrderedMultiDict.getlist
    - werkzeug.urls.BaseURL.join
    - werkzeug._internal._to_bytes
    - time.time
    - data.read
    - werkzeug.urls.iri_to_uri
    - werkzeug._internal._encode_idna
    - typing.NamedTuple._replace
    - tempfile.TemporaryFile
    - d.items
    - kw.items
    - werkzeug.urls.url_unparse
    - werkzeug.urls.BytesURL.decode
    - werkzeug.test.EnvironBuilder._add_file_from_data
    - old_key.lower
    - mimetypes.guess_type
    - stream.seek
    - werkzeug.datastructures.Authorization.to_header
    - werkzeug._internal._make_cookie_domain
    - typing.NamedTuple.query.encode
    - werkzeug.datastructures.CombinedMultiDict.items
    - <builtin>.list
    - path.split
    - bpath.split
    - value.replace
    - werkzeug.http.http_date
    - werkzeug.datastructures.CombinedMultiDict.lists
    - path.startswith
    - werkzeug.datastructures._unicodify_header_value
    - datetime.time
    - segments.append
    - random.random
    - <builtin>.sorted
    - rv.append
    - _scheme_re.match
    - <builtin>.iter
    - _key.lower
    - domain.encode
    - unsafe.encode
    - domain.split
    - werkzeug.urls._url_encode_impl
    - werkzeug.http.dump_cookie
    - part.decode
    - werkzeug.urls._fast_url_quote_plus
    - tmp.setdefault
    - werkzeug._internal._cookie_quote
    - found.add
    - <builtin>.bytes
    - werkzeug.datastructures.EnvironHeaders.copy
    - operator.methodcaller
    - http.server.BaseHTTPRequestHandler.path.encode
    - werkzeug.datastructures.OrderedMultiDict.items
    - werkzeug.datastructures.iter_multi_items
    - werkzeug.test.EnvironBuilder.get_environ
    - werkzeug.datastructures.MultiDict.items
    - io.BytesIO.seek
    - werkzeug.datastructures.CombinedMultiDict.__init__
    - werkzeug.http.dump_options_header
    - werkzeug._internal._check_str_tuple
    - <builtin>.hasattr
    - werkzeug.datastructures.Headers.extend
    - <builtin>.len
    - io.BytesIO
    - werkzeug.test.EnvironBuilder.close
    - rv.extend
    - rv.setdefault
    - buf.append
    - werkzeug.urls.BytesURL.encode_netloc
    - base64.b64encode
    - werkzeug.urls.BaseURL.replace
    - werkzeug._internal._wsgi_encoding_dance
    - typing.NamedTuple.__init__
    - werkzeug.urls.url_quote_plus
    - werkzeug.test.create_environ
    - value.encode
    - werkzeug.datastructures.OrderedMultiDict.lists
    - typing.NamedTuple.startswith
    - time.mktime.replace
    - k.replace
    - typing.NamedTuple.split
    - rv.items
    - http.server.BaseHTTPRequestHandler.path.split
    - http.server.BaseHTTPRequestHandler.path.join
    - werkzeug.http.dump_header
    - key.upper
    - <builtin>.getattr
    - werkzeug.test.stream_encode_multipart
    - typing.NamedTuple.path.decode
    - werkzeug._internal._dt_as_utc
    - werkzeug.test.stream_encode_multipart.write_binary
    - data.encode
    - werkzeug.datastructures.Authorization.__init__
    - stream.getvalue
    - werkzeug.urls.BaseURL.encode_netloc
    - werkzeug.sansio.multipart.MultipartEncoder.send_event
    - werkzeug._internal._make_encode_wrapper
    - f.close
    - werkzeug.datastructures.Headers.add
    - <builtin>.bytearray
    - werkzeug._internal._to_str
    - typing.NamedTuple.scheme.decode
    - http.server.BaseHTTPRequestHandler.path.replace
    - boundary.encode
    - http.server.BaseHTTPRequestHandler.path.decode
    - werkzeug.urls._make_fast_url_quote.quote
    - werkzeug.sansio.multipart.MultipartEncoder.__init__
    - headers.remove
    - collections.defaultdict.items
    - new_stream.write
    - typing.NamedTuple.decode
    - werkzeug.urls.url_encode
    - result.update
    - http.server.BaseHTTPRequestHandler.path.startswith
    - time.mktime.astimezone
    - collections.defaultdict
    - typing.NamedTuple.find
    - stream.write
    - returned_keys.add
    - werkzeug.datastructures._options_header_vkw
    - werkzeug.datastructures.Headers.__init__
    - werkzeug.datastructures.Headers.set
    - werkzeug.urls.url_fix
    - typing.cast
    - typing.NamedTuple.scheme.encode
    - <builtin>.isinstance
    - werkzeug.urls.url_parse
    - <builtin>.filter
    - werkzeug.urls.url_join
    - items.append
    - werkzeug.urls.url_quote
    - werkzeug.urls.URL.encode
    - rv.decode
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 8
    functionLinenumber: 1176
    functionName: werkzeug.test.create_environ
    functionSourceFile: werkzeug.test
    functionUses: 2
    functionsReached:
    - http.server.BaseHTTPRequestHandler.path.fragment.encode
    - url.encode_netloc
    - <builtin>.enumerate
    - data.items
    - dict.__init__
    - typing.NamedTuple.query.decode
    - value.decode
    - werkzeug.datastructures.Headers._validate_value
    - werkzeug._internal._make_encode_wrapper.<lambda1>
    - typing.NamedTuple.fragment.decode
    - dict.__getitem__
    - http.server.BaseHTTPRequestHandler.path.query.encode
    - werkzeug._internal._decode_idna
    - stream.tell
    - werkzeug.urls.BaseURL.decode_netloc
    - result.append
    - typing.NamedTuple.encode
    - headers.to_wsgi_list
    - werkzeug.datastructures.MultiDict.__init__
    - <builtin>.str
    - werkzeug._internal._decode_idna.decode_part
    - <builtin>.frozenset
    - options.items
    - http.server.BaseHTTPRequestHandler.path.find
    - <builtin>.min
    - d.lists
    - <builtin>.any
    - typing.NamedTuple.fragment.encode
    - werkzeug.http.quote_header_value
    - werkzeug.test.EnvironBuilder.__init__
    - typing.NamedTuple.path.encode
    - dict.items
    - io.BytesIO.tell
    - werkzeug.datastructures.Headers.copy
    - name.lower
    - safe.encode
    - werkzeug.datastructures.MultiDict.lists
    - werkzeug.test._iter_data
    - http.server.BaseHTTPRequestHandler.path.encode_netloc
    - <builtin>.set
    - werkzeug.datastructures.OrderedMultiDict.getlist
    - werkzeug.urls.BaseURL.join
    - time.time
    - werkzeug._internal._to_bytes
    - data.read
    - werkzeug.urls.iri_to_uri
    - typing.NamedTuple._replace
    - tempfile.TemporaryFile
    - d.items
    - kw.items
    - werkzeug.urls.url_unparse
    - werkzeug.urls.BytesURL.decode
    - werkzeug.test.EnvironBuilder._add_file_from_data
    - old_key.lower
    - mimetypes.guess_type
    - stream.seek
    - werkzeug.datastructures.Authorization.to_header
    - typing.NamedTuple.query.encode
    - <builtin>.list
    - werkzeug.datastructures.CombinedMultiDict.items
    - path.split
    - bpath.split
    - value.replace
    - werkzeug.datastructures.CombinedMultiDict.lists
    - path.startswith
    - werkzeug.datastructures._unicodify_header_value
    - segments.append
    - random.random
    - <builtin>.sorted
    - rv.append
    - _scheme_re.match
    - <builtin>.iter
    - _key.lower
    - domain.encode
    - unsafe.encode
    - werkzeug.urls._url_encode_impl
    - domain.split
    - part.decode
    - werkzeug.urls._fast_url_quote_plus
    - tmp.setdefault
    - found.add
    - werkzeug.datastructures.EnvironHeaders.copy
    - <builtin>.bytes
    - operator.methodcaller
    - http.server.BaseHTTPRequestHandler.path.encode
    - werkzeug.datastructures.OrderedMultiDict.items
    - werkzeug.datastructures.iter_multi_items
    - werkzeug.test.EnvironBuilder.get_environ
    - werkzeug.datastructures.MultiDict.items
    - io.BytesIO.seek
    - werkzeug.datastructures.CombinedMultiDict.__init__
    - werkzeug.http.dump_options_header
    - werkzeug._internal._check_str_tuple
    - <builtin>.hasattr
    - werkzeug.datastructures.Headers.extend
    - <builtin>.len
    - io.BytesIO
    - werkzeug.test.EnvironBuilder.close
    - rv.extend
    - rv.setdefault
    - werkzeug.urls.BytesURL.encode_netloc
    - base64.b64encode
    - werkzeug._internal._wsgi_encoding_dance
    - value.encode
    - typing.NamedTuple.__init__
    - werkzeug.urls.BaseURL.replace
    - werkzeug.urls.url_quote_plus
    - werkzeug.datastructures.OrderedMultiDict.lists
    - typing.NamedTuple.startswith
    - k.replace
    - typing.NamedTuple.split
    - rv.items
    - http.server.BaseHTTPRequestHandler.path.split
    - http.server.BaseHTTPRequestHandler.path.join
    - werkzeug.http.dump_header
    - key.upper
    - <builtin>.getattr
    - werkzeug.test.stream_encode_multipart
    - typing.NamedTuple.path.decode
    - werkzeug.test.stream_encode_multipart.write_binary
    - data.encode
    - werkzeug.datastructures.Authorization.__init__
    - stream.getvalue
    - werkzeug.urls.BaseURL.encode_netloc
    - werkzeug.sansio.multipart.MultipartEncoder.send_event
    - werkzeug._internal._make_encode_wrapper
    - f.close
    - werkzeug.datastructures.Headers.add
    - <builtin>.bytearray
    - werkzeug._internal._to_str
    - typing.NamedTuple.scheme.decode
    - http.server.BaseHTTPRequestHandler.path.replace
    - boundary.encode
    - http.server.BaseHTTPRequestHandler.path.decode
    - werkzeug.urls._make_fast_url_quote.quote
    - werkzeug.sansio.multipart.MultipartEncoder.__init__
    - headers.remove
    - collections.defaultdict.items
    - new_stream.write
    - typing.NamedTuple.decode
    - werkzeug.urls.url_encode
    - result.update
    - http.server.BaseHTTPRequestHandler.path.startswith
    - collections.defaultdict
    - typing.NamedTuple.find
    - stream.write
    - returned_keys.add
    - werkzeug.datastructures._options_header_vkw
    - werkzeug.datastructures.Headers.__init__
    - werkzeug.datastructures.Headers.set
    - werkzeug.urls.url_fix
    - typing.cast
    - typing.NamedTuple.scheme.encode
    - <builtin>.isinstance
    - werkzeug.urls.url_join
    - items.append
    - <builtin>.filter
    - werkzeug.urls.url_parse
    - werkzeug.urls.url_quote
    - werkzeug.urls.URL.encode
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 8
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe30950a0>
    - <ast.Constant object at 0x7fcfe3095070>
    - <ast.Constant object at 0x7fcfe3095040>
    - <ast.Constant object at 0x7fcfe3093fd0>
    - <ast.Constant object at 0x7fcfe3093fa0>
    argNames:
    - self
    - server_name
    - key
    - path
    - domain
    - secure
    - httponly
    - samesite
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 10
    functionLinenumber: 923
    functionName: werkzeug.test.Client.delete_cookie
    functionSourceFile: werkzeug.test
    functionUses: 0
    functionsReached:
    - http.server.BaseHTTPRequestHandler.path.fragment.encode
    - email.utils.format_datetime
    - url.encode_netloc
    - p.encode
    - samesite.title
    - werkzeug.test.Client.set_cookie
    - <builtin>.enumerate
    - data.items
    - dict.__init__
    - typing.NamedTuple.query.decode
    - datetime.datetime.combine
    - value.decode
    - werkzeug.datastructures.Headers._validate_value
    - werkzeug._internal._make_encode_wrapper.<lambda1>
    - typing.NamedTuple.fragment.decode
    - http.server.BaseHTTPRequestHandler.path.query.encode
    - dict.__getitem__
    - werkzeug._internal._decode_idna
    - stream.tell
    - werkzeug.urls.BaseURL.decode_netloc
    - result.append
    - typing.NamedTuple.encode
    - headers.to_wsgi_list
    - warnings.warn
    - werkzeug.datastructures.MultiDict.__init__
    - <builtin>.str
    - <builtin>.int
    - max_age.total_seconds
    - werkzeug._internal._decode_idna.decode_part
    - <builtin>.frozenset
    - options.items
    - http.server.BaseHTTPRequestHandler.path.find
    - <builtin>.min
    - typing.NamedTuple.fragment.encode
    - <builtin>.any
    - d.lists
    - werkzeug.http.quote_header_value
    - werkzeug.test.EnvironBuilder.__init__
    - typing.NamedTuple.path.encode
    - name.lower
    - io.BytesIO.tell
    - safe.encode
    - werkzeug.datastructures.Headers.copy
    - dict.items
    - werkzeug.datastructures.MultiDict.lists
    - time.mktime
    - werkzeug.test._iter_data
    - http.server.BaseHTTPRequestHandler.path.encode_netloc
    - email.utils.formatdate
    - datetime.datetime.now
    - <builtin>.set
    - werkzeug.datastructures.OrderedMultiDict.getlist
    - werkzeug.urls.BaseURL.join
    - werkzeug._internal._to_bytes
    - time.time
    - data.read
    - werkzeug.urls.iri_to_uri
    - werkzeug._internal._encode_idna
    - typing.NamedTuple._replace
    - tempfile.TemporaryFile
    - d.items
    - kw.items
    - werkzeug.urls.url_unparse
    - werkzeug.urls.BytesURL.decode
    - werkzeug.test.EnvironBuilder._add_file_from_data
    - old_key.lower
    - mimetypes.guess_type
    - stream.seek
    - werkzeug.datastructures.Authorization.to_header
    - werkzeug._internal._make_cookie_domain
    - typing.NamedTuple.query.encode
    - werkzeug.datastructures.CombinedMultiDict.items
    - <builtin>.list
    - path.split
    - bpath.split
    - value.replace
    - werkzeug.http.http_date
    - werkzeug.datastructures.CombinedMultiDict.lists
    - path.startswith
    - werkzeug.datastructures._unicodify_header_value
    - datetime.time
    - segments.append
    - random.random
    - <builtin>.sorted
    - rv.append
    - _scheme_re.match
    - <builtin>.iter
    - _key.lower
    - domain.encode
    - unsafe.encode
    - domain.split
    - werkzeug.urls._url_encode_impl
    - werkzeug.http.dump_cookie
    - part.decode
    - werkzeug.urls._fast_url_quote_plus
    - tmp.setdefault
    - werkzeug._internal._cookie_quote
    - found.add
    - <builtin>.bytes
    - werkzeug.datastructures.EnvironHeaders.copy
    - operator.methodcaller
    - http.server.BaseHTTPRequestHandler.path.encode
    - werkzeug.datastructures.OrderedMultiDict.items
    - werkzeug.datastructures.iter_multi_items
    - werkzeug.test.EnvironBuilder.get_environ
    - werkzeug.datastructures.MultiDict.items
    - io.BytesIO.seek
    - werkzeug.datastructures.CombinedMultiDict.__init__
    - werkzeug.http.dump_options_header
    - werkzeug._internal._check_str_tuple
    - <builtin>.hasattr
    - werkzeug.datastructures.Headers.extend
    - <builtin>.len
    - io.BytesIO
    - werkzeug.test.EnvironBuilder.close
    - rv.extend
    - rv.setdefault
    - buf.append
    - werkzeug.urls.BytesURL.encode_netloc
    - base64.b64encode
    - werkzeug.urls.BaseURL.replace
    - werkzeug._internal._wsgi_encoding_dance
    - typing.NamedTuple.__init__
    - werkzeug.urls.url_quote_plus
    - werkzeug.test.create_environ
    - value.encode
    - werkzeug.datastructures.OrderedMultiDict.lists
    - typing.NamedTuple.startswith
    - time.mktime.replace
    - k.replace
    - typing.NamedTuple.split
    - rv.items
    - http.server.BaseHTTPRequestHandler.path.split
    - http.server.BaseHTTPRequestHandler.path.join
    - werkzeug.http.dump_header
    - key.upper
    - <builtin>.getattr
    - werkzeug.test.stream_encode_multipart
    - typing.NamedTuple.path.decode
    - werkzeug._internal._dt_as_utc
    - werkzeug.test.stream_encode_multipart.write_binary
    - data.encode
    - werkzeug.datastructures.Authorization.__init__
    - stream.getvalue
    - werkzeug.urls.BaseURL.encode_netloc
    - werkzeug.sansio.multipart.MultipartEncoder.send_event
    - werkzeug._internal._make_encode_wrapper
    - f.close
    - werkzeug.datastructures.Headers.add
    - <builtin>.bytearray
    - werkzeug._internal._to_str
    - typing.NamedTuple.scheme.decode
    - http.server.BaseHTTPRequestHandler.path.replace
    - boundary.encode
    - http.server.BaseHTTPRequestHandler.path.decode
    - werkzeug.urls._make_fast_url_quote.quote
    - werkzeug.sansio.multipart.MultipartEncoder.__init__
    - headers.remove
    - collections.defaultdict.items
    - new_stream.write
    - typing.NamedTuple.decode
    - werkzeug.urls.url_encode
    - result.update
    - http.server.BaseHTTPRequestHandler.path.startswith
    - time.mktime.astimezone
    - collections.defaultdict
    - typing.NamedTuple.find
    - stream.write
    - returned_keys.add
    - werkzeug.datastructures._options_header_vkw
    - werkzeug.datastructures.Headers.__init__
    - werkzeug.datastructures.Headers.set
    - werkzeug.urls.url_fix
    - typing.cast
    - typing.NamedTuple.scheme.encode
    - <builtin>.isinstance
    - werkzeug.urls.url_parse
    - <builtin>.filter
    - werkzeug.urls.url_join
    - items.append
    - werkzeug.urls.url_quote
    - werkzeug.urls.URL.encode
    - rv.decode
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    IfCount: 2
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe3093970>
    argNames:
    - self
    - environ
    - buffered
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 946
    functionName: werkzeug.test.Client.run_wsgi_app
    functionSourceFile: werkzeug.test
    functionUses: 10
    functionsReached:
    - werkzeug.test.Client.run_wsgi_app
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 12
    ICount: 3
    IfCount: 8
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe3090dc0>
    argNames:
    - self
    - response
    - buffered
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 8
    functionLinenumber: 963
    functionName: werkzeug.test.Client.resolve_redirect
    functionSourceFile: werkzeug.test
    functionUses: 9
    functionsReached:
    - http.server.BaseHTTPRequestHandler.path.fragment.encode
    - url.encode_netloc
    - builder.script_root.split
    - <builtin>.enumerate
    - data.items
    - dict.__init__
    - typing.NamedTuple.query.decode
    - werkzeug.test.EnvironBuilder.get_request
    - value.decode
    - werkzeug.datastructures.Headers._validate_value
    - werkzeug._internal._make_encode_wrapper.<lambda1>
    - typing.NamedTuple.fragment.decode
    - werkzeug.test.Client.open
    - EnvironBuilder.from_environ
    - dict.__getitem__
    - http.server.BaseHTTPRequestHandler.path.query.encode
    - werkzeug._internal._decode_idna
    - stream.tell
    - arg.get_request
    - werkzeug.urls.BaseURL.decode_netloc
    - builder.get_request
    - result.append
    - typing.NamedTuple.encode
    - headers.to_wsgi_list
    - werkzeug.datastructures.MultiDict.__init__
    - <builtin>.str
    - <builtin>.int
    - werkzeug._internal._decode_idna.decode_part
    - <builtin>.frozenset
    - options.items
    - history.append
    - werkzeug.datastructures.Headers.__delitem__
    - http.server.BaseHTTPRequestHandler.path.find
    - <builtin>.min
    - response.close
    - d.lists
    - <builtin>.any
    - new.append
    - typing.NamedTuple.fragment.encode
    - werkzeug.http.quote_header_value
    - app_root.lstrip
    - werkzeug.test.EnvironBuilder.__init__
    - typing.NamedTuple.path.encode
    - dict.items
    - io.BytesIO.tell
    - safe.encode
    - werkzeug.datastructures.Headers.copy
    - name.lower
    - werkzeug.datastructures.MultiDict.lists
    - werkzeug.test._iter_data
    - http.server.BaseHTTPRequestHandler.path.encode_netloc
    - <builtin>.super
    - <builtin>.set
    - out.update
    - werkzeug.datastructures.OrderedMultiDict.getlist
    - werkzeug.urls.BaseURL.join
    - key.lower
    - time.time
    - werkzeug._internal._to_bytes
    - data.read
    - werkzeug.urls.iri_to_uri
    - typing.NamedTuple._replace
    - tempfile.TemporaryFile
    - builder.headers.pop
    - d.items
    - kw.items
    - werkzeug.urls.url_unparse
    - werkzeug.urls.BytesURL.decode
    - werkzeug.test.EnvironBuilder._add_file_from_data
    - old_key.lower
    - mimetypes.guess_type
    - stream.seek
    - werkzeug.test.EnvironBuilder._make_base_url
    - werkzeug.datastructures.Authorization.to_header
    - typing.NamedTuple.query.encode
    - werkzeug.datastructures.CombinedMultiDict.items
    - builder.close
    - <builtin>.list
    - path.split
    - bpath.split
    - value.replace
    - werkzeug.datastructures.CombinedMultiDict.lists
    - path.startswith
    - werkzeug.datastructures._unicodify_header_value
    - segments.append
    - random.random
    - <builtin>.sorted
    - rv.append
    - _scheme_re.match
    - <builtin>.iter
    - _key.lower
    - domain.encode
    - unsafe.encode
    - domain.split
    - werkzeug.urls._url_encode_impl
    - environ.get
    - part.decode
    - werkzeug.urls._fast_url_quote_plus
    - copy.copy
    - tmp.setdefault
    - werkzeug.urls.URL.encode
    - builder.server_name.split
    - found.add
    - <builtin>.bytes
    - werkzeug.datastructures.EnvironHeaders.copy
    - app.config.get
    - operator.methodcaller
    - http.server.BaseHTTPRequestHandler.path.encode
    - werkzeug.datastructures.OrderedMultiDict.items
    - werkzeug.datastructures.iter_multi_items
    - werkzeug.datastructures.EnvironHeaders.__init__
    - werkzeug.test.EnvironBuilder.get_environ
    - werkzeug.datastructures.MultiDict.items
    - io.BytesIO.seek
    - <builtin>.tuple
    - werkzeug.datastructures.CombinedMultiDict.__init__
    - werkzeug.http.dump_options_header
    - werkzeug._internal._check_str_tuple
    - copy.copy.get_request
    - <builtin>.hasattr
    - werkzeug.datastructures.Headers.extend
    - <builtin>.len
    - io.BytesIO
    - werkzeug.test.EnvironBuilder.close
    - rv.extend
    - rv.setdefault
    - werkzeug.test.Client.run_wsgi_app
    - werkzeug.urls.BytesURL.encode_netloc
    - base64.b64encode
    - flask.testing.FlaskClient._copy_environ
    - werkzeug.urls.BaseURL.replace
    - werkzeug._internal._wsgi_encoding_dance
    - typing.NamedTuple.__init__
    - werkzeug.urls.url_quote_plus
    - value.encode
    - werkzeug.test.Client.resolve_redirect
    - werkzeug.datastructures.OrderedMultiDict.lists
    - typing.NamedTuple.startswith
    - k.replace
    - typing.NamedTuple.split
    - flask.testing.EnvironBuilder.__init__
    - rv.items
    - http.server.BaseHTTPRequestHandler.path.split
    - builder.input_stream.close
    - werkzeug.http.dump_header
    - http.server.BaseHTTPRequestHandler.path.join
    - werkzeug.datastructures.Headers.pop
    - netloc.split
    - key.upper
    - response.call_on_close
    - k.lower
    - werkzeug.test.stream_encode_multipart
    - <builtin>.getattr
    - typing.NamedTuple.path.decode
    - werkzeug.test.stream_encode_multipart.write_binary
    - data.encode
    - werkzeug.datastructures.Authorization.__init__
    - stream.getvalue
    - werkzeug.urls.BaseURL.encode_netloc
    - werkzeug.sansio.multipart.MultipartEncoder.send_event
    - kwargs.get
    - werkzeug._internal._make_encode_wrapper
    - f.close
    - werkzeug.datastructures.Headers.add
    - <builtin>.bytearray
    - werkzeug._internal._to_str
    - werkzeug.test.EnvironBuilder.from_environ
    - typing.NamedTuple.scheme.decode
    - http.server.BaseHTTPRequestHandler.path.replace
    - boundary.encode
    - response.make_sequence
    - http.server.BaseHTTPRequestHandler.path.decode
    - werkzeug.urls._make_fast_url_quote.quote
    - werkzeug.sansio.multipart.MultipartEncoder.__init__
    - <builtin>.bool
    - headers.remove
    - collections.defaultdict.items
    - werkzeug.datastructures.Headers.remove
    - new_stream.write
    - typing.NamedTuple.decode
    - werkzeug.urls.url_encode
    - result.update
    - redirects.add
    - http.server.BaseHTTPRequestHandler.path.startswith
    - collections.defaultdict
    - werkzeug._internal._wsgi_decoding_dance
    - s.encode
    - typing.NamedTuple.find
    - stream.write
    - returned_keys.add
    - werkzeug.datastructures._options_header_vkw
    - werkzeug.datastructures.Headers.__init__
    - flask.testing.FlaskClient.open
    - werkzeug.datastructures.Headers.set
    - werkzeug.wsgi._get_server
    - werkzeug.urls.url_fix
    - flask.testing.FlaskClient._request_from_builder_args
    - typing.cast
    - typing.NamedTuple.scheme.encode
    - <builtin>.isinstance
    - <builtin>.filter
    - items.append
    - werkzeug.urls.url_parse
    - werkzeug.urls.url_join
    - werkzeug.urls.url_quote
    - werkzeug.wrappers.request.Request.__init__
    linkageType: pythonLinkage
    raised:
    - RuntimeError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: builder.server_name.split
    functionSourceFile: <builtin>
    functionUses: 10
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: builder.script_root.split
    functionSourceFile: <builtin>
    functionUses: 10
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: builder.input_stream.close
    functionSourceFile: <builtin>
    functionUses: 10
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: builder.headers.pop
    functionSourceFile: <builtin>
    functionUses: 10
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 12
    ICount: 7
    IfCount: 8
    argCount: 5
    argDefaultValues: []
    argNames:
    - self
    - args
    - buffered
    - follow_redirects
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 9
    functionLinenumber: 1026
    functionName: werkzeug.test.Client.open
    functionSourceFile: werkzeug.test
    functionUses: 9
    functionsReached:
    - http.server.BaseHTTPRequestHandler.path.fragment.encode
    - url.encode_netloc
    - builder.script_root.split
    - <builtin>.enumerate
    - data.items
    - dict.__init__
    - typing.NamedTuple.query.decode
    - werkzeug.test.EnvironBuilder.get_request
    - value.decode
    - werkzeug.datastructures.Headers._validate_value
    - werkzeug._internal._make_encode_wrapper.<lambda1>
    - typing.NamedTuple.fragment.decode
    - werkzeug.test.Client.open
    - EnvironBuilder.from_environ
    - dict.__getitem__
    - http.server.BaseHTTPRequestHandler.path.query.encode
    - werkzeug._internal._decode_idna
    - stream.tell
    - arg.get_request
    - werkzeug.urls.BaseURL.decode_netloc
    - result.append
    - builder.get_request
    - typing.NamedTuple.encode
    - headers.to_wsgi_list
    - werkzeug.datastructures.MultiDict.__init__
    - <builtin>.str
    - <builtin>.int
    - werkzeug._internal._decode_idna.decode_part
    - <builtin>.frozenset
    - werkzeug.datastructures.Headers.__delitem__
    - history.append
    - options.items
    - http.server.BaseHTTPRequestHandler.path.find
    - <builtin>.min
    - response.close
    - d.lists
    - new.append
    - <builtin>.any
    - typing.NamedTuple.fragment.encode
    - werkzeug.http.quote_header_value
    - app_root.lstrip
    - werkzeug.test.EnvironBuilder.__init__
    - typing.NamedTuple.path.encode
    - dict.items
    - io.BytesIO.tell
    - safe.encode
    - werkzeug.datastructures.Headers.copy
    - name.lower
    - werkzeug.datastructures.MultiDict.lists
    - werkzeug.test._iter_data
    - http.server.BaseHTTPRequestHandler.path.encode_netloc
    - <builtin>.super
    - <builtin>.set
    - out.update
    - werkzeug.datastructures.OrderedMultiDict.getlist
    - werkzeug.urls.BaseURL.join
    - key.lower
    - time.time
    - werkzeug._internal._to_bytes
    - data.read
    - werkzeug.urls.iri_to_uri
    - typing.NamedTuple._replace
    - tempfile.TemporaryFile
    - builder.headers.pop
    - d.items
    - kw.items
    - werkzeug.urls.url_unparse
    - werkzeug.urls.BytesURL.decode
    - werkzeug.test.EnvironBuilder._add_file_from_data
    - old_key.lower
    - mimetypes.guess_type
    - stream.seek
    - werkzeug.test.EnvironBuilder._make_base_url
    - werkzeug.datastructures.Authorization.to_header
    - typing.NamedTuple.query.encode
    - werkzeug.datastructures.CombinedMultiDict.items
    - <builtin>.list
    - builder.close
    - path.split
    - bpath.split
    - value.replace
    - werkzeug.datastructures.CombinedMultiDict.lists
    - path.startswith
    - werkzeug.datastructures._unicodify_header_value
    - segments.append
    - random.random
    - <builtin>.sorted
    - rv.append
    - _scheme_re.match
    - <builtin>.iter
    - _key.lower
    - domain.encode
    - unsafe.encode
    - domain.split
    - werkzeug.urls._url_encode_impl
    - environ.get
    - part.decode
    - werkzeug.urls._fast_url_quote_plus
    - copy.copy
    - tmp.setdefault
    - werkzeug.urls.URL.encode
    - builder.server_name.split
    - found.add
    - <builtin>.bytes
    - werkzeug.datastructures.EnvironHeaders.copy
    - app.config.get
    - operator.methodcaller
    - http.server.BaseHTTPRequestHandler.path.encode
    - werkzeug.datastructures.OrderedMultiDict.items
    - werkzeug.datastructures.iter_multi_items
    - werkzeug.datastructures.EnvironHeaders.__init__
    - werkzeug.test.EnvironBuilder.get_environ
    - werkzeug.datastructures.MultiDict.items
    - io.BytesIO.seek
    - <builtin>.tuple
    - werkzeug.datastructures.CombinedMultiDict.__init__
    - werkzeug.http.dump_options_header
    - werkzeug._internal._check_str_tuple
    - copy.copy.get_request
    - <builtin>.hasattr
    - werkzeug.datastructures.Headers.extend
    - io.BytesIO
    - <builtin>.len
    - werkzeug.test.EnvironBuilder.close
    - rv.extend
    - rv.setdefault
    - werkzeug.test.Client.run_wsgi_app
    - werkzeug.urls.BytesURL.encode_netloc
    - base64.b64encode
    - flask.testing.FlaskClient._copy_environ
    - werkzeug.urls.BaseURL.replace
    - werkzeug._internal._wsgi_encoding_dance
    - typing.NamedTuple.__init__
    - werkzeug.urls.url_quote_plus
    - value.encode
    - werkzeug.test.Client.resolve_redirect
    - werkzeug.datastructures.OrderedMultiDict.lists
    - typing.NamedTuple.startswith
    - k.replace
    - typing.NamedTuple.split
    - flask.testing.EnvironBuilder.__init__
    - rv.items
    - http.server.BaseHTTPRequestHandler.path.split
    - builder.input_stream.close
    - werkzeug.http.dump_header
    - http.server.BaseHTTPRequestHandler.path.join
    - werkzeug.datastructures.Headers.pop
    - netloc.split
    - key.upper
    - response.call_on_close
    - k.lower
    - werkzeug.test.stream_encode_multipart
    - <builtin>.getattr
    - typing.NamedTuple.path.decode
    - werkzeug.test.stream_encode_multipart.write_binary
    - data.encode
    - werkzeug.datastructures.Authorization.__init__
    - stream.getvalue
    - werkzeug.urls.BaseURL.encode_netloc
    - werkzeug.sansio.multipart.MultipartEncoder.send_event
    - kwargs.get
    - werkzeug._internal._make_encode_wrapper
    - f.close
    - werkzeug.datastructures.Headers.add
    - <builtin>.bytearray
    - werkzeug._internal._to_str
    - werkzeug.test.EnvironBuilder.from_environ
    - typing.NamedTuple.scheme.decode
    - http.server.BaseHTTPRequestHandler.path.replace
    - boundary.encode
    - response.make_sequence
    - http.server.BaseHTTPRequestHandler.path.decode
    - werkzeug.urls._make_fast_url_quote.quote
    - werkzeug.sansio.multipart.MultipartEncoder.__init__
    - <builtin>.bool
    - headers.remove
    - collections.defaultdict.items
    - werkzeug.datastructures.Headers.remove
    - new_stream.write
    - typing.NamedTuple.decode
    - werkzeug.urls.url_encode
    - result.update
    - redirects.add
    - http.server.BaseHTTPRequestHandler.path.startswith
    - collections.defaultdict
    - werkzeug._internal._wsgi_decoding_dance
    - s.encode
    - typing.NamedTuple.find
    - stream.write
    - returned_keys.add
    - werkzeug.datastructures._options_header_vkw
    - flask.testing.FlaskClient.open
    - werkzeug.datastructures.Headers.__init__
    - werkzeug.datastructures.Headers.set
    - werkzeug.urls.url_fix
    - werkzeug.wsgi._get_server
    - flask.testing.FlaskClient._request_from_builder_args
    - typing.cast
    - typing.NamedTuple.scheme.encode
    - <builtin>.isinstance
    - <builtin>.filter
    - items.append
    - werkzeug.urls.url_parse
    - werkzeug.urls.url_join
    - werkzeug.urls.url_quote
    - werkzeug.wrappers.request.Request.__init__
    linkageType: pythonLinkage
    raised:
    - ClientRedirectError
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 0
    IfCount: 3
    argCount: 5
    argDefaultValues: []
    argNames:
    - self
    - args
    - buffered
    - follow_redirects
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 9
    functionLinenumber: 191
    functionName: flask.testing.FlaskClient.open
    functionSourceFile: flask.testing
    functionUses: 10
    functionsReached:
    - werkzeug._internal._to_str
    - typing.NamedTuple.scheme.decode
    - copy.copy.get_request
    - http.server.BaseHTTPRequestHandler.path.decode
    - <builtin>.len
    - werkzeug.urls.BytesURL.decode
    - typing.NamedTuple.query.decode
    - <builtin>.bool
    - werkzeug._internal._make_encode_wrapper.<lambda1>
    - typing.NamedTuple.fragment.decode
    - builder.close
    - EnvironBuilder.from_environ
    - typing.NamedTuple.decode
    - flask.testing.FlaskClient._copy_environ
    - werkzeug._internal._decode_idna
    - typing.NamedTuple.__init__
    - werkzeug.urls.BaseURL.decode_netloc
    - builder.get_request
    - typing.NamedTuple.split
    - flask.testing.EnvironBuilder.__init__
    - _scheme_re.match
    - <builtin>.str
    - typing.NamedTuple.find
    - http.server.BaseHTTPRequestHandler.path.split
    - domain.encode
    - werkzeug._internal._decode_idna.decode_part
    - domain.split
    - http.server.BaseHTTPRequestHandler.path.find
    - <builtin>.min
    - part.decode
    - copy.copy
    - <builtin>.any
    - typing.NamedTuple.path.decode
    - app_root.lstrip
    - flask.testing.FlaskClient._request_from_builder_args
    - app.config.get
    - operator.methodcaller
    - <builtin>.isinstance
    - werkzeug.urls.url_parse
    - <builtin>.filter
    - <builtin>.super
    - kwargs.get
    - werkzeug._internal._make_encode_wrapper
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: arg.get_request
    functionSourceFile: <builtin>
    functionUses: 10
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: response.make_sequence
    functionSourceFile: <builtin>
    functionUses: 10
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: response.close
    functionSourceFile: <builtin>
    functionUses: 10
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: redirects.add
    functionSourceFile: <builtin>
    functionUses: 10
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: history.append
    functionSourceFile: <builtin>
    functionUses: 10
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: response.call_on_close
    functionSourceFile: <builtin>
    functionUses: 10
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - args
    - kw
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 10
    functionLinenumber: 1132
    functionName: werkzeug.test.Client.get
    functionSourceFile: werkzeug.test
    functionUses: 0
    functionsReached:
    - http.server.BaseHTTPRequestHandler.path.fragment.encode
    - url.encode_netloc
    - builder.script_root.split
    - <builtin>.enumerate
    - data.items
    - dict.__init__
    - typing.NamedTuple.query.decode
    - werkzeug.test.EnvironBuilder.get_request
    - value.decode
    - werkzeug.datastructures.Headers._validate_value
    - werkzeug._internal._make_encode_wrapper.<lambda1>
    - typing.NamedTuple.fragment.decode
    - werkzeug.test.Client.open
    - EnvironBuilder.from_environ
    - dict.__getitem__
    - http.server.BaseHTTPRequestHandler.path.query.encode
    - werkzeug._internal._decode_idna
    - stream.tell
    - arg.get_request
    - werkzeug.urls.BaseURL.decode_netloc
    - builder.get_request
    - result.append
    - typing.NamedTuple.encode
    - headers.to_wsgi_list
    - werkzeug.datastructures.MultiDict.__init__
    - <builtin>.str
    - <builtin>.int
    - werkzeug._internal._decode_idna.decode_part
    - <builtin>.frozenset
    - options.items
    - history.append
    - werkzeug.datastructures.Headers.__delitem__
    - http.server.BaseHTTPRequestHandler.path.find
    - <builtin>.min
    - response.close
    - d.lists
    - <builtin>.any
    - new.append
    - typing.NamedTuple.fragment.encode
    - werkzeug.http.quote_header_value
    - app_root.lstrip
    - werkzeug.test.EnvironBuilder.__init__
    - typing.NamedTuple.path.encode
    - dict.items
    - io.BytesIO.tell
    - safe.encode
    - werkzeug.datastructures.Headers.copy
    - name.lower
    - werkzeug.datastructures.MultiDict.lists
    - werkzeug.test._iter_data
    - http.server.BaseHTTPRequestHandler.path.encode_netloc
    - <builtin>.super
    - <builtin>.set
    - out.update
    - werkzeug.datastructures.OrderedMultiDict.getlist
    - werkzeug.urls.BaseURL.join
    - key.lower
    - time.time
    - werkzeug._internal._to_bytes
    - data.read
    - werkzeug.urls.iri_to_uri
    - typing.NamedTuple._replace
    - tempfile.TemporaryFile
    - builder.headers.pop
    - d.items
    - kw.items
    - werkzeug.urls.url_unparse
    - werkzeug.urls.BytesURL.decode
    - werkzeug.test.EnvironBuilder._add_file_from_data
    - old_key.lower
    - mimetypes.guess_type
    - stream.seek
    - werkzeug.test.EnvironBuilder._make_base_url
    - werkzeug.datastructures.Authorization.to_header
    - typing.NamedTuple.query.encode
    - werkzeug.datastructures.CombinedMultiDict.items
    - builder.close
    - <builtin>.list
    - path.split
    - bpath.split
    - value.replace
    - werkzeug.datastructures.CombinedMultiDict.lists
    - path.startswith
    - werkzeug.datastructures._unicodify_header_value
    - segments.append
    - random.random
    - <builtin>.sorted
    - rv.append
    - _scheme_re.match
    - <builtin>.iter
    - _key.lower
    - domain.encode
    - unsafe.encode
    - domain.split
    - werkzeug.urls._url_encode_impl
    - environ.get
    - part.decode
    - werkzeug.urls._fast_url_quote_plus
    - copy.copy
    - tmp.setdefault
    - werkzeug.urls.URL.encode
    - builder.server_name.split
    - found.add
    - <builtin>.bytes
    - werkzeug.datastructures.EnvironHeaders.copy
    - app.config.get
    - operator.methodcaller
    - http.server.BaseHTTPRequestHandler.path.encode
    - werkzeug.datastructures.OrderedMultiDict.items
    - werkzeug.datastructures.iter_multi_items
    - werkzeug.datastructures.EnvironHeaders.__init__
    - werkzeug.test.EnvironBuilder.get_environ
    - werkzeug.datastructures.MultiDict.items
    - io.BytesIO.seek
    - <builtin>.tuple
    - werkzeug.datastructures.CombinedMultiDict.__init__
    - werkzeug.http.dump_options_header
    - werkzeug._internal._check_str_tuple
    - copy.copy.get_request
    - <builtin>.hasattr
    - werkzeug.datastructures.Headers.extend
    - <builtin>.len
    - io.BytesIO
    - werkzeug.test.EnvironBuilder.close
    - rv.extend
    - rv.setdefault
    - werkzeug.test.Client.run_wsgi_app
    - werkzeug.urls.BytesURL.encode_netloc
    - base64.b64encode
    - flask.testing.FlaskClient._copy_environ
    - werkzeug.urls.BaseURL.replace
    - werkzeug._internal._wsgi_encoding_dance
    - typing.NamedTuple.__init__
    - werkzeug.urls.url_quote_plus
    - value.encode
    - werkzeug.test.Client.resolve_redirect
    - werkzeug.datastructures.OrderedMultiDict.lists
    - typing.NamedTuple.startswith
    - k.replace
    - typing.NamedTuple.split
    - flask.testing.EnvironBuilder.__init__
    - rv.items
    - http.server.BaseHTTPRequestHandler.path.split
    - builder.input_stream.close
    - werkzeug.http.dump_header
    - http.server.BaseHTTPRequestHandler.path.join
    - werkzeug.datastructures.Headers.pop
    - netloc.split
    - key.upper
    - response.call_on_close
    - k.lower
    - werkzeug.test.stream_encode_multipart
    - <builtin>.getattr
    - typing.NamedTuple.path.decode
    - werkzeug.test.stream_encode_multipart.write_binary
    - data.encode
    - werkzeug.datastructures.Authorization.__init__
    - stream.getvalue
    - werkzeug.urls.BaseURL.encode_netloc
    - werkzeug.sansio.multipart.MultipartEncoder.send_event
    - kwargs.get
    - werkzeug._internal._make_encode_wrapper
    - f.close
    - werkzeug.datastructures.Headers.add
    - <builtin>.bytearray
    - werkzeug._internal._to_str
    - werkzeug.test.EnvironBuilder.from_environ
    - typing.NamedTuple.scheme.decode
    - http.server.BaseHTTPRequestHandler.path.replace
    - boundary.encode
    - response.make_sequence
    - http.server.BaseHTTPRequestHandler.path.decode
    - werkzeug.urls._make_fast_url_quote.quote
    - werkzeug.sansio.multipart.MultipartEncoder.__init__
    - <builtin>.bool
    - headers.remove
    - collections.defaultdict.items
    - werkzeug.datastructures.Headers.remove
    - new_stream.write
    - typing.NamedTuple.decode
    - werkzeug.urls.url_encode
    - result.update
    - redirects.add
    - http.server.BaseHTTPRequestHandler.path.startswith
    - collections.defaultdict
    - werkzeug._internal._wsgi_decoding_dance
    - s.encode
    - typing.NamedTuple.find
    - stream.write
    - returned_keys.add
    - werkzeug.datastructures._options_header_vkw
    - werkzeug.datastructures.Headers.__init__
    - flask.testing.FlaskClient.open
    - werkzeug.datastructures.Headers.set
    - werkzeug.wsgi._get_server
    - werkzeug.urls.url_fix
    - flask.testing.FlaskClient._request_from_builder_args
    - typing.cast
    - typing.NamedTuple.scheme.encode
    - <builtin>.isinstance
    - <builtin>.filter
    - items.append
    - werkzeug.urls.url_parse
    - werkzeug.urls.url_join
    - werkzeug.urls.url_quote
    - werkzeug.wrappers.request.Request.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - args
    - kw
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 10
    functionLinenumber: 1137
    functionName: werkzeug.test.Client.post
    functionSourceFile: werkzeug.test
    functionUses: 0
    functionsReached:
    - http.server.BaseHTTPRequestHandler.path.fragment.encode
    - url.encode_netloc
    - builder.script_root.split
    - <builtin>.enumerate
    - data.items
    - dict.__init__
    - typing.NamedTuple.query.decode
    - werkzeug.test.EnvironBuilder.get_request
    - value.decode
    - werkzeug.datastructures.Headers._validate_value
    - werkzeug._internal._make_encode_wrapper.<lambda1>
    - typing.NamedTuple.fragment.decode
    - werkzeug.test.Client.open
    - EnvironBuilder.from_environ
    - dict.__getitem__
    - http.server.BaseHTTPRequestHandler.path.query.encode
    - werkzeug._internal._decode_idna
    - stream.tell
    - arg.get_request
    - werkzeug.urls.BaseURL.decode_netloc
    - builder.get_request
    - result.append
    - typing.NamedTuple.encode
    - headers.to_wsgi_list
    - werkzeug.datastructures.MultiDict.__init__
    - <builtin>.str
    - <builtin>.int
    - werkzeug._internal._decode_idna.decode_part
    - <builtin>.frozenset
    - options.items
    - history.append
    - werkzeug.datastructures.Headers.__delitem__
    - http.server.BaseHTTPRequestHandler.path.find
    - <builtin>.min
    - response.close
    - d.lists
    - <builtin>.any
    - new.append
    - typing.NamedTuple.fragment.encode
    - werkzeug.http.quote_header_value
    - app_root.lstrip
    - werkzeug.test.EnvironBuilder.__init__
    - typing.NamedTuple.path.encode
    - dict.items
    - io.BytesIO.tell
    - safe.encode
    - werkzeug.datastructures.Headers.copy
    - name.lower
    - werkzeug.datastructures.MultiDict.lists
    - werkzeug.test._iter_data
    - http.server.BaseHTTPRequestHandler.path.encode_netloc
    - <builtin>.super
    - <builtin>.set
    - out.update
    - werkzeug.datastructures.OrderedMultiDict.getlist
    - werkzeug.urls.BaseURL.join
    - key.lower
    - time.time
    - werkzeug._internal._to_bytes
    - data.read
    - werkzeug.urls.iri_to_uri
    - typing.NamedTuple._replace
    - tempfile.TemporaryFile
    - builder.headers.pop
    - d.items
    - kw.items
    - werkzeug.urls.url_unparse
    - werkzeug.urls.BytesURL.decode
    - werkzeug.test.EnvironBuilder._add_file_from_data
    - old_key.lower
    - mimetypes.guess_type
    - stream.seek
    - werkzeug.test.EnvironBuilder._make_base_url
    - werkzeug.datastructures.Authorization.to_header
    - typing.NamedTuple.query.encode
    - werkzeug.datastructures.CombinedMultiDict.items
    - builder.close
    - <builtin>.list
    - path.split
    - bpath.split
    - value.replace
    - werkzeug.datastructures.CombinedMultiDict.lists
    - path.startswith
    - werkzeug.datastructures._unicodify_header_value
    - segments.append
    - random.random
    - <builtin>.sorted
    - rv.append
    - _scheme_re.match
    - <builtin>.iter
    - _key.lower
    - domain.encode
    - unsafe.encode
    - domain.split
    - werkzeug.urls._url_encode_impl
    - environ.get
    - part.decode
    - werkzeug.urls._fast_url_quote_plus
    - copy.copy
    - tmp.setdefault
    - werkzeug.urls.URL.encode
    - builder.server_name.split
    - found.add
    - <builtin>.bytes
    - werkzeug.datastructures.EnvironHeaders.copy
    - app.config.get
    - operator.methodcaller
    - http.server.BaseHTTPRequestHandler.path.encode
    - werkzeug.datastructures.OrderedMultiDict.items
    - werkzeug.datastructures.iter_multi_items
    - werkzeug.datastructures.EnvironHeaders.__init__
    - werkzeug.test.EnvironBuilder.get_environ
    - werkzeug.datastructures.MultiDict.items
    - io.BytesIO.seek
    - <builtin>.tuple
    - werkzeug.datastructures.CombinedMultiDict.__init__
    - werkzeug.http.dump_options_header
    - werkzeug._internal._check_str_tuple
    - copy.copy.get_request
    - <builtin>.hasattr
    - werkzeug.datastructures.Headers.extend
    - <builtin>.len
    - io.BytesIO
    - werkzeug.test.EnvironBuilder.close
    - rv.extend
    - rv.setdefault
    - werkzeug.test.Client.run_wsgi_app
    - werkzeug.urls.BytesURL.encode_netloc
    - base64.b64encode
    - flask.testing.FlaskClient._copy_environ
    - werkzeug.urls.BaseURL.replace
    - werkzeug._internal._wsgi_encoding_dance
    - typing.NamedTuple.__init__
    - werkzeug.urls.url_quote_plus
    - value.encode
    - werkzeug.test.Client.resolve_redirect
    - werkzeug.datastructures.OrderedMultiDict.lists
    - typing.NamedTuple.startswith
    - k.replace
    - typing.NamedTuple.split
    - flask.testing.EnvironBuilder.__init__
    - rv.items
    - http.server.BaseHTTPRequestHandler.path.split
    - builder.input_stream.close
    - werkzeug.http.dump_header
    - http.server.BaseHTTPRequestHandler.path.join
    - werkzeug.datastructures.Headers.pop
    - netloc.split
    - key.upper
    - response.call_on_close
    - k.lower
    - werkzeug.test.stream_encode_multipart
    - <builtin>.getattr
    - typing.NamedTuple.path.decode
    - werkzeug.test.stream_encode_multipart.write_binary
    - data.encode
    - werkzeug.datastructures.Authorization.__init__
    - stream.getvalue
    - werkzeug.urls.BaseURL.encode_netloc
    - werkzeug.sansio.multipart.MultipartEncoder.send_event
    - kwargs.get
    - werkzeug._internal._make_encode_wrapper
    - f.close
    - werkzeug.datastructures.Headers.add
    - <builtin>.bytearray
    - werkzeug._internal._to_str
    - werkzeug.test.EnvironBuilder.from_environ
    - typing.NamedTuple.scheme.decode
    - http.server.BaseHTTPRequestHandler.path.replace
    - boundary.encode
    - response.make_sequence
    - http.server.BaseHTTPRequestHandler.path.decode
    - werkzeug.urls._make_fast_url_quote.quote
    - werkzeug.sansio.multipart.MultipartEncoder.__init__
    - <builtin>.bool
    - headers.remove
    - collections.defaultdict.items
    - werkzeug.datastructures.Headers.remove
    - new_stream.write
    - typing.NamedTuple.decode
    - werkzeug.urls.url_encode
    - result.update
    - redirects.add
    - http.server.BaseHTTPRequestHandler.path.startswith
    - collections.defaultdict
    - werkzeug._internal._wsgi_decoding_dance
    - s.encode
    - typing.NamedTuple.find
    - stream.write
    - returned_keys.add
    - werkzeug.datastructures._options_header_vkw
    - werkzeug.datastructures.Headers.__init__
    - flask.testing.FlaskClient.open
    - werkzeug.datastructures.Headers.set
    - werkzeug.wsgi._get_server
    - werkzeug.urls.url_fix
    - flask.testing.FlaskClient._request_from_builder_args
    - typing.cast
    - typing.NamedTuple.scheme.encode
    - <builtin>.isinstance
    - <builtin>.filter
    - items.append
    - werkzeug.urls.url_parse
    - werkzeug.urls.url_join
    - werkzeug.urls.url_quote
    - werkzeug.wrappers.request.Request.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - args
    - kw
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 10
    functionLinenumber: 1142
    functionName: werkzeug.test.Client.put
    functionSourceFile: werkzeug.test
    functionUses: 0
    functionsReached:
    - http.server.BaseHTTPRequestHandler.path.fragment.encode
    - url.encode_netloc
    - builder.script_root.split
    - <builtin>.enumerate
    - data.items
    - dict.__init__
    - typing.NamedTuple.query.decode
    - werkzeug.test.EnvironBuilder.get_request
    - value.decode
    - werkzeug.datastructures.Headers._validate_value
    - werkzeug._internal._make_encode_wrapper.<lambda1>
    - typing.NamedTuple.fragment.decode
    - werkzeug.test.Client.open
    - EnvironBuilder.from_environ
    - dict.__getitem__
    - http.server.BaseHTTPRequestHandler.path.query.encode
    - werkzeug._internal._decode_idna
    - stream.tell
    - arg.get_request
    - werkzeug.urls.BaseURL.decode_netloc
    - builder.get_request
    - result.append
    - typing.NamedTuple.encode
    - headers.to_wsgi_list
    - werkzeug.datastructures.MultiDict.__init__
    - <builtin>.str
    - <builtin>.int
    - werkzeug._internal._decode_idna.decode_part
    - <builtin>.frozenset
    - options.items
    - history.append
    - werkzeug.datastructures.Headers.__delitem__
    - http.server.BaseHTTPRequestHandler.path.find
    - <builtin>.min
    - response.close
    - d.lists
    - <builtin>.any
    - new.append
    - typing.NamedTuple.fragment.encode
    - werkzeug.http.quote_header_value
    - app_root.lstrip
    - werkzeug.test.EnvironBuilder.__init__
    - typing.NamedTuple.path.encode
    - dict.items
    - io.BytesIO.tell
    - safe.encode
    - werkzeug.datastructures.Headers.copy
    - name.lower
    - werkzeug.datastructures.MultiDict.lists
    - werkzeug.test._iter_data
    - http.server.BaseHTTPRequestHandler.path.encode_netloc
    - <builtin>.super
    - <builtin>.set
    - out.update
    - werkzeug.datastructures.OrderedMultiDict.getlist
    - werkzeug.urls.BaseURL.join
    - key.lower
    - time.time
    - werkzeug._internal._to_bytes
    - data.read
    - werkzeug.urls.iri_to_uri
    - typing.NamedTuple._replace
    - tempfile.TemporaryFile
    - builder.headers.pop
    - d.items
    - kw.items
    - werkzeug.urls.url_unparse
    - werkzeug.urls.BytesURL.decode
    - werkzeug.test.EnvironBuilder._add_file_from_data
    - old_key.lower
    - mimetypes.guess_type
    - stream.seek
    - werkzeug.test.EnvironBuilder._make_base_url
    - werkzeug.datastructures.Authorization.to_header
    - typing.NamedTuple.query.encode
    - werkzeug.datastructures.CombinedMultiDict.items
    - builder.close
    - <builtin>.list
    - path.split
    - bpath.split
    - value.replace
    - werkzeug.datastructures.CombinedMultiDict.lists
    - path.startswith
    - werkzeug.datastructures._unicodify_header_value
    - segments.append
    - random.random
    - <builtin>.sorted
    - rv.append
    - _scheme_re.match
    - <builtin>.iter
    - _key.lower
    - domain.encode
    - unsafe.encode
    - domain.split
    - werkzeug.urls._url_encode_impl
    - environ.get
    - part.decode
    - werkzeug.urls._fast_url_quote_plus
    - copy.copy
    - tmp.setdefault
    - werkzeug.urls.URL.encode
    - builder.server_name.split
    - found.add
    - <builtin>.bytes
    - werkzeug.datastructures.EnvironHeaders.copy
    - app.config.get
    - operator.methodcaller
    - http.server.BaseHTTPRequestHandler.path.encode
    - werkzeug.datastructures.OrderedMultiDict.items
    - werkzeug.datastructures.iter_multi_items
    - werkzeug.datastructures.EnvironHeaders.__init__
    - werkzeug.test.EnvironBuilder.get_environ
    - werkzeug.datastructures.MultiDict.items
    - io.BytesIO.seek
    - <builtin>.tuple
    - werkzeug.datastructures.CombinedMultiDict.__init__
    - werkzeug.http.dump_options_header
    - werkzeug._internal._check_str_tuple
    - copy.copy.get_request
    - <builtin>.hasattr
    - werkzeug.datastructures.Headers.extend
    - <builtin>.len
    - io.BytesIO
    - werkzeug.test.EnvironBuilder.close
    - rv.extend
    - rv.setdefault
    - werkzeug.test.Client.run_wsgi_app
    - werkzeug.urls.BytesURL.encode_netloc
    - base64.b64encode
    - flask.testing.FlaskClient._copy_environ
    - werkzeug.urls.BaseURL.replace
    - werkzeug._internal._wsgi_encoding_dance
    - typing.NamedTuple.__init__
    - werkzeug.urls.url_quote_plus
    - value.encode
    - werkzeug.test.Client.resolve_redirect
    - werkzeug.datastructures.OrderedMultiDict.lists
    - typing.NamedTuple.startswith
    - k.replace
    - typing.NamedTuple.split
    - flask.testing.EnvironBuilder.__init__
    - rv.items
    - http.server.BaseHTTPRequestHandler.path.split
    - builder.input_stream.close
    - werkzeug.http.dump_header
    - http.server.BaseHTTPRequestHandler.path.join
    - werkzeug.datastructures.Headers.pop
    - netloc.split
    - key.upper
    - response.call_on_close
    - k.lower
    - werkzeug.test.stream_encode_multipart
    - <builtin>.getattr
    - typing.NamedTuple.path.decode
    - werkzeug.test.stream_encode_multipart.write_binary
    - data.encode
    - werkzeug.datastructures.Authorization.__init__
    - stream.getvalue
    - werkzeug.urls.BaseURL.encode_netloc
    - werkzeug.sansio.multipart.MultipartEncoder.send_event
    - kwargs.get
    - werkzeug._internal._make_encode_wrapper
    - f.close
    - werkzeug.datastructures.Headers.add
    - <builtin>.bytearray
    - werkzeug._internal._to_str
    - werkzeug.test.EnvironBuilder.from_environ
    - typing.NamedTuple.scheme.decode
    - http.server.BaseHTTPRequestHandler.path.replace
    - boundary.encode
    - response.make_sequence
    - http.server.BaseHTTPRequestHandler.path.decode
    - werkzeug.urls._make_fast_url_quote.quote
    - werkzeug.sansio.multipart.MultipartEncoder.__init__
    - <builtin>.bool
    - headers.remove
    - collections.defaultdict.items
    - werkzeug.datastructures.Headers.remove
    - new_stream.write
    - typing.NamedTuple.decode
    - werkzeug.urls.url_encode
    - result.update
    - redirects.add
    - http.server.BaseHTTPRequestHandler.path.startswith
    - collections.defaultdict
    - werkzeug._internal._wsgi_decoding_dance
    - s.encode
    - typing.NamedTuple.find
    - stream.write
    - returned_keys.add
    - werkzeug.datastructures._options_header_vkw
    - werkzeug.datastructures.Headers.__init__
    - flask.testing.FlaskClient.open
    - werkzeug.datastructures.Headers.set
    - werkzeug.wsgi._get_server
    - werkzeug.urls.url_fix
    - flask.testing.FlaskClient._request_from_builder_args
    - typing.cast
    - typing.NamedTuple.scheme.encode
    - <builtin>.isinstance
    - <builtin>.filter
    - items.append
    - werkzeug.urls.url_parse
    - werkzeug.urls.url_join
    - werkzeug.urls.url_quote
    - werkzeug.wrappers.request.Request.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - args
    - kw
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 10
    functionLinenumber: 1147
    functionName: werkzeug.test.Client.delete
    functionSourceFile: werkzeug.test
    functionUses: 0
    functionsReached:
    - http.server.BaseHTTPRequestHandler.path.fragment.encode
    - url.encode_netloc
    - builder.script_root.split
    - <builtin>.enumerate
    - data.items
    - dict.__init__
    - typing.NamedTuple.query.decode
    - werkzeug.test.EnvironBuilder.get_request
    - value.decode
    - werkzeug.datastructures.Headers._validate_value
    - werkzeug._internal._make_encode_wrapper.<lambda1>
    - typing.NamedTuple.fragment.decode
    - werkzeug.test.Client.open
    - EnvironBuilder.from_environ
    - dict.__getitem__
    - http.server.BaseHTTPRequestHandler.path.query.encode
    - werkzeug._internal._decode_idna
    - stream.tell
    - arg.get_request
    - werkzeug.urls.BaseURL.decode_netloc
    - builder.get_request
    - result.append
    - typing.NamedTuple.encode
    - headers.to_wsgi_list
    - werkzeug.datastructures.MultiDict.__init__
    - <builtin>.str
    - <builtin>.int
    - werkzeug._internal._decode_idna.decode_part
    - <builtin>.frozenset
    - options.items
    - history.append
    - werkzeug.datastructures.Headers.__delitem__
    - http.server.BaseHTTPRequestHandler.path.find
    - <builtin>.min
    - response.close
    - d.lists
    - <builtin>.any
    - new.append
    - typing.NamedTuple.fragment.encode
    - werkzeug.http.quote_header_value
    - app_root.lstrip
    - werkzeug.test.EnvironBuilder.__init__
    - typing.NamedTuple.path.encode
    - dict.items
    - io.BytesIO.tell
    - safe.encode
    - werkzeug.datastructures.Headers.copy
    - name.lower
    - werkzeug.datastructures.MultiDict.lists
    - werkzeug.test._iter_data
    - http.server.BaseHTTPRequestHandler.path.encode_netloc
    - <builtin>.super
    - <builtin>.set
    - out.update
    - werkzeug.datastructures.OrderedMultiDict.getlist
    - werkzeug.urls.BaseURL.join
    - key.lower
    - time.time
    - werkzeug._internal._to_bytes
    - data.read
    - werkzeug.urls.iri_to_uri
    - typing.NamedTuple._replace
    - tempfile.TemporaryFile
    - builder.headers.pop
    - d.items
    - kw.items
    - werkzeug.urls.url_unparse
    - werkzeug.urls.BytesURL.decode
    - werkzeug.test.EnvironBuilder._add_file_from_data
    - old_key.lower
    - mimetypes.guess_type
    - stream.seek
    - werkzeug.test.EnvironBuilder._make_base_url
    - werkzeug.datastructures.Authorization.to_header
    - typing.NamedTuple.query.encode
    - werkzeug.datastructures.CombinedMultiDict.items
    - builder.close
    - <builtin>.list
    - path.split
    - bpath.split
    - value.replace
    - werkzeug.datastructures.CombinedMultiDict.lists
    - path.startswith
    - werkzeug.datastructures._unicodify_header_value
    - segments.append
    - random.random
    - <builtin>.sorted
    - rv.append
    - _scheme_re.match
    - <builtin>.iter
    - _key.lower
    - domain.encode
    - unsafe.encode
    - domain.split
    - werkzeug.urls._url_encode_impl
    - environ.get
    - part.decode
    - werkzeug.urls._fast_url_quote_plus
    - copy.copy
    - tmp.setdefault
    - werkzeug.urls.URL.encode
    - builder.server_name.split
    - found.add
    - <builtin>.bytes
    - werkzeug.datastructures.EnvironHeaders.copy
    - app.config.get
    - operator.methodcaller
    - http.server.BaseHTTPRequestHandler.path.encode
    - werkzeug.datastructures.OrderedMultiDict.items
    - werkzeug.datastructures.iter_multi_items
    - werkzeug.datastructures.EnvironHeaders.__init__
    - werkzeug.test.EnvironBuilder.get_environ
    - werkzeug.datastructures.MultiDict.items
    - io.BytesIO.seek
    - <builtin>.tuple
    - werkzeug.datastructures.CombinedMultiDict.__init__
    - werkzeug.http.dump_options_header
    - werkzeug._internal._check_str_tuple
    - copy.copy.get_request
    - <builtin>.hasattr
    - werkzeug.datastructures.Headers.extend
    - <builtin>.len
    - io.BytesIO
    - werkzeug.test.EnvironBuilder.close
    - rv.extend
    - rv.setdefault
    - werkzeug.test.Client.run_wsgi_app
    - werkzeug.urls.BytesURL.encode_netloc
    - base64.b64encode
    - flask.testing.FlaskClient._copy_environ
    - werkzeug.urls.BaseURL.replace
    - werkzeug._internal._wsgi_encoding_dance
    - typing.NamedTuple.__init__
    - werkzeug.urls.url_quote_plus
    - value.encode
    - werkzeug.test.Client.resolve_redirect
    - werkzeug.datastructures.OrderedMultiDict.lists
    - typing.NamedTuple.startswith
    - k.replace
    - typing.NamedTuple.split
    - flask.testing.EnvironBuilder.__init__
    - rv.items
    - http.server.BaseHTTPRequestHandler.path.split
    - builder.input_stream.close
    - werkzeug.http.dump_header
    - http.server.BaseHTTPRequestHandler.path.join
    - werkzeug.datastructures.Headers.pop
    - netloc.split
    - key.upper
    - response.call_on_close
    - k.lower
    - werkzeug.test.stream_encode_multipart
    - <builtin>.getattr
    - typing.NamedTuple.path.decode
    - werkzeug.test.stream_encode_multipart.write_binary
    - data.encode
    - werkzeug.datastructures.Authorization.__init__
    - stream.getvalue
    - werkzeug.urls.BaseURL.encode_netloc
    - werkzeug.sansio.multipart.MultipartEncoder.send_event
    - kwargs.get
    - werkzeug._internal._make_encode_wrapper
    - f.close
    - werkzeug.datastructures.Headers.add
    - <builtin>.bytearray
    - werkzeug._internal._to_str
    - werkzeug.test.EnvironBuilder.from_environ
    - typing.NamedTuple.scheme.decode
    - http.server.BaseHTTPRequestHandler.path.replace
    - boundary.encode
    - response.make_sequence
    - http.server.BaseHTTPRequestHandler.path.decode
    - werkzeug.urls._make_fast_url_quote.quote
    - werkzeug.sansio.multipart.MultipartEncoder.__init__
    - <builtin>.bool
    - headers.remove
    - collections.defaultdict.items
    - werkzeug.datastructures.Headers.remove
    - new_stream.write
    - typing.NamedTuple.decode
    - werkzeug.urls.url_encode
    - result.update
    - redirects.add
    - http.server.BaseHTTPRequestHandler.path.startswith
    - collections.defaultdict
    - werkzeug._internal._wsgi_decoding_dance
    - s.encode
    - typing.NamedTuple.find
    - stream.write
    - returned_keys.add
    - werkzeug.datastructures._options_header_vkw
    - werkzeug.datastructures.Headers.__init__
    - flask.testing.FlaskClient.open
    - werkzeug.datastructures.Headers.set
    - werkzeug.wsgi._get_server
    - werkzeug.urls.url_fix
    - flask.testing.FlaskClient._request_from_builder_args
    - typing.cast
    - typing.NamedTuple.scheme.encode
    - <builtin>.isinstance
    - <builtin>.filter
    - items.append
    - werkzeug.urls.url_parse
    - werkzeug.urls.url_join
    - werkzeug.urls.url_quote
    - werkzeug.wrappers.request.Request.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - args
    - kw
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 10
    functionLinenumber: 1152
    functionName: werkzeug.test.Client.patch
    functionSourceFile: werkzeug.test
    functionUses: 0
    functionsReached:
    - http.server.BaseHTTPRequestHandler.path.fragment.encode
    - url.encode_netloc
    - builder.script_root.split
    - <builtin>.enumerate
    - data.items
    - dict.__init__
    - typing.NamedTuple.query.decode
    - werkzeug.test.EnvironBuilder.get_request
    - value.decode
    - werkzeug.datastructures.Headers._validate_value
    - werkzeug._internal._make_encode_wrapper.<lambda1>
    - typing.NamedTuple.fragment.decode
    - werkzeug.test.Client.open
    - EnvironBuilder.from_environ
    - dict.__getitem__
    - http.server.BaseHTTPRequestHandler.path.query.encode
    - werkzeug._internal._decode_idna
    - stream.tell
    - arg.get_request
    - werkzeug.urls.BaseURL.decode_netloc
    - builder.get_request
    - result.append
    - typing.NamedTuple.encode
    - headers.to_wsgi_list
    - werkzeug.datastructures.MultiDict.__init__
    - <builtin>.str
    - <builtin>.int
    - werkzeug._internal._decode_idna.decode_part
    - <builtin>.frozenset
    - options.items
    - history.append
    - werkzeug.datastructures.Headers.__delitem__
    - http.server.BaseHTTPRequestHandler.path.find
    - <builtin>.min
    - response.close
    - d.lists
    - <builtin>.any
    - new.append
    - typing.NamedTuple.fragment.encode
    - werkzeug.http.quote_header_value
    - app_root.lstrip
    - werkzeug.test.EnvironBuilder.__init__
    - typing.NamedTuple.path.encode
    - dict.items
    - io.BytesIO.tell
    - safe.encode
    - werkzeug.datastructures.Headers.copy
    - name.lower
    - werkzeug.datastructures.MultiDict.lists
    - werkzeug.test._iter_data
    - http.server.BaseHTTPRequestHandler.path.encode_netloc
    - <builtin>.super
    - <builtin>.set
    - out.update
    - werkzeug.datastructures.OrderedMultiDict.getlist
    - werkzeug.urls.BaseURL.join
    - key.lower
    - time.time
    - werkzeug._internal._to_bytes
    - data.read
    - werkzeug.urls.iri_to_uri
    - typing.NamedTuple._replace
    - tempfile.TemporaryFile
    - builder.headers.pop
    - d.items
    - kw.items
    - werkzeug.urls.url_unparse
    - werkzeug.urls.BytesURL.decode
    - werkzeug.test.EnvironBuilder._add_file_from_data
    - old_key.lower
    - mimetypes.guess_type
    - stream.seek
    - werkzeug.test.EnvironBuilder._make_base_url
    - werkzeug.datastructures.Authorization.to_header
    - typing.NamedTuple.query.encode
    - werkzeug.datastructures.CombinedMultiDict.items
    - builder.close
    - <builtin>.list
    - path.split
    - bpath.split
    - value.replace
    - werkzeug.datastructures.CombinedMultiDict.lists
    - path.startswith
    - werkzeug.datastructures._unicodify_header_value
    - segments.append
    - random.random
    - <builtin>.sorted
    - rv.append
    - _scheme_re.match
    - <builtin>.iter
    - _key.lower
    - domain.encode
    - unsafe.encode
    - domain.split
    - werkzeug.urls._url_encode_impl
    - environ.get
    - part.decode
    - werkzeug.urls._fast_url_quote_plus
    - copy.copy
    - tmp.setdefault
    - werkzeug.urls.URL.encode
    - builder.server_name.split
    - found.add
    - <builtin>.bytes
    - werkzeug.datastructures.EnvironHeaders.copy
    - app.config.get
    - operator.methodcaller
    - http.server.BaseHTTPRequestHandler.path.encode
    - werkzeug.datastructures.OrderedMultiDict.items
    - werkzeug.datastructures.iter_multi_items
    - werkzeug.datastructures.EnvironHeaders.__init__
    - werkzeug.test.EnvironBuilder.get_environ
    - werkzeug.datastructures.MultiDict.items
    - io.BytesIO.seek
    - <builtin>.tuple
    - werkzeug.datastructures.CombinedMultiDict.__init__
    - werkzeug.http.dump_options_header
    - werkzeug._internal._check_str_tuple
    - copy.copy.get_request
    - <builtin>.hasattr
    - werkzeug.datastructures.Headers.extend
    - <builtin>.len
    - io.BytesIO
    - werkzeug.test.EnvironBuilder.close
    - rv.extend
    - rv.setdefault
    - werkzeug.test.Client.run_wsgi_app
    - werkzeug.urls.BytesURL.encode_netloc
    - base64.b64encode
    - flask.testing.FlaskClient._copy_environ
    - werkzeug.urls.BaseURL.replace
    - werkzeug._internal._wsgi_encoding_dance
    - typing.NamedTuple.__init__
    - werkzeug.urls.url_quote_plus
    - value.encode
    - werkzeug.test.Client.resolve_redirect
    - werkzeug.datastructures.OrderedMultiDict.lists
    - typing.NamedTuple.startswith
    - k.replace
    - typing.NamedTuple.split
    - flask.testing.EnvironBuilder.__init__
    - rv.items
    - http.server.BaseHTTPRequestHandler.path.split
    - builder.input_stream.close
    - werkzeug.http.dump_header
    - http.server.BaseHTTPRequestHandler.path.join
    - werkzeug.datastructures.Headers.pop
    - netloc.split
    - key.upper
    - response.call_on_close
    - k.lower
    - werkzeug.test.stream_encode_multipart
    - <builtin>.getattr
    - typing.NamedTuple.path.decode
    - werkzeug.test.stream_encode_multipart.write_binary
    - data.encode
    - werkzeug.datastructures.Authorization.__init__
    - stream.getvalue
    - werkzeug.urls.BaseURL.encode_netloc
    - werkzeug.sansio.multipart.MultipartEncoder.send_event
    - kwargs.get
    - werkzeug._internal._make_encode_wrapper
    - f.close
    - werkzeug.datastructures.Headers.add
    - <builtin>.bytearray
    - werkzeug._internal._to_str
    - werkzeug.test.EnvironBuilder.from_environ
    - typing.NamedTuple.scheme.decode
    - http.server.BaseHTTPRequestHandler.path.replace
    - boundary.encode
    - response.make_sequence
    - http.server.BaseHTTPRequestHandler.path.decode
    - werkzeug.urls._make_fast_url_quote.quote
    - werkzeug.sansio.multipart.MultipartEncoder.__init__
    - <builtin>.bool
    - headers.remove
    - collections.defaultdict.items
    - werkzeug.datastructures.Headers.remove
    - new_stream.write
    - typing.NamedTuple.decode
    - werkzeug.urls.url_encode
    - result.update
    - redirects.add
    - http.server.BaseHTTPRequestHandler.path.startswith
    - collections.defaultdict
    - werkzeug._internal._wsgi_decoding_dance
    - s.encode
    - typing.NamedTuple.find
    - stream.write
    - returned_keys.add
    - werkzeug.datastructures._options_header_vkw
    - werkzeug.datastructures.Headers.__init__
    - flask.testing.FlaskClient.open
    - werkzeug.datastructures.Headers.set
    - werkzeug.wsgi._get_server
    - werkzeug.urls.url_fix
    - flask.testing.FlaskClient._request_from_builder_args
    - typing.cast
    - typing.NamedTuple.scheme.encode
    - <builtin>.isinstance
    - <builtin>.filter
    - items.append
    - werkzeug.urls.url_parse
    - werkzeug.urls.url_join
    - werkzeug.urls.url_quote
    - werkzeug.wrappers.request.Request.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - args
    - kw
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 10
    functionLinenumber: 1157
    functionName: werkzeug.test.Client.options
    functionSourceFile: werkzeug.test
    functionUses: 0
    functionsReached:
    - http.server.BaseHTTPRequestHandler.path.fragment.encode
    - url.encode_netloc
    - builder.script_root.split
    - <builtin>.enumerate
    - data.items
    - dict.__init__
    - typing.NamedTuple.query.decode
    - werkzeug.test.EnvironBuilder.get_request
    - value.decode
    - werkzeug.datastructures.Headers._validate_value
    - werkzeug._internal._make_encode_wrapper.<lambda1>
    - typing.NamedTuple.fragment.decode
    - werkzeug.test.Client.open
    - EnvironBuilder.from_environ
    - dict.__getitem__
    - http.server.BaseHTTPRequestHandler.path.query.encode
    - werkzeug._internal._decode_idna
    - stream.tell
    - arg.get_request
    - werkzeug.urls.BaseURL.decode_netloc
    - builder.get_request
    - result.append
    - typing.NamedTuple.encode
    - headers.to_wsgi_list
    - werkzeug.datastructures.MultiDict.__init__
    - <builtin>.str
    - <builtin>.int
    - werkzeug._internal._decode_idna.decode_part
    - <builtin>.frozenset
    - options.items
    - history.append
    - werkzeug.datastructures.Headers.__delitem__
    - http.server.BaseHTTPRequestHandler.path.find
    - <builtin>.min
    - response.close
    - d.lists
    - <builtin>.any
    - new.append
    - typing.NamedTuple.fragment.encode
    - werkzeug.http.quote_header_value
    - app_root.lstrip
    - werkzeug.test.EnvironBuilder.__init__
    - typing.NamedTuple.path.encode
    - dict.items
    - io.BytesIO.tell
    - safe.encode
    - werkzeug.datastructures.Headers.copy
    - name.lower
    - werkzeug.datastructures.MultiDict.lists
    - werkzeug.test._iter_data
    - http.server.BaseHTTPRequestHandler.path.encode_netloc
    - <builtin>.super
    - <builtin>.set
    - out.update
    - werkzeug.datastructures.OrderedMultiDict.getlist
    - werkzeug.urls.BaseURL.join
    - key.lower
    - time.time
    - werkzeug._internal._to_bytes
    - data.read
    - werkzeug.urls.iri_to_uri
    - typing.NamedTuple._replace
    - tempfile.TemporaryFile
    - builder.headers.pop
    - d.items
    - kw.items
    - werkzeug.urls.url_unparse
    - werkzeug.urls.BytesURL.decode
    - werkzeug.test.EnvironBuilder._add_file_from_data
    - old_key.lower
    - mimetypes.guess_type
    - stream.seek
    - werkzeug.test.EnvironBuilder._make_base_url
    - werkzeug.datastructures.Authorization.to_header
    - typing.NamedTuple.query.encode
    - werkzeug.datastructures.CombinedMultiDict.items
    - builder.close
    - <builtin>.list
    - path.split
    - bpath.split
    - value.replace
    - werkzeug.datastructures.CombinedMultiDict.lists
    - path.startswith
    - werkzeug.datastructures._unicodify_header_value
    - segments.append
    - random.random
    - <builtin>.sorted
    - rv.append
    - _scheme_re.match
    - <builtin>.iter
    - _key.lower
    - domain.encode
    - unsafe.encode
    - domain.split
    - werkzeug.urls._url_encode_impl
    - environ.get
    - part.decode
    - werkzeug.urls._fast_url_quote_plus
    - copy.copy
    - tmp.setdefault
    - werkzeug.urls.URL.encode
    - builder.server_name.split
    - found.add
    - <builtin>.bytes
    - werkzeug.datastructures.EnvironHeaders.copy
    - app.config.get
    - operator.methodcaller
    - http.server.BaseHTTPRequestHandler.path.encode
    - werkzeug.datastructures.OrderedMultiDict.items
    - werkzeug.datastructures.iter_multi_items
    - werkzeug.datastructures.EnvironHeaders.__init__
    - werkzeug.test.EnvironBuilder.get_environ
    - werkzeug.datastructures.MultiDict.items
    - io.BytesIO.seek
    - <builtin>.tuple
    - werkzeug.datastructures.CombinedMultiDict.__init__
    - werkzeug.http.dump_options_header
    - werkzeug._internal._check_str_tuple
    - copy.copy.get_request
    - <builtin>.hasattr
    - werkzeug.datastructures.Headers.extend
    - <builtin>.len
    - io.BytesIO
    - werkzeug.test.EnvironBuilder.close
    - rv.extend
    - rv.setdefault
    - werkzeug.test.Client.run_wsgi_app
    - werkzeug.urls.BytesURL.encode_netloc
    - base64.b64encode
    - flask.testing.FlaskClient._copy_environ
    - werkzeug.urls.BaseURL.replace
    - werkzeug._internal._wsgi_encoding_dance
    - typing.NamedTuple.__init__
    - werkzeug.urls.url_quote_plus
    - value.encode
    - werkzeug.test.Client.resolve_redirect
    - werkzeug.datastructures.OrderedMultiDict.lists
    - typing.NamedTuple.startswith
    - k.replace
    - typing.NamedTuple.split
    - flask.testing.EnvironBuilder.__init__
    - rv.items
    - http.server.BaseHTTPRequestHandler.path.split
    - builder.input_stream.close
    - werkzeug.http.dump_header
    - http.server.BaseHTTPRequestHandler.path.join
    - werkzeug.datastructures.Headers.pop
    - netloc.split
    - key.upper
    - response.call_on_close
    - k.lower
    - werkzeug.test.stream_encode_multipart
    - <builtin>.getattr
    - typing.NamedTuple.path.decode
    - werkzeug.test.stream_encode_multipart.write_binary
    - data.encode
    - werkzeug.datastructures.Authorization.__init__
    - stream.getvalue
    - werkzeug.urls.BaseURL.encode_netloc
    - werkzeug.sansio.multipart.MultipartEncoder.send_event
    - kwargs.get
    - werkzeug._internal._make_encode_wrapper
    - f.close
    - werkzeug.datastructures.Headers.add
    - <builtin>.bytearray
    - werkzeug._internal._to_str
    - werkzeug.test.EnvironBuilder.from_environ
    - typing.NamedTuple.scheme.decode
    - http.server.BaseHTTPRequestHandler.path.replace
    - boundary.encode
    - response.make_sequence
    - http.server.BaseHTTPRequestHandler.path.decode
    - werkzeug.urls._make_fast_url_quote.quote
    - werkzeug.sansio.multipart.MultipartEncoder.__init__
    - <builtin>.bool
    - headers.remove
    - collections.defaultdict.items
    - werkzeug.datastructures.Headers.remove
    - new_stream.write
    - typing.NamedTuple.decode
    - werkzeug.urls.url_encode
    - result.update
    - redirects.add
    - http.server.BaseHTTPRequestHandler.path.startswith
    - collections.defaultdict
    - werkzeug._internal._wsgi_decoding_dance
    - s.encode
    - typing.NamedTuple.find
    - stream.write
    - returned_keys.add
    - werkzeug.datastructures._options_header_vkw
    - werkzeug.datastructures.Headers.__init__
    - flask.testing.FlaskClient.open
    - werkzeug.datastructures.Headers.set
    - werkzeug.wsgi._get_server
    - werkzeug.urls.url_fix
    - flask.testing.FlaskClient._request_from_builder_args
    - typing.cast
    - typing.NamedTuple.scheme.encode
    - <builtin>.isinstance
    - <builtin>.filter
    - items.append
    - werkzeug.urls.url_parse
    - werkzeug.urls.url_join
    - werkzeug.urls.url_quote
    - werkzeug.wrappers.request.Request.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - args
    - kw
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 10
    functionLinenumber: 1162
    functionName: werkzeug.test.Client.head
    functionSourceFile: werkzeug.test
    functionUses: 0
    functionsReached:
    - http.server.BaseHTTPRequestHandler.path.fragment.encode
    - url.encode_netloc
    - builder.script_root.split
    - <builtin>.enumerate
    - data.items
    - dict.__init__
    - typing.NamedTuple.query.decode
    - werkzeug.test.EnvironBuilder.get_request
    - value.decode
    - werkzeug.datastructures.Headers._validate_value
    - werkzeug._internal._make_encode_wrapper.<lambda1>
    - typing.NamedTuple.fragment.decode
    - werkzeug.test.Client.open
    - EnvironBuilder.from_environ
    - dict.__getitem__
    - http.server.BaseHTTPRequestHandler.path.query.encode
    - werkzeug._internal._decode_idna
    - stream.tell
    - arg.get_request
    - werkzeug.urls.BaseURL.decode_netloc
    - builder.get_request
    - result.append
    - typing.NamedTuple.encode
    - headers.to_wsgi_list
    - werkzeug.datastructures.MultiDict.__init__
    - <builtin>.str
    - <builtin>.int
    - werkzeug._internal._decode_idna.decode_part
    - <builtin>.frozenset
    - options.items
    - history.append
    - werkzeug.datastructures.Headers.__delitem__
    - http.server.BaseHTTPRequestHandler.path.find
    - <builtin>.min
    - response.close
    - d.lists
    - <builtin>.any
    - new.append
    - typing.NamedTuple.fragment.encode
    - werkzeug.http.quote_header_value
    - app_root.lstrip
    - werkzeug.test.EnvironBuilder.__init__
    - typing.NamedTuple.path.encode
    - dict.items
    - io.BytesIO.tell
    - safe.encode
    - werkzeug.datastructures.Headers.copy
    - name.lower
    - werkzeug.datastructures.MultiDict.lists
    - werkzeug.test._iter_data
    - http.server.BaseHTTPRequestHandler.path.encode_netloc
    - <builtin>.super
    - <builtin>.set
    - out.update
    - werkzeug.datastructures.OrderedMultiDict.getlist
    - werkzeug.urls.BaseURL.join
    - key.lower
    - time.time
    - werkzeug._internal._to_bytes
    - data.read
    - werkzeug.urls.iri_to_uri
    - typing.NamedTuple._replace
    - tempfile.TemporaryFile
    - builder.headers.pop
    - d.items
    - kw.items
    - werkzeug.urls.url_unparse
    - werkzeug.urls.BytesURL.decode
    - werkzeug.test.EnvironBuilder._add_file_from_data
    - old_key.lower
    - mimetypes.guess_type
    - stream.seek
    - werkzeug.test.EnvironBuilder._make_base_url
    - werkzeug.datastructures.Authorization.to_header
    - typing.NamedTuple.query.encode
    - werkzeug.datastructures.CombinedMultiDict.items
    - builder.close
    - <builtin>.list
    - path.split
    - bpath.split
    - value.replace
    - werkzeug.datastructures.CombinedMultiDict.lists
    - path.startswith
    - werkzeug.datastructures._unicodify_header_value
    - segments.append
    - random.random
    - <builtin>.sorted
    - rv.append
    - _scheme_re.match
    - <builtin>.iter
    - _key.lower
    - domain.encode
    - unsafe.encode
    - domain.split
    - werkzeug.urls._url_encode_impl
    - environ.get
    - part.decode
    - werkzeug.urls._fast_url_quote_plus
    - copy.copy
    - tmp.setdefault
    - werkzeug.urls.URL.encode
    - builder.server_name.split
    - found.add
    - <builtin>.bytes
    - werkzeug.datastructures.EnvironHeaders.copy
    - app.config.get
    - operator.methodcaller
    - http.server.BaseHTTPRequestHandler.path.encode
    - werkzeug.datastructures.OrderedMultiDict.items
    - werkzeug.datastructures.iter_multi_items
    - werkzeug.datastructures.EnvironHeaders.__init__
    - werkzeug.test.EnvironBuilder.get_environ
    - werkzeug.datastructures.MultiDict.items
    - io.BytesIO.seek
    - <builtin>.tuple
    - werkzeug.datastructures.CombinedMultiDict.__init__
    - werkzeug.http.dump_options_header
    - werkzeug._internal._check_str_tuple
    - copy.copy.get_request
    - <builtin>.hasattr
    - werkzeug.datastructures.Headers.extend
    - <builtin>.len
    - io.BytesIO
    - werkzeug.test.EnvironBuilder.close
    - rv.extend
    - rv.setdefault
    - werkzeug.test.Client.run_wsgi_app
    - werkzeug.urls.BytesURL.encode_netloc
    - base64.b64encode
    - flask.testing.FlaskClient._copy_environ
    - werkzeug.urls.BaseURL.replace
    - werkzeug._internal._wsgi_encoding_dance
    - typing.NamedTuple.__init__
    - werkzeug.urls.url_quote_plus
    - value.encode
    - werkzeug.test.Client.resolve_redirect
    - werkzeug.datastructures.OrderedMultiDict.lists
    - typing.NamedTuple.startswith
    - k.replace
    - typing.NamedTuple.split
    - flask.testing.EnvironBuilder.__init__
    - rv.items
    - http.server.BaseHTTPRequestHandler.path.split
    - builder.input_stream.close
    - werkzeug.http.dump_header
    - http.server.BaseHTTPRequestHandler.path.join
    - werkzeug.datastructures.Headers.pop
    - netloc.split
    - key.upper
    - response.call_on_close
    - k.lower
    - werkzeug.test.stream_encode_multipart
    - <builtin>.getattr
    - typing.NamedTuple.path.decode
    - werkzeug.test.stream_encode_multipart.write_binary
    - data.encode
    - werkzeug.datastructures.Authorization.__init__
    - stream.getvalue
    - werkzeug.urls.BaseURL.encode_netloc
    - werkzeug.sansio.multipart.MultipartEncoder.send_event
    - kwargs.get
    - werkzeug._internal._make_encode_wrapper
    - f.close
    - werkzeug.datastructures.Headers.add
    - <builtin>.bytearray
    - werkzeug._internal._to_str
    - werkzeug.test.EnvironBuilder.from_environ
    - typing.NamedTuple.scheme.decode
    - http.server.BaseHTTPRequestHandler.path.replace
    - boundary.encode
    - response.make_sequence
    - http.server.BaseHTTPRequestHandler.path.decode
    - werkzeug.urls._make_fast_url_quote.quote
    - werkzeug.sansio.multipart.MultipartEncoder.__init__
    - <builtin>.bool
    - headers.remove
    - collections.defaultdict.items
    - werkzeug.datastructures.Headers.remove
    - new_stream.write
    - typing.NamedTuple.decode
    - werkzeug.urls.url_encode
    - result.update
    - redirects.add
    - http.server.BaseHTTPRequestHandler.path.startswith
    - collections.defaultdict
    - werkzeug._internal._wsgi_decoding_dance
    - s.encode
    - typing.NamedTuple.find
    - stream.write
    - returned_keys.add
    - werkzeug.datastructures._options_header_vkw
    - werkzeug.datastructures.Headers.__init__
    - flask.testing.FlaskClient.open
    - werkzeug.datastructures.Headers.set
    - werkzeug.wsgi._get_server
    - werkzeug.urls.url_fix
    - flask.testing.FlaskClient._request_from_builder_args
    - typing.cast
    - typing.NamedTuple.scheme.encode
    - <builtin>.isinstance
    - <builtin>.filter
    - items.append
    - werkzeug.urls.url_parse
    - werkzeug.urls.url_join
    - werkzeug.urls.url_quote
    - werkzeug.wrappers.request.Request.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - args
    - kw
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 10
    functionLinenumber: 1167
    functionName: werkzeug.test.Client.trace
    functionSourceFile: werkzeug.test
    functionUses: 0
    functionsReached:
    - http.server.BaseHTTPRequestHandler.path.fragment.encode
    - url.encode_netloc
    - builder.script_root.split
    - <builtin>.enumerate
    - data.items
    - dict.__init__
    - typing.NamedTuple.query.decode
    - werkzeug.test.EnvironBuilder.get_request
    - value.decode
    - werkzeug.datastructures.Headers._validate_value
    - werkzeug._internal._make_encode_wrapper.<lambda1>
    - typing.NamedTuple.fragment.decode
    - werkzeug.test.Client.open
    - EnvironBuilder.from_environ
    - dict.__getitem__
    - http.server.BaseHTTPRequestHandler.path.query.encode
    - werkzeug._internal._decode_idna
    - stream.tell
    - arg.get_request
    - werkzeug.urls.BaseURL.decode_netloc
    - builder.get_request
    - result.append
    - typing.NamedTuple.encode
    - headers.to_wsgi_list
    - werkzeug.datastructures.MultiDict.__init__
    - <builtin>.str
    - <builtin>.int
    - werkzeug._internal._decode_idna.decode_part
    - <builtin>.frozenset
    - options.items
    - history.append
    - werkzeug.datastructures.Headers.__delitem__
    - http.server.BaseHTTPRequestHandler.path.find
    - <builtin>.min
    - response.close
    - d.lists
    - <builtin>.any
    - new.append
    - typing.NamedTuple.fragment.encode
    - werkzeug.http.quote_header_value
    - app_root.lstrip
    - werkzeug.test.EnvironBuilder.__init__
    - typing.NamedTuple.path.encode
    - dict.items
    - io.BytesIO.tell
    - safe.encode
    - werkzeug.datastructures.Headers.copy
    - name.lower
    - werkzeug.datastructures.MultiDict.lists
    - werkzeug.test._iter_data
    - http.server.BaseHTTPRequestHandler.path.encode_netloc
    - <builtin>.super
    - <builtin>.set
    - out.update
    - werkzeug.datastructures.OrderedMultiDict.getlist
    - werkzeug.urls.BaseURL.join
    - key.lower
    - time.time
    - werkzeug._internal._to_bytes
    - data.read
    - werkzeug.urls.iri_to_uri
    - typing.NamedTuple._replace
    - tempfile.TemporaryFile
    - builder.headers.pop
    - d.items
    - kw.items
    - werkzeug.urls.url_unparse
    - werkzeug.urls.BytesURL.decode
    - werkzeug.test.EnvironBuilder._add_file_from_data
    - old_key.lower
    - mimetypes.guess_type
    - stream.seek
    - werkzeug.test.EnvironBuilder._make_base_url
    - werkzeug.datastructures.Authorization.to_header
    - typing.NamedTuple.query.encode
    - werkzeug.datastructures.CombinedMultiDict.items
    - builder.close
    - <builtin>.list
    - path.split
    - bpath.split
    - value.replace
    - werkzeug.datastructures.CombinedMultiDict.lists
    - path.startswith
    - werkzeug.datastructures._unicodify_header_value
    - segments.append
    - random.random
    - <builtin>.sorted
    - rv.append
    - _scheme_re.match
    - <builtin>.iter
    - _key.lower
    - domain.encode
    - unsafe.encode
    - domain.split
    - werkzeug.urls._url_encode_impl
    - environ.get
    - part.decode
    - werkzeug.urls._fast_url_quote_plus
    - copy.copy
    - tmp.setdefault
    - werkzeug.urls.URL.encode
    - builder.server_name.split
    - found.add
    - <builtin>.bytes
    - werkzeug.datastructures.EnvironHeaders.copy
    - app.config.get
    - operator.methodcaller
    - http.server.BaseHTTPRequestHandler.path.encode
    - werkzeug.datastructures.OrderedMultiDict.items
    - werkzeug.datastructures.iter_multi_items
    - werkzeug.datastructures.EnvironHeaders.__init__
    - werkzeug.test.EnvironBuilder.get_environ
    - werkzeug.datastructures.MultiDict.items
    - io.BytesIO.seek
    - <builtin>.tuple
    - werkzeug.datastructures.CombinedMultiDict.__init__
    - werkzeug.http.dump_options_header
    - werkzeug._internal._check_str_tuple
    - copy.copy.get_request
    - <builtin>.hasattr
    - werkzeug.datastructures.Headers.extend
    - <builtin>.len
    - io.BytesIO
    - werkzeug.test.EnvironBuilder.close
    - rv.extend
    - rv.setdefault
    - werkzeug.test.Client.run_wsgi_app
    - werkzeug.urls.BytesURL.encode_netloc
    - base64.b64encode
    - flask.testing.FlaskClient._copy_environ
    - werkzeug.urls.BaseURL.replace
    - werkzeug._internal._wsgi_encoding_dance
    - typing.NamedTuple.__init__
    - werkzeug.urls.url_quote_plus
    - value.encode
    - werkzeug.test.Client.resolve_redirect
    - werkzeug.datastructures.OrderedMultiDict.lists
    - typing.NamedTuple.startswith
    - k.replace
    - typing.NamedTuple.split
    - flask.testing.EnvironBuilder.__init__
    - rv.items
    - http.server.BaseHTTPRequestHandler.path.split
    - builder.input_stream.close
    - werkzeug.http.dump_header
    - http.server.BaseHTTPRequestHandler.path.join
    - werkzeug.datastructures.Headers.pop
    - netloc.split
    - key.upper
    - response.call_on_close
    - k.lower
    - werkzeug.test.stream_encode_multipart
    - <builtin>.getattr
    - typing.NamedTuple.path.decode
    - werkzeug.test.stream_encode_multipart.write_binary
    - data.encode
    - werkzeug.datastructures.Authorization.__init__
    - stream.getvalue
    - werkzeug.urls.BaseURL.encode_netloc
    - werkzeug.sansio.multipart.MultipartEncoder.send_event
    - kwargs.get
    - werkzeug._internal._make_encode_wrapper
    - f.close
    - werkzeug.datastructures.Headers.add
    - <builtin>.bytearray
    - werkzeug._internal._to_str
    - werkzeug.test.EnvironBuilder.from_environ
    - typing.NamedTuple.scheme.decode
    - http.server.BaseHTTPRequestHandler.path.replace
    - boundary.encode
    - response.make_sequence
    - http.server.BaseHTTPRequestHandler.path.decode
    - werkzeug.urls._make_fast_url_quote.quote
    - werkzeug.sansio.multipart.MultipartEncoder.__init__
    - <builtin>.bool
    - headers.remove
    - collections.defaultdict.items
    - werkzeug.datastructures.Headers.remove
    - new_stream.write
    - typing.NamedTuple.decode
    - werkzeug.urls.url_encode
    - result.update
    - redirects.add
    - http.server.BaseHTTPRequestHandler.path.startswith
    - collections.defaultdict
    - werkzeug._internal._wsgi_decoding_dance
    - s.encode
    - typing.NamedTuple.find
    - stream.write
    - returned_keys.add
    - werkzeug.datastructures._options_header_vkw
    - werkzeug.datastructures.Headers.__init__
    - flask.testing.FlaskClient.open
    - werkzeug.datastructures.Headers.set
    - werkzeug.wsgi._get_server
    - werkzeug.urls.url_fix
    - flask.testing.FlaskClient._request_from_builder_args
    - typing.cast
    - typing.NamedTuple.scheme.encode
    - <builtin>.isinstance
    - <builtin>.filter
    - items.append
    - werkzeug.urls.url_parse
    - werkzeug.urls.url_join
    - werkzeug.urls.url_quote
    - werkzeug.wrappers.request.Request.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1172
    functionName: werkzeug.test.Client.__repr__
    functionSourceFile: werkzeug.test
    functionUses: 0
    functionsReached:
    - <builtin>.type
    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 0x7fcfe306c280>
    argNames:
    - status
    - headers
    - exc_info
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1225
    functionName: werkzeug.test.run_wsgi_app.start_response
    functionSourceFile: werkzeug.test
    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: buffer.append
    functionSourceFile: <builtin>
    functionUses: 9
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 7
    argDefaultValues:
    - <ast.Tuple object at 0x7fcfe223f190>
    argNames:
    - self
    - response
    - status
    - headers
    - request
    - history
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1304
    functionName: werkzeug.test.TestResponse.__init__
    functionSourceFile: werkzeug.test
    functionUses: 0
    functionsReached:
    - <builtin>.super
    linkageType: 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: werkzeug.test.TestResponse
    functionSourceFile: werkzeug.test
    functionUses: 0
    functionsReached:
    - werkzeug.utils.cached_property
    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: 10
    functionLinenumber: 1319
    functionName: werkzeug.test.TestResponse.text
    functionSourceFile: werkzeug.test
    functionUses: 0
    functionsReached:
    - werkzeug.wrappers.response._warn_if_string
    - werkzeug.wsgi._RangeWrapper._next_chunk
    - <builtin>.len
    - <builtin>.next
    - <builtin>.list
    - werkzeug.wsgi._RangeWrapper._next
    - werkzeug.wsgi._RangeWrapper.__iter__
    - werkzeug.wsgi._RangeWrapper._first_iteration
    - warnings.warn
    - werkzeug.wrappers.response.Response.call_on_close
    - werkzeug.wrappers.response.Response.iter_encoded
    - <builtin>.getattr
    - item.encode
    - werkzeug.wsgi._RangeWrapper.__next__
    - werkzeug.wrappers.response.Response.make_sequence
    - werkzeug.wrappers.response.Response.get_data
    - werkzeug.wrappers.response._iter_encoded
    - <builtin>.isinstance
    - rv.decode
    - werkzeug.wrappers.response.Response._ensure_sequence
    linkageType: 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: werkzeug.sansio.multipart
    functionSourceFile: werkzeug.sansio.multipart
    functionUses: 0
    functionsReached:
    - re.compile
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: enum.auto
    functionSourceFile: enum
    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: werkzeug.sansio.multipart.State
    functionSourceFile: werkzeug.sansio.multipart
    functionUses: 0
    functionsReached:
    - enum.auto
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe47ed2b0>
    argNames:
    - self
    - boundary
    - max_form_memory_size
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 82
    functionName: werkzeug.sansio.multipart.MultipartDecoder.__init__
    functionSourceFile: werkzeug.sansio.multipart
    functionUses: 3
    functionsReached:
    - re.compile
    - <builtin>.bytearray
    - re.escape
    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: 117
    functionName: werkzeug.sansio.multipart.MultipartDecoder.last_newline
    functionSourceFile: werkzeug.sansio.multipart
    functionUses: 4
    functionsReached:
    - <builtin>.len
    - <builtin>.min
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - data
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 129
    functionName: werkzeug.sansio.multipart.MultipartDecoder.receive_data
    functionSourceFile: werkzeug.sansio.multipart
    functionUses: 3
    functionsReached:
    - <builtin>.len
    linkageType: pythonLinkage
    raised:
    - RequestEntityTooLarge
    returnType: N/A
  - BBCount: 14
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 21
    ICount: 0
    IfCount: 14
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 8
    functionLinenumber: 140
    functionName: werkzeug.sansio.multipart.MultipartDecoder.next_event
    functionSourceFile: werkzeug.sansio.multipart
    functionUses: 3
    functionsReached:
    - werkzeug.http.parse_options_header
    - headers.append
    - werkzeug.datastructures.Headers.add
    - match.end
    - werkzeug._internal._to_str
    - werkzeug.http.dump_options_header
    - typing.NamedTuple.scheme.decode
    - match.group
    - _option_header_piece_re.match
    - BLANK_LINE_RE.search
    - http.server.BaseHTTPRequestHandler.path.decode
    - werkzeug.datastructures.Headers.extend
    - <builtin>.len
    - kw.items
    - d.items
    - urllib.parse.unquote_to_bytes.decode
    - werkzeug.urls.BytesURL.decode
    - typing.NamedTuple.query.decode
    - urllib.parse.unquote_to_bytes
    - http.server.BaseHTTPRequestHandler.path.strip
    - value.decode
    - werkzeug.datastructures.Headers._validate_value
    - optmatch.end
    - werkzeug.sansio.multipart.MultipartDecoder._parse_headers
    - typing.NamedTuple.fragment.decode
    - werkzeug.http.unquote_header_value
    - HEADER_CONTINUATION_RE.sub
    - werkzeug.datastructures.CombinedMultiDict.items
    - typing.NamedTuple.decode
    - value.replace
    - werkzeug._internal._decode_idna
    - value.strip
    - typing.NamedTuple.__init__
    - line.strip
    - name.strip
    - werkzeug.datastructures._unicodify_header_value
    - werkzeug.urls.BaseURL.decode_netloc
    - result.append
    - segments.append
    - match.start
    - data.splitlines
    - k.replace
    - optmatch.groups
    - warnings.warn
    - <builtin>.str
    - domain.encode
    - _option_header_start_mime_type.match
    - werkzeug._internal._decode_idna.decode_part
    - domain.split
    - options.items
    - returned_keys.add
    - werkzeug.datastructures._options_header_vkw
    - <builtin>.min
    - werkzeug.datastructures.Headers.__init__
    - part.decode
    - typing.NamedTuple.path.decode
    - werkzeug.sansio.multipart.MultipartDecoder.last_newline
    - werkzeug.http.quote_header_value
    - options.get
    - typing.cast
    - found.add
    - dict.items
    - <builtin>.bytes
    - extra.get
    - <builtin>.isinstance
    - <builtin>.filter
    - werkzeug.datastructures.OrderedMultiDict.items
    - <builtin>.set
    - werkzeug.datastructures.iter_multi_items
    - typing.NamedTuple.strip
    - werkzeug.datastructures.MultiDict.items
    - <builtin>.tuple
    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: match.start
    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: BLANK_LINE_RE.search
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - data
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 7
    functionLinenumber: 217
    functionName: werkzeug.sansio.multipart.MultipartDecoder._parse_headers
    functionSourceFile: werkzeug.sansio.multipart
    functionUses: 4
    functionsReached:
    - werkzeug.datastructures.Headers.add
    - headers.append
    - werkzeug._internal._to_str
    - werkzeug.http.dump_options_header
    - typing.NamedTuple.scheme.decode
    - http.server.BaseHTTPRequestHandler.path.decode
    - werkzeug.datastructures.Headers.extend
    - <builtin>.len
    - kw.items
    - d.items
    - werkzeug.urls.BytesURL.decode
    - typing.NamedTuple.query.decode
    - http.server.BaseHTTPRequestHandler.path.strip
    - value.decode
    - werkzeug.datastructures.Headers._validate_value
    - typing.NamedTuple.fragment.decode
    - werkzeug.datastructures.CombinedMultiDict.items
    - HEADER_CONTINUATION_RE.sub
    - typing.NamedTuple.decode
    - value.replace
    - werkzeug._internal._decode_idna
    - value.strip
    - typing.NamedTuple.__init__
    - line.strip
    - werkzeug.datastructures._unicodify_header_value
    - name.strip
    - werkzeug.urls.BaseURL.decode_netloc
    - segments.append
    - data.splitlines
    - k.replace
    - <builtin>.str
    - domain.encode
    - werkzeug._internal._decode_idna.decode_part
    - domain.split
    - options.items
    - returned_keys.add
    - werkzeug.datastructures._options_header_vkw
    - werkzeug.datastructures.Headers.__init__
    - part.decode
    - typing.NamedTuple.path.decode
    - werkzeug.http.quote_header_value
    - found.add
    - dict.items
    - <builtin>.isinstance
    - <builtin>.filter
    - werkzeug.datastructures.OrderedMultiDict.items
    - <builtin>.set
    - werkzeug.datastructures.iter_multi_items
    - typing.NamedTuple.strip
    - werkzeug.datastructures.MultiDict.items
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: extra.get
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: HEADER_CONTINUATION_RE.sub
    functionSourceFile: <builtin>
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: data.splitlines
    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: http.server.BaseHTTPRequestHandler.path.strip
    functionSourceFile: http
    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: typing.NamedTuple.strip
    functionSourceFile: typing
    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: name.strip
    functionSourceFile: <builtin>
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: werkzeug.security
    functionSourceFile: werkzeug.security
    functionUses: 0
    functionsReached:
    - <builtin>.list
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - length
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 19
    functionName: werkzeug.security.gen_salt
    functionSourceFile: werkzeug.security
    functionUses: 9
    functionsReached:
    - <builtin>.range
    - secrets.choice
    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: secrets.choice
    functionSourceFile: secrets
    functionUses: 10
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 1
    IfCount: 5
    argCount: 3
    argDefaultValues: []
    argNames:
    - method
    - salt
    - password
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 27
    functionName: werkzeug.security._hash_internal
    functionSourceFile: werkzeug.security
    functionUses: 2
    functionsReached:
    - hmac.new
    - salt.encode
    - hashlib.new
    - method.startswith
    - <builtin>.int
    - args.pop
    - <builtin>.len
    - hashlib.pbkdf2_hmac
    - password.encode
    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: salt.encode
    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: password.encode
    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: method.startswith
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: args.pop
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: hashlib.pbkdf2_hmac
    functionSourceFile: hashlib
    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: hmac.new
    functionSourceFile: hmac
    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: hashlib.new
    functionSourceFile: hashlib
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe245ea00>
    - <ast.Constant object at 0x7fcfe245e370>
    argNames:
    - password
    - method
    - salt_length
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 60
    functionName: werkzeug.security.generate_password_hash
    functionSourceFile: werkzeug.security
    functionUses: 0
    functionsReached:
    - hmac.new
    - salt.encode
    - hashlib.new
    - method.startswith
    - <builtin>.int
    - werkzeug.security.gen_salt
    - args.pop
    - <builtin>.range
    - <builtin>.len
    - werkzeug.security._hash_internal
    - hashlib.pbkdf2_hmac
    - password.encode
    - secrets.choice
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - pwhash
    - password
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 92
    functionName: werkzeug.security.check_password_hash
    functionSourceFile: werkzeug.security
    functionUses: 0
    functionsReached:
    - hmac.new
    - hmac.compare_digest
    - <builtin>.len
    - salt.encode
    - hashlib.new
    - method.startswith
    - <builtin>.int
    - args.pop
    - pwhash.count
    - pwhash.split
    - werkzeug.security._hash_internal
    - hashlib.pbkdf2_hmac
    - password.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: pwhash.count
    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: pwhash.split
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: 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: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: os.path.isabs
    functionSourceFile: os
    functionUses: 10
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: filename.startswith
    functionSourceFile: <builtin>
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: parts.append
    functionSourceFile: <builtin>
    functionUses: 12
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: posixpath.join
    functionSourceFile: posixpath
    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: werkzeug.debug.tbtools
    functionSourceFile: werkzeug.debug.tbtools
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 16
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 23
    ICount: 1
    IfCount: 16
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe2c9f490>
    argNames:
    - exc
    - te
    - skip
    - hide
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 123
    functionName: werkzeug.debug.tbtools._process_traceback
    functionSourceFile: werkzeug.debug.tbtools
    functionUses: 7
    functionsReached:
    - itertools.islice
    - new_stack.append
    - werkzeug.debug.tbtools.DebugFrameSummary.__init__
    - traceback.walk_tb
    - typing.cast
    - f.f_locals.get
    - traceback.TracebackException.from_exception
    - <builtin>.zip
    - <builtin>.super
    - <builtin>.getattr
    - werkzeug.debug.tbtools._process_traceback
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: traceback.TracebackException.from_exception
    functionSourceFile: traceback
    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: traceback.walk_tb
    functionSourceFile: traceback
    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: itertools.islice
    functionSourceFile: itertools
    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: f.f_locals.get
    functionSourceFile: <builtin>
    functionUses: 8
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - locals
    - globals
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 346
    functionName: werkzeug.debug.tbtools.DebugFrameSummary.__init__
    functionSourceFile: werkzeug.debug.tbtools
    functionUses: 8
    functionsReached:
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: new_stack.append
    functionSourceFile: <builtin>
    functionUses: 8
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 226
    functionName: werkzeug.debug.tbtools.DebugTraceback.__str__
    functionSourceFile: werkzeug.debug.tbtools
    functionUses: 0
    functionsReached:
    - <builtin>.type
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: werkzeug.debug.tbtools.DebugTraceback
    functionSourceFile: werkzeug.debug.tbtools
    functionUses: 0
    functionsReached:
    - werkzeug.utils.cached_property
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 230
    functionName: werkzeug.debug.tbtools.DebugTraceback.all_tracebacks
    functionSourceFile: werkzeug.debug.tbtools
    functionUses: 0
    functionsReached:
    - out.append
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: out.append
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 259
    functionName: werkzeug.debug.tbtools.DebugTraceback.all_frames
    functionSourceFile: werkzeug.debug.tbtools
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 3
    IfCount: 5
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe11f9c70>
    argNames:
    - self
    - include_title
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 267
    functionName: werkzeug.debug.tbtools.DebugTraceback.render_traceback_html
    functionSourceFile: werkzeug.debug.tbtools
    functionUses: 6
    functionsReached:
    - typing.cast
    - <builtin>.reversed
    - frame.render_html
    - html.escape
    - rows.append
    - <builtin>.len
    - row_parts.append
    - <builtin>.issubclass
    - <builtin>.sum
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.reversed
    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: row_parts.append
    functionSourceFile: <builtin>
    functionUses: 7
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: frame.render_html
    functionSourceFile: <builtin>
    functionUses: 7
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: rows.append
    functionSourceFile: <builtin>
    functionUses: 7
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - evalex
    - secret
    - evalex_trusted
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 314
    functionName: werkzeug.debug.tbtools.DebugTraceback.render_debugger_html
    functionSourceFile: werkzeug.debug.tbtools
    functionUses: 2
    functionsReached:
    - re.sub
    - <builtin>.sum
    - typing.cast
    - <builtin>.list
    - <builtin>.reversed
    - frame.render_html
    - html.escape
    - rows.append
    - <builtin>.len
    - row_parts.append
    - <builtin>.issubclass
    - werkzeug.debug.tbtools.DebugTraceback.render_traceback_html
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: re.sub
    functionSourceFile: re
    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: 1
    functionLinenumber: -1
    functionName: werkzeug.debug.tbtools.DebugFrameSummary
    functionSourceFile: werkzeug.debug.tbtools
    functionUses: 0
    functionsReached:
    - werkzeug.utils.cached_property
    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: 358
    functionName: werkzeug.debug.tbtools.DebugFrameSummary.info
    functionSourceFile: werkzeug.debug.tbtools
    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: 362
    functionName: werkzeug.debug.tbtools.DebugFrameSummary.is_library
    functionSourceFile: werkzeug.debug.tbtools
    functionUses: 0
    functionsReached:
    - sysconfig.get_paths
    - traceback.FrameSummary.filename.startswith
    - os.path.realpath
    - <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: os.path.realpath
    functionSourceFile: os
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: traceback.FrameSummary.filename.startswith
    functionSourceFile: traceback
    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: sysconfig.get_paths
    functionSourceFile: sysconfig
    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: 3
    functionLinenumber: 369
    functionName: werkzeug.debug.tbtools.DebugFrameSummary.console
    functionSourceFile: werkzeug.debug.tbtools
    functionUses: 0
    functionsReached:
    - werkzeug.debug.console._InteractiveConsole.__init__
    - werkzeug.debug.console._ConsoleLoader.__init__
    - werkzeug.debug.console.Console.__init__
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe2bdd7c0>
    - <ast.Constant object at 0x7fcfe2bdd790>
    argNames:
    - self
    - globals
    - locals
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 199
    functionName: werkzeug.debug.console.Console.__init__
    functionSourceFile: werkzeug.debug.console
    functionUses: 4
    functionsReached:
    - werkzeug.debug.console._InteractiveConsole.__init__
    - werkzeug.debug.console._ConsoleLoader.__init__
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - code
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 372
    functionName: werkzeug.debug.tbtools.DebugFrameSummary.eval
    functionSourceFile: werkzeug.debug.tbtools
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - mark_library
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 375
    functionName: werkzeug.debug.tbtools.DebugFrameSummary.render_html
    functionSourceFile: werkzeug.debug.tbtools
    functionUses: 0
    functionsReached:
    - line.expandtabs
    - werkzeug.debug.tbtools.DebugFrameSummary.render_html.render_line
    - rendered_lines.append
    - <builtin>.max
    - html.escape
    - linecache.getlines
    - line.strip
    - <builtin>.min
    - <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: linecache.getlines
    functionSourceFile: linecache
    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:
    - line
    - cls
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 383
    functionName: werkzeug.debug.tbtools.DebugFrameSummary.render_html.render_line
    functionSourceFile: werkzeug.debug.tbtools
    functionUses: 1
    functionsReached:
    - line.expandtabs
    - rendered_lines.append
    - html.escape
    - line.strip
    - <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: line.expandtabs
    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: rendered_lines.append
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - secret
    - evalex_trusted
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 411
    functionName: werkzeug.debug.tbtools.render_console_html
    functionSourceFile: werkzeug.debug.tbtools
    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: 2
    functionLinenumber: -1
    functionName: werkzeug.debug.console
    functionSourceFile: werkzeug.debug.console
    functionUses: 0
    functionsReached:
    - object.__setattr__
    - werkzeug.local.Local.__init__
    - contextvars.ContextVar
    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: 45
    functionName: werkzeug.local.Local.__init__
    functionSourceFile: werkzeug.local
    functionUses: 3
    functionsReached:
    - object.__setattr__
    - contextvars.ContextVar
    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: 21
    functionName: werkzeug.debug.console.HTMLStringO.__init__
    functionSourceFile: werkzeug.debug.console
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 24
    functionName: werkzeug.debug.console.HTMLStringO.isatty
    functionSourceFile: werkzeug.debug.console
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 27
    functionName: werkzeug.debug.console.HTMLStringO.close
    functionSourceFile: werkzeug.debug.console
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 30
    functionName: werkzeug.debug.console.HTMLStringO.flush
    functionSourceFile: werkzeug.debug.console
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe2becd30>
    argNames:
    - self
    - n
    - mode
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 33
    functionName: werkzeug.debug.console.HTMLStringO.seek
    functionSourceFile: werkzeug.debug.console
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 36
    functionName: werkzeug.debug.console.HTMLStringO.readline
    functionSourceFile: werkzeug.debug.console
    functionUses: 0
    functionsReached:
    - <builtin>.len
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 43
    functionName: werkzeug.debug.console.HTMLStringO.reset
    functionSourceFile: werkzeug.debug.console
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - x
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 48
    functionName: werkzeug.debug.console.HTMLStringO._write
    functionSourceFile: werkzeug.debug.console
    functionUses: 3
    functionsReached:
    - <builtin>.isinstance
    - html.escape.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: html.escape.decode
    functionSourceFile: html
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - x
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 53
    functionName: werkzeug.debug.console.HTMLStringO.write
    functionSourceFile: werkzeug.debug.console
    functionUses: 0
    functionsReached:
    - html.escape
    - werkzeug.debug.console.HTMLStringO._write
    - html.escape.decode
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - x
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 56
    functionName: werkzeug.debug.console.HTMLStringO.writelines
    functionSourceFile: werkzeug.debug.console
    functionUses: 0
    functionsReached:
    - html.escape
    - werkzeug.debug.console.HTMLStringO._write
    - html.escape.decode
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 64
    functionName: werkzeug.debug.console.ThreadedStream.push
    functionSourceFile: werkzeug.debug.console
    functionUses: 3
    functionsReached:
    - werkzeug.debug.console.HTMLStringO.__init__
    - <builtin>.isinstance
    - typing.cast
    linkageType: 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: 70
    functionName: werkzeug.debug.console.ThreadedStream.fetch
    functionSourceFile: werkzeug.debug.console
    functionUses: 3
    functionsReached:
    - werkzeug.debug.console.HTMLStringO.reset
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - obj
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 78
    functionName: werkzeug.debug.console.ThreadedStream.displayhook
    functionSourceFile: werkzeug.debug.console
    functionUses: 0
    functionsReached:
    - werkzeug.debug.repr.DebugReprGenerator.__init__
    - <builtin>.enumerate
    - werkzeug.debug.repr.debug_repr
    - werkzeug.debug.repr._add_subclass_info
    - d.items
    - <builtin>.len
    - werkzeug.debug.repr.DebugReprGenerator.dict_repr
    - buf.append
    - sys.exc_info
    - codecs.decode
    - werkzeug.debug.repr.DebugReprGenerator.object_repr
    - info.strip
    - traceback.format_exception_only
    - html.escape.decode
    - werkzeug.debug.repr.DebugReprGenerator.repr
    - werkzeug.debug.repr.DebugReprGenerator.fallback_repr
    - buf.extend
    - werkzeug.debug.console.HTMLStringO._write
    - werkzeug.debug.repr.DebugReprGenerator.regex_repr
    - werkzeug.debug.repr.DebugReprGenerator.string_repr
    - <builtin>.type
    - sys.displayhook
    - werkzeug.debug.repr.DebugReprGenerator.dispatch_repr
    - werkzeug.debug.repr._sequence_repr_maker.proxy
    - <builtin>.isinstance
    - html.escape
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: sys.displayhook
    functionSourceFile: sys
    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:
    - obj
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 34
    functionName: werkzeug.debug.repr.debug_repr
    functionSourceFile: werkzeug.debug.repr
    functionUses: 1
    functionsReached:
    - werkzeug.debug.repr.DebugReprGenerator.__init__
    - <builtin>.enumerate
    - werkzeug.debug.repr._add_subclass_info
    - d.items
    - werkzeug.debug.repr.DebugReprGenerator.dict_repr
    - <builtin>.len
    - buf.append
    - sys.exc_info
    - codecs.decode
    - werkzeug.debug.repr.DebugReprGenerator.object_repr
    - info.strip
    - traceback.format_exception_only
    - werkzeug.debug.repr.DebugReprGenerator.repr
    - werkzeug.debug.repr.DebugReprGenerator.fallback_repr
    - buf.extend
    - werkzeug.debug.repr.DebugReprGenerator.regex_repr
    - werkzeug.debug.repr.DebugReprGenerator.string_repr
    - <builtin>.type
    - werkzeug.debug.repr.DebugReprGenerator.dispatch_repr
    - werkzeug.debug.repr._sequence_repr_maker.proxy
    - <builtin>.isinstance
    - html.escape
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - name
    - value
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 89
    functionName: werkzeug.debug.console.ThreadedStream.__setattr__
    functionSourceFile: werkzeug.debug.console
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - AttributeError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 92
    functionName: werkzeug.debug.console.ThreadedStream.__dir__
    functionSourceFile: werkzeug.debug.console
    functionUses: 0
    functionsReached:
    - <builtin>.dir
    linkageType: pythonLinkage
    raised: []
    returnType: N/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>.dir
    functionSourceFile: <builtin>
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 95
    functionName: werkzeug.debug.console.ThreadedStream.__getattribute__
    functionSourceFile: werkzeug.debug.console
    functionUses: 0
    functionsReached:
    - <builtin>.getattr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 102
    functionName: werkzeug.debug.console.ThreadedStream.__repr__
    functionSourceFile: werkzeug.debug.console
    functionUses: 0
    functionsReached:
    - <builtin>.repr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.repr
    functionSourceFile: <builtin>
    functionUses: 11
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 112
    functionName: werkzeug.debug.console._ConsoleLoader.__init__
    functionSourceFile: werkzeug.debug.console
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - code
    - source
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 115
    functionName: werkzeug.debug.console._ConsoleLoader.register
    functionSourceFile: werkzeug.debug.console
    functionUses: 1
    functionsReached:
    - <builtin>.id
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.id
    functionSourceFile: <builtin>
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - code
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 122
    functionName: werkzeug.debug.console._ConsoleLoader.get_source_by_code
    functionSourceFile: werkzeug.debug.console
    functionUses: 0
    functionsReached:
    - <builtin>.id
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - globals
    - locals
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 132
    functionName: werkzeug.debug.console._InteractiveConsole.__init__
    functionSourceFile: werkzeug.debug.console
    functionUses: 5
    functionsReached:
    - werkzeug.debug.console._ConsoleLoader.__init__
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - source
    - filename
    - symbol
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 144
    functionName: werkzeug.debug.console._InteractiveConsole.__init__.compile
    functionSourceFile: werkzeug.debug.console
    functionUses: 0
    functionsReached:
    - <builtin>.id
    - <builtin>.isinstance
    - werkzeug.debug.console._InteractiveConsole.__init__.compile
    - werkzeug.debug.console._ConsoleLoader.register
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - source
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 156
    functionName: werkzeug.debug.console._InteractiveConsole.runsource
    functionSourceFile: werkzeug.debug.console
    functionUses: 2
    functionsReached:
    - werkzeug.debug.console.ThreadedStream.push
    - source.rstrip
    - typing.cast
    - code.InteractiveInterpreter.buffer.append
    - werkzeug.debug.console.ThreadedStream.fetch
    - <builtin>.isinstance
    - html.escape
    - <builtin>.super
    - werkzeug.debug.console.HTMLStringO.__init__
    - werkzeug.debug.console.HTMLStringO.reset
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: source.rstrip
    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: code.InteractiveInterpreter.buffer.append
    functionSourceFile: code
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - code
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 172
    functionName: werkzeug.debug.console._InteractiveConsole.runcode
    functionSourceFile: werkzeug.debug.console
    functionUses: 0
    functionsReached:
    - itertools.islice
    - werkzeug.debug.tbtools.DebugFrameSummary.__init__
    - traceback.walk_tb
    - f.f_locals.get
    - <builtin>.zip
    - <builtin>.len
    - werkzeug.debug.tbtools.DebugTraceback.render_traceback_html
    - row_parts.append
    - sys.exc_info
    - <builtin>.reversed
    - frame.render_html
    - sys.stdout._write
    - werkzeug.debug.console._InteractiveConsole.showtraceback
    - werkzeug.debug.tbtools._process_traceback
    - rows.append
    - werkzeug.debug.tbtools.DebugTraceback.__init__
    - <builtin>.issubclass
    - <builtin>.sum
    - <builtin>.exec
    - <builtin>.getattr
    - new_stack.append
    - typing.cast
    - html.escape
    - <builtin>.super
    - traceback.TracebackException.from_exception
    linkageType: pythonLinkage
    raised: []
    returnType: N/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>.exec
    functionSourceFile: <builtin>
    functionUses: 17
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 178
    functionName: werkzeug.debug.console._InteractiveConsole.showtraceback
    functionSourceFile: werkzeug.debug.console
    functionUses: 1
    functionsReached:
    - itertools.islice
    - werkzeug.debug.tbtools.DebugFrameSummary.__init__
    - traceback.walk_tb
    - f.f_locals.get
    - <builtin>.zip
    - <builtin>.len
    - werkzeug.debug.tbtools.DebugTraceback.render_traceback_html
    - row_parts.append
    - sys.exc_info
    - <builtin>.reversed
    - frame.render_html
    - sys.stdout._write
    - werkzeug.debug.tbtools._process_traceback
    - rows.append
    - werkzeug.debug.tbtools.DebugTraceback.__init__
    - <builtin>.issubclass
    - <builtin>.sum
    - <builtin>.getattr
    - new_stack.append
    - typing.cast
    - html.escape
    - <builtin>.super
    - traceback.TracebackException.from_exception
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: sys.stdout._write
    functionSourceFile: sys
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe2bda5e0>
    argNames:
    - self
    - filename
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 185
    functionName: werkzeug.debug.console._InteractiveConsole.showsyntaxerror
    functionSourceFile: werkzeug.debug.console
    functionUses: 0
    functionsReached:
    - itertools.islice
    - werkzeug.debug.tbtools.DebugFrameSummary.__init__
    - traceback.walk_tb
    - f.f_locals.get
    - <builtin>.zip
    - <builtin>.len
    - werkzeug.debug.tbtools.DebugTraceback.render_traceback_html
    - row_parts.append
    - sys.exc_info
    - <builtin>.reversed
    - frame.render_html
    - sys.stdout._write
    - werkzeug.debug.tbtools._process_traceback
    - rows.append
    - werkzeug.debug.tbtools.DebugTraceback.__init__
    - <builtin>.issubclass
    - <builtin>.sum
    - <builtin>.getattr
    - new_stack.append
    - typing.cast
    - html.escape
    - <builtin>.super
    - traceback.TracebackException.from_exception
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - data
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 192
    functionName: werkzeug.debug.console._InteractiveConsole.write
    functionSourceFile: werkzeug.debug.console
    functionUses: 0
    functionsReached:
    - sys.stdout.write
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: sys.stdout.write
    functionSourceFile: sys
    functionUses: 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
    - code
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 210
    functionName: werkzeug.debug.console.Console.eval
    functionSourceFile: werkzeug.debug.console
    functionUses: 1
    functionsReached:
    - werkzeug.debug.console.ThreadedStream.push
    - source.rstrip
    - typing.cast
    - code.InteractiveInterpreter.buffer.append
    - werkzeug.debug.console.ThreadedStream.fetch
    - <builtin>.isinstance
    - werkzeug.debug.console.HTMLStringO.__init__
    - html.escape
    - <builtin>.super
    - werkzeug.debug.console._InteractiveConsole.runsource
    - werkzeug.debug.console.HTMLStringO.reset
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: werkzeug.local
    functionSourceFile: werkzeug.local
    functionUses: 0
    functionsReached:
    - typing.TypeVar
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - local
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 19
    functionName: werkzeug.local.release_local
    functionSourceFile: werkzeug.local
    functionUses: 3
    functionsReached:
    - local.__release_local__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: local.__release_local__
    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: contextvars.ContextVar
    functionSourceFile: contextvars
    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: object.__setattr__
    functionSourceFile: <builtin>
    functionUses: 8
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 48
    functionName: werkzeug.local.Local.__iter__
    functionSourceFile: werkzeug.local
    functionUses: 0
    functionsReached:
    - <builtin>.iter
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - proxy
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 51
    functionName: werkzeug.local.Local.__call__
    functionSourceFile: werkzeug.local
    functionUses: 0
    functionsReached:
    - object.__setattr__
    - <builtin>.callable
    - <builtin>.hasattr
    - werkzeug.local.LocalProxy.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe26a4eb0>
    argNames:
    - self
    - local
    - name
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 388
    functionName: werkzeug.local.LocalProxy.__init__
    functionSourceFile: werkzeug.local
    functionUses: 4
    functionsReached:
    - object.__setattr__
    - <builtin>.callable
    - <builtin>.hasattr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 55
    functionName: werkzeug.local.Local.__release_local__
    functionSourceFile: werkzeug.local
    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
    - name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 58
    functionName: werkzeug.local.Local.__getattr__
    functionSourceFile: werkzeug.local
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - AttributeError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - name
    - value
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 65
    functionName: werkzeug.local.Local.__setattr__
    functionSourceFile: werkzeug.local
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 70
    functionName: werkzeug.local.Local.__delattr__
    functionSourceFile: werkzeug.local
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - AttributeError
    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: 106
    functionName: werkzeug.local.LocalStack.__init__
    functionSourceFile: werkzeug.local
    functionUses: 1
    functionsReached:
    - object.__setattr__
    - werkzeug.local.Local.__init__
    - contextvars.ContextVar
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 109
    functionName: werkzeug.local.LocalStack.__release_local__
    functionSourceFile: werkzeug.local
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 112
    functionName: werkzeug.local.LocalStack.__call__
    functionSourceFile: werkzeug.local
    functionUses: 0
    functionsReached:
    - object.__setattr__
    - <builtin>.callable
    - <builtin>.hasattr
    - werkzeug.local.LocalProxy.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 113
    functionName: werkzeug.local.LocalStack.__call__._lookup
    functionSourceFile: werkzeug.local
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - RuntimeError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - obj
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 121
    functionName: werkzeug.local.LocalStack.push
    functionSourceFile: werkzeug.local
    functionUses: 0
    functionsReached:
    - rv.append
    - <builtin>.getattr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 128
    functionName: werkzeug.local.LocalStack.pop
    functionSourceFile: werkzeug.local
    functionUses: 0
    functionsReached:
    - stack.pop
    - local.__release_local__
    - werkzeug.local.release_local
    - <builtin>.getattr
    - <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: stack.pop
    functionSourceFile: <builtin>
    functionUses: 19
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 142
    functionName: werkzeug.local.LocalStack.top
    functionSourceFile: werkzeug.local
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe1d83880>
    argNames:
    - self
    - locals
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 171
    functionName: werkzeug.local.LocalManager.__init__
    functionSourceFile: werkzeug.local
    functionUses: 0
    functionsReached:
    - <builtin>.list
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - app
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 188
    functionName: werkzeug.local.LocalManager.make_middleware
    functionSourceFile: werkzeug.local
    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:
    - environ
    - start_response
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 193
    functionName: werkzeug.local.LocalManager.make_middleware.application
    functionSourceFile: werkzeug.local
    functionUses: 0
    functionsReached:
    - <builtin>.callable
    - typing.cast
    - <builtin>.iter
    - <builtin>.list
    - werkzeug.wsgi.ClosingIterator.__init__
    - <builtin>.getattr
    - functools.partial
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - func
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 200
    functionName: werkzeug.local.LocalManager.middleware
    functionSourceFile: werkzeug.local
    functionUses: 0
    functionsReached:
    - werkzeug.local.LocalManager.make_middleware
    - functools.update_wrapper
    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: werkzeug.local.LocalManager.__repr__
    functionSourceFile: werkzeug.local
    functionUses: 0
    functionsReached:
    - <builtin>.len
    - <builtin>.type
    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 0x7fcfe340cb20>
    - <ast.Constant object at 0x7fcfe340ccd0>
    - <ast.Constant object at 0x7fcfe340cfa0>
    - <ast.Constant object at 0x7fcfe340c5b0>
    argNames:
    - self
    - f
    - fallback
    - class_value
    - is_attr
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 237
    functionName: werkzeug.local._ProxyLookup.__init__
    functionSourceFile: werkzeug.local
    functionUses: 3
    functionsReached:
    - <builtin>.hasattr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - instance
    - obj
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 255
    functionName: werkzeug.local._ProxyLookup.__init__.bind_f
    functionSourceFile: werkzeug.local
    functionUses: 2
    functionsReached:
    - copy.deepcopy.__get__
    - operator.getitem.__get__
    - math.trunc.__get__
    - operator.ne.__get__
    - operator.gt.__get__
    - operator.length_hint.__get__
    - operator.truediv.__get__
    - operator.setitem.__get__
    - operator.contains.__get__
    - operator.xor.__get__
    - functools.partial
    - operator.index.__get__
    - operator.rshift.__get__
    - operator.pos.__get__
    - operator.invert.__get__
    - math.floor.__get__
    - operator.lt.__get__
    - operator.neg.__get__
    - operator.sub.__get__
    - <builtin>.type
    - operator.matmul.__get__
    - operator.mod.__get__
    - operator.eq.__get__
    - operator.add.__get__
    - operator.mul.__get__
    - operator.or_.__get__
    - operator.ge.__get__
    - operator.and_.__get__
    - operator.floordiv.__get__
    - operator.le.__get__
    - math.ceil.__get__
    - operator.lshift.__get__
    - operator.delitem.__get__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: copy.deepcopy.__get__
    functionSourceFile: copy
    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: operator.le.__get__
    functionSourceFile: operator
    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: operator.getitem.__get__
    functionSourceFile: operator
    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: math.trunc.__get__
    functionSourceFile: math
    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: operator.ne.__get__
    functionSourceFile: operator
    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: operator.gt.__get__
    functionSourceFile: operator
    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: operator.length_hint.__get__
    functionSourceFile: operator
    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: operator.truediv.__get__
    functionSourceFile: operator
    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: operator.setitem.__get__
    functionSourceFile: operator
    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: operator.contains.__get__
    functionSourceFile: operator
    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: operator.xor.__get__
    functionSourceFile: operator
    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: operator.index.__get__
    functionSourceFile: operator
    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: math.ceil.__get__
    functionSourceFile: math
    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: operator.rshift.__get__
    functionSourceFile: operator
    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: operator.pos.__get__
    functionSourceFile: operator
    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: operator.invert.__get__
    functionSourceFile: operator
    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: math.floor.__get__
    functionSourceFile: math
    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: operator.lt.__get__
    functionSourceFile: operator
    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: operator.neg.__get__
    functionSourceFile: operator
    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: operator.sub.__get__
    functionSourceFile: operator
    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: operator.mod.__get__
    functionSourceFile: operator
    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: operator.eq.__get__
    functionSourceFile: operator
    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: operator.add.__get__
    functionSourceFile: operator
    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: operator.or_.__get__
    functionSourceFile: operator
    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: operator.mul.__get__
    functionSourceFile: operator
    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: operator.ge.__get__
    functionSourceFile: operator
    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: operator.and_.__get__
    functionSourceFile: operator
    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: operator.floordiv.__get__
    functionSourceFile: operator
    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: operator.matmul.__get__
    functionSourceFile: operator
    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: operator.lshift.__get__
    functionSourceFile: operator
    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: operator.delitem.__get__
    functionSourceFile: operator
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - owner
    - name
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 267
    functionName: werkzeug.local._ProxyLookup.__set_name__
    functionSourceFile: werkzeug.local
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 0
    IfCount: 5
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe10ab0d0>
    argNames:
    - self
    - instance
    - owner
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 270
    functionName: werkzeug.local._ProxyLookup.__get__
    functionSourceFile: werkzeug.local
    functionUses: 1
    functionsReached:
    - werkzeug.local._ProxyLookup.__init__.bind_f
    - instance._get_current_object
    - copy.deepcopy.__get__
    - werkzeug.local._ProxyIOp.__init__.bind_f
    - operator.getitem.__get__
    - math.trunc.__get__
    - operator.ne.__get__
    - operator.gt.__get__
    - operator.length_hint.__get__
    - operator.truediv.__get__
    - operator.setitem.__get__
    - operator.contains.__get__
    - operator.xor.__get__
    - functools.partial
    - operator.index.__get__
    - operator.rshift.__get__
    - operator.pos.__get__
    - operator.invert.__get__
    - math.floor.__get__
    - operator.lt.__get__
    - operator.neg.__get__
    - <builtin>.getattr
    - operator.sub.__get__
    - <builtin>.type
    - operator.matmul.__get__
    - operator.mod.__get__
    - operator.eq.__get__
    - operator.add.__get__
    - operator.mul.__get__
    - operator.or_.__get__
    - operator.ge.__get__
    - operator.and_.__get__
    - operator.floordiv.__get__
    - operator.le.__get__
    - math.ceil.__get__
    - operator.lshift.__get__
    - operator.delitem.__get__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: instance._get_current_object
    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:
    - instance
    - obj
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 321
    functionName: werkzeug.local._ProxyIOp.__init__.bind_f
    functionSourceFile: werkzeug.local
    functionUses: 2
    functionsReached:
    - <builtin>.type
    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: 297
    functionName: werkzeug.local._ProxyLookup.__repr__
    functionSourceFile: werkzeug.local
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - instance
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 300
    functionName: werkzeug.local._ProxyLookup.__call__
    functionSourceFile: werkzeug.local
    functionUses: 0
    functionsReached:
    - werkzeug.local._ProxyLookup.__init__.bind_f
    - instance._get_current_object
    - copy.deepcopy.__get__
    - werkzeug.local._ProxyIOp.__init__.bind_f
    - <builtin>.hasattr
    - operator.getitem.__get__
    - math.trunc.__get__
    - operator.ne.__get__
    - operator.gt.__get__
    - werkzeug.local._ProxyLookup.__get__
    - operator.length_hint.__get__
    - operator.truediv.__get__
    - operator.setitem.__get__
    - operator.contains.__get__
    - operator.xor.__get__
    - functools.partial
    - operator.index.__get__
    - operator.rshift.__get__
    - operator.pos.__get__
    - operator.invert.__get__
    - werkzeug.local._ProxyLookup.__init__
    - math.floor.__get__
    - operator.lt.__get__
    - operator.neg.__get__
    - <builtin>.getattr
    - operator.sub.__get__
    - <builtin>.type
    - operator.matmul.__get__
    - operator.mod.__get__
    - operator.eq.__get__
    - operator.add.__get__
    - operator.mul.__get__
    - operator.or_.__get__
    - operator.ge.__get__
    - operator.and_.__get__
    - operator.floordiv.__get__
    - operator.le.__get__
    - math.ceil.__get__
    - operator.lshift.__get__
    - operator.delitem.__get__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe455a670>
    - <ast.Constant object at 0x7fcfe455a6d0>
    argNames:
    - self
    - f
    - fallback
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 316
    functionName: werkzeug.local._ProxyIOp.__init__
    functionSourceFile: werkzeug.local
    functionUses: 2
    functionsReached:
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - other
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 322
    functionName: werkzeug.local._ProxyIOp.__init__.bind_f.i_op
    functionSourceFile: werkzeug.local
    functionUses: 0
    functionsReached:
    - operator.imatmul
    - operator.iand
    - operator.ixor
    - operator.itruediv
    - operator.ipow
    - operator.iadd
    - operator.imod
    - operator.isub
    - operator.ilshift
    - operator.ifloordiv
    - operator.imul
    - operator.irshift
    - operator.ior
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: operator.imatmul
    functionSourceFile: operator
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: operator.iand
    functionSourceFile: operator
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: operator.ixor
    functionSourceFile: operator
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: operator.itruediv
    functionSourceFile: operator
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: operator.ipow
    functionSourceFile: operator
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: operator.iadd
    functionSourceFile: operator
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: operator.imod
    functionSourceFile: operator
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: operator.isub
    functionSourceFile: operator
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: operator.ilshift
    functionSourceFile: operator
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: operator.ifloordiv
    functionSourceFile: operator
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: operator.imul
    functionSourceFile: operator
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: operator.irshift
    functionSourceFile: operator
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: operator.ior
    functionSourceFile: operator
    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:
    - op
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 331
    functionName: werkzeug.local._l_to_r_op
    functionSourceFile: werkzeug.local
    functionUses: 2
    functionsReached:
    - typing.cast
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - obj
    - other
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 334
    functionName: werkzeug.local._l_to_r_op.r_op
    functionSourceFile: werkzeug.local
    functionUses: 0
    functionsReached:
    - operator.mod
    - operator.truediv
    - operator.or_
    - operator.mul
    - operator.add
    - operator.lshift
    - operator.floordiv
    - operator.matmul
    - operator.rshift
    - operator.and_
    - operator.sub
    - operator.xor
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: operator.mod
    functionSourceFile: operator
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: operator.truediv
    functionSourceFile: operator
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: operator.or_
    functionSourceFile: operator
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: operator.mul
    functionSourceFile: operator
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: operator.add
    functionSourceFile: operator
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: operator.lshift
    functionSourceFile: operator
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: operator.floordiv
    functionSourceFile: operator
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: operator.matmul
    functionSourceFile: operator
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: operator.rshift
    functionSourceFile: operator
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: operator.and_
    functionSourceFile: operator
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: operator.sub
    functionSourceFile: operator
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: operator.xor
    functionSourceFile: operator
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 401
    functionName: werkzeug.local.LocalProxy._get_current_object
    functionSourceFile: werkzeug.local
    functionUses: 0
    functionsReached:
    - <builtin>.hasattr
    - <builtin>.getattr
    linkageType: pythonLinkage
    raised:
    - RuntimeError
    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: werkzeug.local.LocalProxy.<lambda1>
    functionSourceFile: werkzeug.local
    functionUses: 0
    functionsReached:
    - <builtin>.type
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: -1
    functionName: werkzeug.local.LocalProxy
    functionSourceFile: werkzeug.local
    functionUses: 1
    functionsReached:
    - typing.cast
    - werkzeug.local._l_to_r_op
    - werkzeug.local._ProxyLookup.__init__
    - <builtin>.super
    - <builtin>.hasattr
    - werkzeug.local._ProxyIOp.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: werkzeug.local.LocalProxy.<lambda2>
    functionSourceFile: werkzeug.local
    functionUses: 0
    functionsReached:
    - <builtin>.type
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: werkzeug.local.LocalProxy.<lambda3>
    functionSourceFile: werkzeug.local
    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: werkzeug.local.LocalProxy.<lambda4>
    functionSourceFile: werkzeug.local
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: werkzeug.local.LocalProxy.<lambda5>
    functionSourceFile: werkzeug.local
    functionUses: 0
    functionsReached:
    - <builtin>.type
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: werkzeug.local.LocalProxy.<lambda6>
    functionSourceFile: werkzeug.local
    functionUses: 0
    functionsReached:
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: werkzeug.local.LocalProxy.<lambda7>
    functionSourceFile: werkzeug.local
    functionUses: 0
    functionsReached:
    - <builtin>.issubclass
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: -1
    functionName: werkzeug.local.LocalProxy.<lambda8>
    functionSourceFile: werkzeug.local
    functionUses: 0
    functionsReached:
    - object.__setattr__
    - <builtin>.callable
    - <builtin>.hasattr
    - werkzeug.local.LocalProxy.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: werkzeug.debug.repr
    functionSourceFile: werkzeug.debug.repr
    functionUses: 0
    functionsReached:
    - re.compile
    - <builtin>.type
    - <builtin>.object
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.object
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 121
    functionName: werkzeug.debug.repr.DebugReprGenerator.__init__
    functionSourceFile: ''
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - obj
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 229
    functionName: werkzeug.debug.repr.DebugReprGenerator.repr
    functionSourceFile: werkzeug.debug.repr
    functionUses: 10
    functionsReached:
    - <builtin>.enumerate
    - werkzeug.debug.repr._add_subclass_info
    - d.items
    - werkzeug.debug.repr.DebugReprGenerator.dict_repr
    - <builtin>.len
    - buf.append
    - sys.exc_info
    - codecs.decode
    - werkzeug.debug.repr.DebugReprGenerator.object_repr
    - info.strip
    - traceback.format_exception_only
    - werkzeug.debug.repr.DebugReprGenerator.repr
    - werkzeug.debug.repr.DebugReprGenerator.fallback_repr
    - buf.extend
    - werkzeug.debug.repr.DebugReprGenerator.regex_repr
    - werkzeug.debug.repr.DebugReprGenerator.string_repr
    - <builtin>.type
    - werkzeug.debug.repr.DebugReprGenerator.dispatch_repr
    - werkzeug.debug.repr._sequence_repr_maker.proxy
    - <builtin>.isinstance
    - html.escape
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 1
    argDefaultValues:
    - <ast.Name object at 0x7fcfe3f7aa60>
    argNames:
    - obj
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 39
    functionName: werkzeug.debug.repr.dump
    functionSourceFile: werkzeug.debug.repr
    functionUses: 0
    functionsReached:
    - werkzeug.debug.repr.DebugReprGenerator.__init__
    - <builtin>.enumerate
    - werkzeug.debug.repr._add_subclass_info
    - werkzeug.debug.repr.DebugReprGenerator.dump_locals
    - object.__repr__
    - d.items
    - <builtin>.len
    - werkzeug.debug.repr.DebugReprGenerator.dict_repr
    - html_items.append
    - werkzeug.debug.repr.DebugReprGenerator.render_object_dump
    - obj.items
    - buf.append
    - sys.exc_info
    - werkzeug.debug.repr.DebugReprGenerator.object_repr
    - codecs.decode
    - sys.stdout._write
    - info.strip
    - traceback.format_exception_only
    - werkzeug.debug.repr.DebugReprGenerator.repr
    - werkzeug.debug.repr.DebugReprGenerator.fallback_repr
    - buf.extend
    - werkzeug.debug.repr.DebugReprGenerator.dump_object
    - werkzeug.debug.repr.DebugReprGenerator.regex_repr
    - werkzeug.debug.repr.DebugReprGenerator.string_repr
    - <builtin>.dir
    - <builtin>.getattr
    - <builtin>.type
    - werkzeug.debug.repr.DebugReprGenerator.dispatch_repr
    - werkzeug.debug.repr._sequence_repr_maker.proxy
    - <builtin>.isinstance
    - items.append
    - html.escape
    - sys._getframe
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: sys._getframe
    functionSourceFile: sys
    functionUses: 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
    - d
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 268
    functionName: werkzeug.debug.repr.DebugReprGenerator.dump_locals
    functionSourceFile: werkzeug.debug.repr
    functionUses: 1
    functionsReached:
    - <builtin>.enumerate
    - werkzeug.debug.repr._add_subclass_info
    - d.items
    - werkzeug.debug.repr.DebugReprGenerator.dict_repr
    - <builtin>.len
    - html_items.append
    - werkzeug.debug.repr.DebugReprGenerator.render_object_dump
    - buf.append
    - sys.exc_info
    - codecs.decode
    - werkzeug.debug.repr.DebugReprGenerator.object_repr
    - info.strip
    - traceback.format_exception_only
    - werkzeug.debug.repr.DebugReprGenerator.repr
    - werkzeug.debug.repr.DebugReprGenerator.fallback_repr
    - buf.extend
    - werkzeug.debug.repr.DebugReprGenerator.regex_repr
    - werkzeug.debug.repr.DebugReprGenerator.string_repr
    - <builtin>.type
    - werkzeug.debug.repr.DebugReprGenerator.dispatch_repr
    - werkzeug.debug.repr._sequence_repr_maker.proxy
    - <builtin>.isinstance
    - html.escape
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 2
    IfCount: 3
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - obj
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 244
    functionName: werkzeug.debug.repr.DebugReprGenerator.dump_object
    functionSourceFile: werkzeug.debug.repr
    functionUses: 1
    functionsReached:
    - <builtin>.enumerate
    - werkzeug.debug.repr._add_subclass_info
    - object.__repr__
    - d.items
    - <builtin>.len
    - werkzeug.debug.repr.DebugReprGenerator.dict_repr
    - html_items.append
    - werkzeug.debug.repr.DebugReprGenerator.render_object_dump
    - obj.items
    - buf.append
    - sys.exc_info
    - werkzeug.debug.repr.DebugReprGenerator.object_repr
    - codecs.decode
    - info.strip
    - traceback.format_exception_only
    - werkzeug.debug.repr.DebugReprGenerator.repr
    - werkzeug.debug.repr.DebugReprGenerator.fallback_repr
    - buf.extend
    - werkzeug.debug.repr.DebugReprGenerator.regex_repr
    - werkzeug.debug.repr.DebugReprGenerator.string_repr
    - <builtin>.dir
    - <builtin>.getattr
    - <builtin>.type
    - werkzeug.debug.repr.DebugReprGenerator.dispatch_repr
    - werkzeug.debug.repr._sequence_repr_maker.proxy
    - <builtin>.isinstance
    - items.append
    - html.escape
    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: 56
    functionName: werkzeug.debug.repr._Helper.__repr__
    functionSourceFile: werkzeug.debug.repr
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 3
    IfCount: 3
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe47ed2b0>
    argNames:
    - self
    - topic
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 59
    functionName: werkzeug.debug.repr._Helper.__call__
    functionSourceFile: werkzeug.debug.repr
    functionUses: 0
    functionsReached:
    - pydoc.help
    - sys.stdout.reset
    - <builtin>.isinstance
    - sys.stdout._write
    - rv.decode
    - <builtin>.len
    - _paragraph_re.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: pydoc.help
    functionSourceFile: pydoc
    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: sys.stdout.reset
    functionSourceFile: sys
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: _paragraph_re.split
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 0
    IfCount: 4
    argCount: 3
    argDefaultValues: []
    argNames:
    - inner
    - obj
    - base
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 82
    functionName: werkzeug.debug.repr._add_subclass_info
    functionSourceFile: werkzeug.debug.repr
    functionUses: 12
    functionsReached:
    - <builtin>.type
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe10ab0a0>
    argNames:
    - left
    - right
    - base
    - limit
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 97
    functionName: werkzeug.debug.repr._sequence_repr_maker
    functionSourceFile: werkzeug.debug.repr
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 5
    IfCount: 4
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - obj
    - recursive
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 100
    functionName: werkzeug.debug.repr._sequence_repr_maker.proxy
    functionSourceFile: werkzeug.debug.repr
    functionUses: 11
    functionsReached:
    - <builtin>.type
    - buf.append
    - <builtin>.enumerate
    - <builtin>.isinstance
    - werkzeug.debug.repr._add_subclass_info
    linkageType: 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: werkzeug.debug.repr.DebugReprGenerator
    functionSourceFile: werkzeug.debug.repr
    functionUses: 0
    functionsReached:
    - werkzeug.debug.repr._sequence_repr_maker
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - obj
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 132
    functionName: werkzeug.debug.repr.DebugReprGenerator.regex_repr
    functionSourceFile: werkzeug.debug.repr
    functionUses: 10
    functionsReached:
    - <builtin>.enumerate
    - werkzeug.debug.repr._add_subclass_info
    - d.items
    - werkzeug.debug.repr.DebugReprGenerator.dict_repr
    - <builtin>.len
    - buf.append
    - sys.exc_info
    - codecs.decode
    - werkzeug.debug.repr.DebugReprGenerator.object_repr
    - info.strip
    - traceback.format_exception_only
    - werkzeug.debug.repr.DebugReprGenerator.repr
    - werkzeug.debug.repr.DebugReprGenerator.fallback_repr
    - buf.extend
    - werkzeug.debug.repr.DebugReprGenerator.regex_repr
    - werkzeug.debug.repr.DebugReprGenerator.string_repr
    - <builtin>.type
    - werkzeug.debug.repr.DebugReprGenerator.dispatch_repr
    - werkzeug.debug.repr._sequence_repr_maker.proxy
    - <builtin>.isinstance
    - html.escape
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: codecs.decode
    functionSourceFile: codecs
    functionUses: 11
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    IfCount: 2
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe47f0250>
    argNames:
    - self
    - obj
    - limit
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 138
    functionName: werkzeug.debug.repr.DebugReprGenerator.string_repr
    functionSourceFile: werkzeug.debug.repr
    functionUses: 10
    functionsReached:
    - <builtin>.enumerate
    - werkzeug.debug.repr._add_subclass_info
    - d.items
    - werkzeug.debug.repr.DebugReprGenerator.dict_repr
    - <builtin>.len
    - buf.append
    - sys.exc_info
    - codecs.decode
    - werkzeug.debug.repr.DebugReprGenerator.object_repr
    - info.strip
    - traceback.format_exception_only
    - werkzeug.debug.repr.DebugReprGenerator.repr
    - werkzeug.debug.repr.DebugReprGenerator.fallback_repr
    - buf.extend
    - werkzeug.debug.repr.DebugReprGenerator.regex_repr
    - werkzeug.debug.repr.DebugReprGenerator.string_repr
    - <builtin>.type
    - werkzeug.debug.repr.DebugReprGenerator.dispatch_repr
    - werkzeug.debug.repr._sequence_repr_maker.proxy
    - <builtin>.isinstance
    - html.escape
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: buf.extend
    functionSourceFile: <builtin>
    functionUses: 11
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 5
    IfCount: 4
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe3f76d90>
    argNames:
    - self
    - d
    - recursive
    - limit
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 165
    functionName: werkzeug.debug.repr.DebugReprGenerator.dict_repr
    functionSourceFile: werkzeug.debug.repr
    functionUses: 10
    functionsReached:
    - <builtin>.enumerate
    - werkzeug.debug.repr._add_subclass_info
    - d.items
    - werkzeug.debug.repr.DebugReprGenerator.dict_repr
    - <builtin>.len
    - buf.append
    - sys.exc_info
    - codecs.decode
    - werkzeug.debug.repr.DebugReprGenerator.object_repr
    - info.strip
    - traceback.format_exception_only
    - werkzeug.debug.repr.DebugReprGenerator.repr
    - werkzeug.debug.repr.DebugReprGenerator.fallback_repr
    - buf.extend
    - werkzeug.debug.repr.DebugReprGenerator.regex_repr
    - werkzeug.debug.repr.DebugReprGenerator.string_repr
    - <builtin>.type
    - werkzeug.debug.repr.DebugReprGenerator.dispatch_repr
    - werkzeug.debug.repr._sequence_repr_maker.proxy
    - <builtin>.isinstance
    - html.escape
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - obj
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 190
    functionName: werkzeug.debug.repr.DebugReprGenerator.object_repr
    functionSourceFile: werkzeug.debug.repr
    functionUses: 10
    functionsReached:
    - <builtin>.enumerate
    - werkzeug.debug.repr._add_subclass_info
    - d.items
    - werkzeug.debug.repr.DebugReprGenerator.dict_repr
    - <builtin>.len
    - buf.append
    - sys.exc_info
    - codecs.decode
    - werkzeug.debug.repr.DebugReprGenerator.object_repr
    - info.strip
    - traceback.format_exception_only
    - werkzeug.debug.repr.DebugReprGenerator.repr
    - werkzeug.debug.repr.DebugReprGenerator.fallback_repr
    - buf.extend
    - werkzeug.debug.repr.DebugReprGenerator.regex_repr
    - werkzeug.debug.repr.DebugReprGenerator.string_repr
    - <builtin>.type
    - werkzeug.debug.repr.DebugReprGenerator.dispatch_repr
    - werkzeug.debug.repr._sequence_repr_maker.proxy
    - <builtin>.isinstance
    - html.escape
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 10
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 15
    ICount: 0
    IfCount: 10
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - obj
    - recursive
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 196
    functionName: werkzeug.debug.repr.DebugReprGenerator.dispatch_repr
    functionSourceFile: werkzeug.debug.repr
    functionUses: 10
    functionsReached:
    - <builtin>.enumerate
    - werkzeug.debug.repr._add_subclass_info
    - d.items
    - werkzeug.debug.repr.DebugReprGenerator.dict_repr
    - <builtin>.len
    - buf.append
    - sys.exc_info
    - codecs.decode
    - werkzeug.debug.repr.DebugReprGenerator.object_repr
    - info.strip
    - traceback.format_exception_only
    - werkzeug.debug.repr.DebugReprGenerator.repr
    - werkzeug.debug.repr.DebugReprGenerator.fallback_repr
    - buf.extend
    - werkzeug.debug.repr.DebugReprGenerator.regex_repr
    - werkzeug.debug.repr.DebugReprGenerator.string_repr
    - <builtin>.type
    - werkzeug.debug.repr.DebugReprGenerator.dispatch_repr
    - werkzeug.debug.repr._sequence_repr_maker.proxy
    - <builtin>.isinstance
    - html.escape
    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: 219
    functionName: werkzeug.debug.repr.DebugReprGenerator.fallback_repr
    functionSourceFile: werkzeug.debug.repr
    functionUses: 11
    functionsReached:
    - html.escape
    - traceback.format_exception_only
    - sys.exc_info
    - info.strip
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: traceback.format_exception_only
    functionSourceFile: traceback
    functionUses: 12
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: info.strip
    functionSourceFile: <builtin>
    functionUses: 12
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: obj.items
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: object.__repr__
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe3f74580>
    argNames:
    - self
    - items
    - title
    - repr
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 272
    functionName: werkzeug.debug.repr.DebugReprGenerator.render_object_dump
    functionSourceFile: werkzeug.debug.repr
    functionUses: 3
    functionsReached:
    - html_items.append
    - html.escape
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: html_items.append
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: werkzeug._reloader
    functionSourceFile: werkzeug._reloader
    functionUses: 0
    functionsReached:
    - <builtin>.hasattr
    - <builtin>.__import__
    - prefix.add
    - <builtin>.tuple
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: prefix.add
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    IfCount: 2
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 38
    functionName: werkzeug._reloader._iter_module_paths
    functionSourceFile: werkzeug._reloader
    functionUses: 5
    functionsReached:
    - <builtin>.list
    - os.path.isfile
    - os.path.dirname
    - <builtin>.getattr
    - sys.modules.values
    - name.startswith
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: sys.modules.values
    functionSourceFile: sys
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: os.path.dirname
    functionSourceFile: os
    functionUses: 18
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - paths
    - exclude_patterns
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 58
    functionName: werkzeug._reloader._remove_by_pattern
    functionSourceFile: werkzeug._reloader
    functionUses: 5
    functionsReached:
    - paths.difference_update
    - fnmatch.filter
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: fnmatch.filter
    functionSourceFile: fnmatch
    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: paths.difference_update
    functionSourceFile: <builtin>
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 7
    IfCount: 4
    argCount: 2
    argDefaultValues: []
    argNames:
    - extra_files
    - exclude_patterns
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 63
    functionName: werkzeug._reloader._find_stat_paths
    functionSourceFile: werkzeug._reloader
    functionUses: 1
    functionsReached:
    - paths.difference_update
    - os.path.isfile
    - fnmatch.filter
    - werkzeug._reloader._iter_module_paths
    - itertools.chain
    - <builtin>.list
    - werkzeug._reloader._remove_by_pattern
    - name.endswith
    - name.startswith
    - paths.add
    - paths.update
    - dirs.clear
    - <builtin>.getattr
    - sys.modules.values
    - root.startswith
    - os.walk
    - os.path.basename
    - os.path.dirname
    - <builtin>.set
    - os.path.join
    - os.path.abspath
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: paths.add
    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: os.walk
    functionSourceFile: os
    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: root.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: dirs.clear
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: name.endswith
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: paths.update
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 4
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - extra_files
    - exclude_patterns
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 117
    functionName: werkzeug._reloader._find_watchdog_paths
    functionSourceFile: werkzeug._reloader
    functionUses: 2
    functionsReached:
    - werkzeug._reloader._find_common_roots
    - os.path.isfile
    - paths.difference_update
    - fnmatch.filter
    - werkzeug._reloader._find_common_roots._walk
    - node.clear
    - werkzeug._reloader._iter_module_paths
    - itertools.chain
    - <builtin>.list
    - pathlib.PurePath
    - rv.add
    - node.items
    - werkzeug._reloader._remove_by_pattern
    - node.setdefault
    - name.startswith
    - <builtin>.sorted
    - <builtin>.getattr
    - sys.modules.values
    - os.path.dirname
    - <builtin>.set
    - dirs.add
    - os.path.join
    - os.path.abspath
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: dirs.add
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - paths
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 141
    functionName: werkzeug._reloader._find_common_roots
    functionSourceFile: werkzeug._reloader
    functionUses: 3
    functionsReached:
    - <builtin>.sorted
    - werkzeug._reloader._find_common_roots._walk
    - pathlib.PurePath
    - <builtin>.set
    - rv.add
    - os.path.join
    - node.items
    - node.setdefault
    - node.clear
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: pathlib.PurePath
    functionSourceFile: pathlib
    functionUses: 10
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: node.setdefault
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: node.clear
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - node
    - path
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 154
    functionName: werkzeug._reloader._find_common_roots._walk
    functionSourceFile: werkzeug._reloader
    functionUses: 4
    functionsReached:
    - node.items
    - werkzeug._reloader._find_common_roots._walk
    - rv.add
    - os.path.join
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: node.items
    functionSourceFile: <builtin>
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: rv.add
    functionSourceFile: <builtin>
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 9
    ICount: 5
    IfCount: 6
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 165
    functionName: werkzeug._reloader._get_args_for_reloading
    functionSourceFile: werkzeug._reloader
    functionUses: 1
    functionsReached:
    - rv.pop
    - rv.append
    - typing.cast
    - os.path.exists
    - py_module.lstrip
    - os.path.splitext
    - os.path.isfile
    - os.path.basename
    - <builtin>.getattr
    - rv.extend
    - os.path.abspath
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: os.path.splitext
    functionSourceFile: os
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: rv.pop
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: py_module.lstrip
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe43e8520>
    - <ast.Constant object at 0x7fcfe43e8550>
    - <ast.Constant object at 0x7fcfe43e8580>
    argNames:
    - self
    - extra_files
    - exclude_patterns
    - interval
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 222
    functionName: werkzeug._reloader.ReloaderLoop.__init__
    functionSourceFile: werkzeug._reloader
    functionUses: 0
    functionsReached:
    - <builtin>.set
    - os.path.abspath
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 232
    functionName: werkzeug._reloader.ReloaderLoop.__enter__
    functionSourceFile: werkzeug._reloader
    functionUses: 0
    functionsReached:
    - werkzeug._reloader.ReloaderLoop.run_step
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 251
    functionName: werkzeug._reloader.ReloaderLoop.run_step
    functionSourceFile: ''
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - exc_type
    - exc_val
    - exc_tb
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 239
    functionName: werkzeug._reloader.ReloaderLoop.__exit__
    functionSourceFile: werkzeug._reloader
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 3
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 243
    functionName: werkzeug._reloader.ReloaderLoop.run
    functionSourceFile: werkzeug._reloader
    functionUses: 0
    functionsReached:
    - werkzeug._reloader.ReloaderLoop.run_step
    - time.sleep
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: time.sleep
    functionSourceFile: time
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 257
    functionName: werkzeug._reloader.ReloaderLoop.restart_with_reloader
    functionSourceFile: werkzeug._reloader
    functionUses: 0
    functionsReached:
    - werkzeug._reloader._get_args_for_reloading
    - rv.pop
    - os.path.splitext
    - os.path.isfile
    - _logger.addHandler
    - colorama.AnsiToWin32
    - rv.extend
    - message.rstrip
    - subprocess.call
    - logger.getEffectiveLevel
    - py_module.lstrip
    - logging.getLogger
    - os.environ.copy
    - rv.append
    - os.path.exists
    - werkzeug._internal._log
    - <builtin>.getattr
    - werkzeug._internal._has_level_handler
    - <builtin>.any
    - typing.cast
    - werkzeug._internal._ColorStreamHandler.__init__
    - _logger.setLevel
    - os.path.basename
    - <builtin>.super
    - os.path.abspath
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.environ.copy
    functionSourceFile: os
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: subprocess.call
    functionSourceFile: subprocess
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - filename
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 271
    functionName: werkzeug._reloader.ReloaderLoop.trigger_reload
    functionSourceFile: werkzeug._reloader
    functionUses: 1
    functionsReached:
    - logger.getEffectiveLevel
    - sys.exit
    - werkzeug._reloader.ReloaderLoop.log_reload
    - werkzeug._internal._ColorStreamHandler.__init__
    - _logger.addHandler
    - logging.getLogger
    - werkzeug._internal._log
    - _logger.setLevel
    - os.path.abspath
    - <builtin>.super
    - <builtin>.getattr
    - werkzeug._internal._has_level_handler
    - <builtin>.any
    - colorama.AnsiToWin32
    - message.rstrip
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - filename
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 275
    functionName: werkzeug._reloader.ReloaderLoop.log_reload
    functionSourceFile: werkzeug._reloader
    functionUses: 4
    functionsReached:
    - logger.getEffectiveLevel
    - werkzeug._internal._ColorStreamHandler.__init__
    - _logger.addHandler
    - logging.getLogger
    - werkzeug._internal._log
    - _logger.setLevel
    - os.path.abspath
    - <builtin>.super
    - <builtin>.getattr
    - werkzeug._internal._has_level_handler
    - <builtin>.any
    - colorama.AnsiToWin32
    - message.rstrip
    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: 283
    functionName: werkzeug._reloader.StatReloaderLoop.__enter__
    functionSourceFile: werkzeug._reloader
    functionUses: 0
    functionsReached:
    - <builtin>.super
    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: 5
    functionLinenumber: 287
    functionName: werkzeug._reloader.StatReloaderLoop.run_step
    functionSourceFile: werkzeug._reloader
    functionUses: 0
    functionsReached:
    - paths.difference_update
    - os.path.isfile
    - _logger.addHandler
    - fnmatch.filter
    - colorama.AnsiToWin32
    - werkzeug._reloader.ReloaderLoop.trigger_reload
    - werkzeug._reloader._iter_module_paths
    - message.rstrip
    - logger.getEffectiveLevel
    - itertools.chain
    - werkzeug._reloader._find_stat_paths
    - <builtin>.list
    - logging.getLogger
    - werkzeug._reloader._remove_by_pattern
    - name.endswith
    - name.startswith
    - paths.add
    - sys.exit
    - paths.update
    - werkzeug._reloader.ReloaderLoop.log_reload
    - werkzeug._internal._log
    - dirs.clear
    - <builtin>.getattr
    - sys.modules.values
    - werkzeug._internal._has_level_handler
    - <builtin>.any
    - os.stat
    - root.startswith
    - os.walk
    - werkzeug._internal._ColorStreamHandler.__init__
    - _logger.setLevel
    - os.path.basename
    - os.path.dirname
    - <builtin>.set
    - <builtin>.super
    - os.path.join
    - os.path.abspath
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 305
    functionName: werkzeug._reloader.WatchdogReloaderLoop.__init__
    functionSourceFile: werkzeug._reloader
    functionUses: 0
    functionsReached:
    - os.path.isdir
    - watchdog.observers.Observer
    - <builtin>.super
    - watchdog.observers.Observer.__name__.lower
    - watchdog.events.PatternMatchingEventHandler.__init__
    - reloader_name.endswith
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - event
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 313
    functionName: werkzeug._reloader.WatchdogReloaderLoop.__init__.EventHandler.on_any_event
    functionSourceFile: werkzeug._reloader
    functionUses: 0
    functionsReached:
    - logger.getEffectiveLevel
    - werkzeug._reloader.ReloaderLoop.log_reload
    - werkzeug._internal._ColorStreamHandler.__init__
    - _logger.addHandler
    - logging.getLogger
    - werkzeug._internal._log
    - _logger.setLevel
    - werkzeug._reloader.WatchdogReloaderLoop.trigger_reload
    - os.path.abspath
    - <builtin>.super
    - <builtin>.getattr
    - werkzeug._internal._has_level_handler
    - <builtin>.any
    - colorama.AnsiToWin32
    - message.rstrip
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - filename
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 338
    functionName: werkzeug._reloader.WatchdogReloaderLoop.trigger_reload
    functionSourceFile: werkzeug._reloader
    functionUses: 1
    functionsReached:
    - logger.getEffectiveLevel
    - werkzeug._reloader.ReloaderLoop.log_reload
    - werkzeug._internal._ColorStreamHandler.__init__
    - _logger.addHandler
    - logging.getLogger
    - werkzeug._internal._log
    - _logger.setLevel
    - os.path.abspath
    - <builtin>.super
    - <builtin>.getattr
    - werkzeug._internal._has_level_handler
    - <builtin>.any
    - colorama.AnsiToWin32
    - message.rstrip
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: watchdog.observers.Observer.__name__.lower
    functionSourceFile: watchdog
    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: reloader_name.endswith
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: watchdog.observers.Observer
    functionSourceFile: watchdog
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: os.path.isdir
    functionSourceFile: os
    functionUses: 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: watchdog.events.PatternMatchingEventHandler.__init__
    functionSourceFile: ''
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 345
    functionName: werkzeug._reloader.WatchdogReloaderLoop.__enter__
    functionSourceFile: werkzeug._reloader
    functionUses: 0
    functionsReached:
    - watchdog.observers.Observer.start
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: watchdog.observers.Observer.start
    functionSourceFile: watchdog
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - exc_type
    - exc_val
    - exc_tb
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 350
    functionName: werkzeug._reloader.WatchdogReloaderLoop.__exit__
    functionSourceFile: werkzeug._reloader
    functionUses: 0
    functionsReached:
    - watchdog.observers.Observer.stop
    - watchdog.observers.Observer.join
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: watchdog.observers.Observer.stop
    functionSourceFile: watchdog
    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: watchdog.observers.Observer.join
    functionSourceFile: watchdog
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 3
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 354
    functionName: werkzeug._reloader.WatchdogReloaderLoop.run
    functionSourceFile: werkzeug._reloader
    functionUses: 0
    functionsReached:
    - werkzeug._reloader._find_common_roots
    - os.path.isfile
    - paths.difference_update
    - fnmatch.filter
    - werkzeug._reloader._find_common_roots._walk
    - watchdog.observers.Observer.unschedule
    - node.clear
    - werkzeug._reloader._iter_module_paths
    - itertools.chain
    - werkzeug._reloader._find_watchdog_paths
    - <builtin>.list
    - time.sleep
    - pathlib.PurePath
    - rv.add
    - node.items
    - werkzeug._reloader._remove_by_pattern
    - node.setdefault
    - name.startswith
    - <builtin>.sorted
    - sys.exit
    - watchdog.observers.Observer.schedule
    - werkzeug._reloader.WatchdogReloaderLoop.run_step
    - <builtin>.getattr
    - sys.modules.values
    - to_delete.discard
    - os.path.dirname
    - <builtin>.set
    - dirs.add
    - os.path.join
    - os.path.abspath
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 361
    functionName: werkzeug._reloader.WatchdogReloaderLoop.run_step
    functionSourceFile: werkzeug._reloader
    functionUses: 1
    functionsReached:
    - werkzeug._reloader._find_common_roots
    - os.path.isfile
    - paths.difference_update
    - fnmatch.filter
    - werkzeug._reloader._find_common_roots._walk
    - watchdog.observers.Observer.unschedule
    - node.clear
    - werkzeug._reloader._iter_module_paths
    - itertools.chain
    - werkzeug._reloader._find_watchdog_paths
    - <builtin>.list
    - pathlib.PurePath
    - rv.add
    - node.items
    - werkzeug._reloader._remove_by_pattern
    - node.setdefault
    - name.startswith
    - <builtin>.sorted
    - watchdog.observers.Observer.schedule
    - <builtin>.getattr
    - sys.modules.values
    - to_delete.discard
    - os.path.dirname
    - <builtin>.set
    - dirs.add
    - os.path.join
    - os.path.abspath
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: watchdog.observers.Observer.schedule
    functionSourceFile: watchdog
    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: to_delete.discard
    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: watchdog.observers.Observer.unschedule
    functionSourceFile: watchdog
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    IfCount: 2
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 398
    functionName: werkzeug._reloader.ensure_echo_on
    functionSourceFile: werkzeug._reloader
    functionUses: 5
    functionsReached:
    - termios.tcgetattr
    - sys.stdin.isatty
    - termios.tcsetattr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: sys.stdin.isatty
    functionSourceFile: sys
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: termios.tcgetattr
    functionSourceFile: termios
    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: termios.tcsetattr
    functionSourceFile: termios
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: werkzeug._reloader.run_with_reloader.<lambda1>
    functionSourceFile: werkzeug._reloader
    functionUses: 0
    functionsReached:
    - sys.exit
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: signal.signal
    functionSourceFile: signal
    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: threading.Thread
    functionSourceFile: threading
    functionUses: 10
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: t.start
    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: reloader.run
    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: reloader.restart_with_reloader
    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: werkzeug.debug
    functionSourceFile: werkzeug.debug
    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:
    - pin
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 38
    functionName: werkzeug.debug.hash_pin
    functionSourceFile: werkzeug.debug
    functionUses: 5
    functionsReached:
    - hashlib.sha1
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 45
    functionName: werkzeug.debug.get_machine_id
    functionSourceFile: werkzeug.debug
    functionUses: 3
    functionsReached:
    - re.search
    - winreg.OpenKey
    - guid.encode
    - subprocess.Popen.communicate
    - f.readline
    - match.group
    - <builtin>.open
    - subprocess.Popen
    - werkzeug.debug.get_machine_id._generate
    - winreg.QueryValueEx
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 0
    IfCount: 5
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 51
    functionName: werkzeug.debug.get_machine_id._generate
    functionSourceFile: werkzeug.debug
    functionUses: 4
    functionsReached:
    - re.search
    - winreg.OpenKey
    - guid.encode
    - subprocess.Popen.communicate
    - f.readline
    - match.group
    - <builtin>.open
    - subprocess.Popen
    - winreg.QueryValueEx
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: f.readline
    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: subprocess.Popen
    functionSourceFile: subprocess
    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: subprocess.Popen.communicate
    functionSourceFile: subprocess
    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: re.search
    functionSourceFile: re
    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: winreg.OpenKey
    functionSourceFile: winreg
    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: winreg.QueryValueEx
    functionSourceFile: winreg
    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: guid.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: 2
    argDefaultValues: []
    argNames:
    - self
    - namespace
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 127
    functionName: werkzeug.debug._ConsoleFrame.__init__
    functionSourceFile: werkzeug.debug
    functionUses: 2
    functionsReached:
    - werkzeug.debug.console._InteractiveConsole.__init__
    - werkzeug.debug.console._ConsoleLoader.__init__
    - werkzeug.debug.console.Console.__init__
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - code
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 131
    functionName: werkzeug.debug._ConsoleFrame.eval
    functionSourceFile: werkzeug.debug
    functionUses: 0
    functionsReached:
    - werkzeug.debug.console.ThreadedStream.push
    - source.rstrip
    - typing.cast
    - code.InteractiveInterpreter.buffer.append
    - werkzeug.debug.console.ThreadedStream.fetch
    - <builtin>.isinstance
    - werkzeug.debug.console.HTMLStringO.__init__
    - html.escape
    - <builtin>.super
    - werkzeug.debug.console.Console.eval
    - werkzeug.debug.console._InteractiveConsole.runsource
    - werkzeug.debug.console.HTMLStringO.reset
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 12
    ICount: 4
    IfCount: 8
    argCount: 1
    argDefaultValues: []
    argNames:
    - app
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 135
    functionName: werkzeug.debug.get_pin_and_cookie_name
    functionSourceFile: werkzeug.debug
    functionUses: 2
    functionsReached:
    - re.search
    - f.readline
    - match.group
    - subprocess.Popen
    - <builtin>.len
    - itertools.chain
    - winreg.OpenKey
    - guid.encode
    - getpass.getuser
    - uuid.getnode
    - werkzeug.debug.get_machine_id
    - <builtin>.str
    - <builtin>.int
    - sys.modules.get
    - h.hexdigest
    - werkzeug.debug.get_machine_id._generate
    - itertools.chain.encode
    - <builtin>.getattr
    - winreg.QueryValueEx
    - <builtin>.type
    - typing.cast
    - subprocess.Popen.communicate
    - <builtin>.isinstance
    - pin.replace
    - <builtin>.open
    - <builtin>.range
    - hashlib.sha1
    - h.update
    - os.environ.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: pin.replace
    functionSourceFile: <builtin>
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: getpass.getuser
    functionSourceFile: getpass
    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: sys.modules.get
    functionSourceFile: sys
    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: uuid.getnode
    functionSourceFile: uuid
    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: itertools.chain.encode
    functionSourceFile: itertools
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: h.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: h.hexdigest
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - value
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 294
    functionName: werkzeug.debug.DebuggedApplication.pin
    functionSourceFile: werkzeug.debug
    functionUses: 0
    functionsReached:
    - re.search
    - f.readline
    - match.group
    - subprocess.Popen
    - <builtin>.hasattr
    - <builtin>.len
    - itertools.chain
    - winreg.OpenKey
    - guid.encode
    - getpass.getuser
    - werkzeug.debug.get_pin_and_cookie_name
    - uuid.getnode
    - werkzeug.debug.get_machine_id
    - <builtin>.str
    - <builtin>.int
    - sys.modules.get
    - h.hexdigest
    - werkzeug.debug.get_machine_id._generate
    - itertools.chain.encode
    - <builtin>.getattr
    - winreg.QueryValueEx
    - <builtin>.type
    - typing.cast
    - subprocess.Popen.communicate
    - <builtin>.isinstance
    - pin.replace
    - <builtin>.open
    - <builtin>.range
    - hashlib.sha1
    - h.update
    - os.environ.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 298
    functionName: werkzeug.debug.DebuggedApplication.pin_cookie_name
    functionSourceFile: werkzeug.debug
    functionUses: 0
    functionsReached:
    - re.search
    - f.readline
    - match.group
    - subprocess.Popen
    - <builtin>.hasattr
    - <builtin>.len
    - itertools.chain
    - winreg.OpenKey
    - guid.encode
    - getpass.getuser
    - werkzeug.debug.get_pin_and_cookie_name
    - uuid.getnode
    - werkzeug.debug.get_machine_id
    - <builtin>.str
    - <builtin>.int
    - sys.modules.get
    - h.hexdigest
    - werkzeug.debug.get_machine_id._generate
    - itertools.chain.encode
    - <builtin>.getattr
    - winreg.QueryValueEx
    - <builtin>.type
    - typing.cast
    - subprocess.Popen.communicate
    - <builtin>.isinstance
    - pin.replace
    - <builtin>.open
    - <builtin>.range
    - hashlib.sha1
    - h.update
    - os.environ.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    IfCount: 2
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - environ
    - start_response
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 10
    functionLinenumber: 305
    functionName: werkzeug.debug.DebuggedApplication.debug_application
    functionSourceFile: werkzeug.debug
    functionUses: 1
    functionsReached:
    - itertools.islice
    - http.server.BaseHTTPRequestHandler.path.fragment.encode
    - werkzeug.debug.tbtools.DebugFrameSummary.__init__
    - werkzeug.routing.Rule.compile
    - traceback.walk_tb
    - header.get
    - _quote_re.search
    - werkzeug.testapp.render_testapp
    - werkzeug.routing._pythonize
    - werkzeug.routing.Map.__init__
    - flask.cli.DispatchingApp._load_unlocked
    - dict.__init__
    - ast.Load
    - <builtin>.dict
    - typing.NamedTuple.query.decode
    - <builtin>.next
    - flask.scaffold.find_package
    - path.relative_to
    - os.path.normpath
    - re.compile
    - val.split
    - werkzeug.debug.tbtools.DebugTraceback.render_traceback_text
    - typing.NamedTuple.fragment.decode
    - dict.__getitem__
    - http.server.BaseHTTPRequestHandler.path.query.encode
    - werkzeug._internal._decode_idna
    - werkzeug.http.parse_cookie
    - os.getcwd
    - pathlib.Path
    - body.append
    - werkzeug.debug.tbtools.DebugTraceback.__init__
    - flask.config.Config.__init__
    - werkzeug.testapp.test_app
    - werkzeug.urls.BaseURL.decode_netloc
    - result.append
    - flask.app.Flask.add_url_rule
    - typing.NamedTuple.encode
    - werkzeug.wrappers.request.Request.__init__
    - <builtin>.exec
    - werkzeug.datastructures.MultiDict.__init__
    - <builtin>.str
    - flask.scaffold._path_is_relative_to
    - <builtin>.int
    - re.finditer
    - werkzeug._internal._log
    - werkzeug._internal._decode_idna.decode_part
    - <builtin>.frozenset
    - provider.get_resource_reader
    - werkzeug._internal._has_level_handler
    - d.lists
    - <builtin>.any
    - o_match.start
    - typing.NamedTuple.fragment.encode
    - ast.parse
    - os.path.expanduser
    - pkgutil.get_loader
    - header.encode
    - threading.Lock
    - typing.NamedTuple.path.encode
    - flask.app.Flask.auto_find_instance_path
    - werkzeug.routing.Rule.compile._build_regex
    - dict.items
    - flask.app.Flask.__init__
    - safe.encode
    - werkzeug.datastructures.MultiDict.lists
    - x.startswith
    - ast.Str
    - click.get_current_context
    - req.environ.items
    - <builtin>.super
    - <builtin>.set
    - hashlib.sha1
    - datetime.datetime.now
    - flask.app.Flask.make_config
    - <builtin>.id
    - ret.append
    - os.path.abspath
    - werkzeug.datastructures.OrderedMultiDict.getlist
    - required_methods.add
    - time.time
    - werkzeug._internal._to_bytes
    - werkzeug.routing.parse_converter_args
    - f.f_locals.get
    - traceback.TracebackException.from_exception
    - <builtin>.zip
    - html.escape.splitlines
    - d.items
    - colorama.AnsiToWin32
    - row_parts.append
    - werkzeug.urls.BytesURL.decode
    - folder.lower
    - import_name.partition
    - logger.getEffectiveLevel
    - _octal_re.search
    - flask.cli.DispatchingApp._load_in_background
    - flask.scaffold._find_package_path
    - <builtin>.list
    - werkzeug.datastructures.CombinedMultiDict.items
    - typing.NamedTuple.query.encode
    - <builtin>.reversed
    - frame.render_html
    - werkzeug.debug.hash_pin
    - logging.getLogger
    - werkzeug.datastructures.CombinedMultiDict.lists
    - werkzeug.routing.Rule.get_converter
    - pathlib.PurePath
    - rows.append
    - args.append
    - flask.scaffold._endpoint_from_view_func
    - <builtin>.issubclass
    - secrets.choice
    - werkzeug.wrappers.response.Response.__init__
    - <builtin>.sorted
    - rv.append
    - <builtin>.iter
    - werkzeug.testapp.iter_sys_path
    - ast.Return
    - werkzeug.routing.Rule._compile_builder._parts
    - domain.encode
    - ast.JoinedStr
    - unsafe.encode
    - m.end
    - domain.split
    - werkzeug.datastructures.ImmutableDict.copy
    - environ.get
    - part.decode
    - _CALL_CONVERTER_CODE_FMT.format
    - tmp.setdefault
    - werkzeug.routing.Rule._compile_builder._join
    - options.pop
    - <builtin>.type
    - werkzeug.urls.URL.encode
    - threading.Thread
    - part.startswith
    - found.add
    - <builtin>.bytes
    - werkzeug._internal._cookie_parse_impl
    - http.server.BaseHTTPRequestHandler.path.encode
    - werkzeug.testapp.iter_sys_path.strip
    - func_ast.args.args.append
    - werkzeug.datastructures.OrderedMultiDict.items
    - werkzeug.datastructures.EnvironHeaders.__init__
    - _cookie_re.search
    - werkzeug.datastructures.MultiDict.items
    - werkzeug.routing.Rule._compile_builder
    - werkzeug.debug.tbtools._process_traceback
    - <builtin>.tuple
    - flask.helpers.get_env
    - flask.scaffold._matching_loader_thinks_module_is_package
    - werkzeug.routing.parse_rule
    - werkzeug.http.parse_cookie._parse_pairs
    - match.end
    - ast.arg
    - werkzeug.middleware.shared_data.SharedDataMiddleware.get_file_loader
    - app_iter.close
    - os.path.split
    - _logger.addHandler
    - match.group
    - <builtin>.hasattr
    - ts.isdigit
    - <builtin>.len
    - loader.is_package
    - ast.Name
    - rv.extend
    - flask.cli.DispatchingApp.__init__
    - wsgi_env.append
    - re.sub
    - rv.setdefault
    - m.groupdict
    - werkzeug.urls.BytesURL.encode_netloc
    - werkzeug.security.gen_salt
    - ast.walk
    - value.encode
    - threading.Thread.start
    - typing.NamedTuple.__init__
    - werkzeug.datastructures.OrderedMultiDict.lists
    - textwrap.wrap
    - func_ast.args.defaults.append
    - <builtin>.sum
    - class_.append
    - weakref.ref
    - rv.items
    - string.startswith
    - werkzeug.routing.Rule._get_func_code
    - <builtin>.getattr
    - werkzeug.debug.tbtools.DebugTraceback.render_debugger_html
    - typing.NamedTuple.path.decode
    - ast.Tuple
    - opl.append
    - new_stack.append
    - werkzeug._internal._ColorStreamHandler.__init__
    - werkzeug.routing.Rule.bind
    - _logger.setLevel
    - werkzeug.urls.BaseURL.encode_netloc
    - item.upper
    - os.path.basename
    - os.path.join
    - site_folder.lower
    - importlib.util.find_spec
    - exports.items
    - used_names.add
    - os.path.isabs
    - <builtin>.bytearray
    - werkzeug._internal._to_str
    - x.upper
    - os.path.isfile
    - typing.NamedTuple.scheme.decode
    - importlib.import_module
    - <builtin>.repr
    - werkzeug.routing.Rule._compile_builder._convert
    - http.server.BaseHTTPRequestHandler.path.decode
    - python_eggs.append
    - werkzeug._internal._cookie_unquote
    - <builtin>.bool
    - message.rstrip
    - werkzeug.routing._prefix_names
    - werkzeug.routing.Map.add
    - werkzeug.routing.Rule.get_rules
    - werkzeug.debug.DebuggedApplication.__init__
    - typing.NamedTuple.decode
    - _converter_args_re.finditer
    - q_match.start
    - werkzeug.middleware.shared_data.SharedDataMiddleware.get_directory_loader
    - loader.get_filename
    - werkzeug._internal._wsgi_decoding_dance
    - os.path.commonpath
    - url_parts.extend
    - s.encode
    - regex_parts.append
    - sys_path.append
    - item.group
    - werkzeug.debug.DebuggedApplication.check_pin_trust
    - werkzeug.middleware.shared_data.SharedDataMiddleware.__init__
    - returned_keys.add
    - string.endswith
    - werkzeug.wrappers.response.Response.set_data
    - werkzeug.wsgi._get_server
    - flask.helpers.get_debug_flag
    - typing.cast
    - methods.add
    - werkzeug.routing.Rule.__init__
    - os.path.isdir
    - <builtin>.isinstance
    - <builtin>.filter
    - re.escape
    - typing.NamedTuple.scheme.encode
    - html.escape
    - <builtin>.range
    - os.path.dirname
    - werkzeug.urls.url_quote
    - werkzeug.middleware.shared_data.SharedDataMiddleware.get_package_loader
    - os.environ.get
    - val.lower
    - werkzeug.debug.tbtools.DebugTraceback.render_traceback_html
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: app_iter.close
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 1
    IfCount: 4
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - environ
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 8
    functionLinenumber: 388
    functionName: werkzeug.debug.DebuggedApplication.check_pin_trust
    functionSourceFile: werkzeug.debug
    functionUses: 4
    functionsReached:
    - werkzeug.http.parse_cookie._parse_pairs
    - werkzeug.datastructures.OrderedMultiDict.getlist
    - match.end
    - werkzeug._internal._to_str
    - time.time
    - <builtin>.bytearray
    - header.get
    - _quote_re.search
    - typing.NamedTuple.scheme.decode
    - match.group
    - ts.isdigit
    - http.server.BaseHTTPRequestHandler.path.decode
    - dict.__init__
    - <builtin>.len
    - d.items
    - werkzeug.urls.BytesURL.decode
    - typing.NamedTuple.query.decode
    - werkzeug._internal._cookie_unquote
    - rv.extend
    - rv.setdefault
    - _octal_re.search
    - typing.NamedTuple.fragment.decode
    - val.split
    - werkzeug.datastructures.CombinedMultiDict.items
    - <builtin>.list
    - typing.NamedTuple.decode
    - werkzeug.debug.hash_pin
    - dict.__getitem__
    - werkzeug.http.parse_cookie
    - werkzeug._internal._decode_idna
    - q_match.start
    - typing.NamedTuple.__init__
    - werkzeug.datastructures.CombinedMultiDict.lists
    - werkzeug.datastructures.OrderedMultiDict.lists
    - werkzeug.urls.BaseURL.decode_netloc
    - result.append
    - rv.append
    - werkzeug.datastructures.MultiDict.__init__
    - <builtin>.str
    - rv.items
    - <builtin>.int
    - domain.encode
    - werkzeug._internal._decode_idna.decode_part
    - domain.split
    - returned_keys.add
    - part.decode
    - d.lists
    - o_match.start
    - typing.NamedTuple.path.decode
    - tmp.setdefault
    - header.encode
    - found.add
    - dict.items
    - <builtin>.bytes
    - werkzeug.datastructures.MultiDict.lists
    - <builtin>.isinstance
    - werkzeug._internal._cookie_parse_impl
    - <builtin>.filter
    - werkzeug.datastructures.OrderedMultiDict.items
    - <builtin>.set
    - hashlib.sha1
    - _cookie_re.search
    - werkzeug.datastructures.MultiDict.items
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - request
    - command
    - frame
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 347
    functionName: werkzeug.debug.DebuggedApplication.execute_command
    functionSourceFile: werkzeug.debug
    functionUses: 1
    functionsReached:
    - werkzeug.wrappers.response.Response.__init__
    - <builtin>.str
    - <builtin>.bytes
    - <builtin>.isinstance
    - frame.eval
    - value.encode
    - <builtin>.super
    - <builtin>.len
    - werkzeug.wrappers.response.Response.set_data
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: frame.eval
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - request
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 9
    functionLinenumber: 356
    functionName: werkzeug.debug.DebuggedApplication.display_console
    functionSourceFile: werkzeug.debug
    functionUses: 1
    functionsReached:
    - werkzeug.http.parse_cookie._parse_pairs
    - werkzeug.debug.console._InteractiveConsole.__init__
    - match.end
    - werkzeug._internal._to_str
    - ns.setdefault
    - time.time
    - header.get
    - werkzeug.datastructures.OrderedMultiDict.getlist
    - <builtin>.bytearray
    - werkzeug.debug.console._ConsoleLoader.__init__
    - typing.NamedTuple.scheme.decode
    - _quote_re.search
    - match.group
    - ts.isdigit
    - http.server.BaseHTTPRequestHandler.path.decode
    - <builtin>.len
    - dict.__init__
    - d.items
    - <builtin>.dict
    - werkzeug.urls.BytesURL.decode
    - <builtin>.bool
    - typing.NamedTuple.query.decode
    - werkzeug._internal._cookie_unquote
    - rv.extend
    - werkzeug.debug.console.Console.__init__
    - rv.setdefault
    - _octal_re.search
    - typing.NamedTuple.fragment.decode
    - val.split
    - werkzeug.datastructures.CombinedMultiDict.items
    - <builtin>.list
    - typing.NamedTuple.decode
    - werkzeug.debug.hash_pin
    - dict.__getitem__
    - werkzeug.http.parse_cookie
    - value.encode
    - werkzeug._internal._decode_idna
    - typing.NamedTuple.__init__
    - werkzeug.datastructures.CombinedMultiDict.lists
    - q_match.start
    - werkzeug.debug._ConsoleFrame.__init__
    - werkzeug.datastructures.OrderedMultiDict.lists
    - werkzeug.urls.BaseURL.decode_netloc
    - result.append
    - werkzeug.wrappers.response.Response.__init__
    - werkzeug.debug.tbtools.render_console_html
    - rv.append
    - werkzeug.datastructures.MultiDict.__init__
    - <builtin>.str
    - rv.items
    - <builtin>.int
    - domain.encode
    - werkzeug.debug.DebuggedApplication.check_pin_trust
    - werkzeug._internal._decode_idna.decode_part
    - domain.split
    - returned_keys.add
    - part.decode
    - d.lists
    - o_match.start
    - typing.NamedTuple.path.decode
    - tmp.setdefault
    - werkzeug.wrappers.response.Response.set_data
    - header.encode
    - found.add
    - dict.items
    - <builtin>.bytes
    - werkzeug.datastructures.MultiDict.lists
    - <builtin>.isinstance
    - werkzeug._internal._cookie_parse_impl
    - <builtin>.filter
    - werkzeug.datastructures.OrderedMultiDict.items
    - <builtin>.super
    - <builtin>.set
    - hashlib.sha1
    - _cookie_re.search
    - werkzeug.datastructures.MultiDict.items
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: ns.setdefault
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - request
    - filename
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 8
    functionLinenumber: 371
    functionName: werkzeug.debug.DebuggedApplication.get_resource
    functionSourceFile: werkzeug.debug
    functionUses: 1
    functionsReached:
    - http.server.BaseHTTPRequestHandler.path.fragment.encode
    - <builtin>.enumerate
    - value.decode
    - werkzeug.datastructures.Headers._validate_value
    - http.server.BaseHTTPRequestHandler.path.query.encode
    - typing.NamedTuple.encode
    - <builtin>.str
    - <builtin>.int
    - <builtin>.frozenset
    - options.items
    - typing.NamedTuple.fragment.encode
    - werkzeug.http.quote_header_value
    - typing.NamedTuple.path.encode
    - io.BytesIO.close
    - dict.items
    - safe.encode
    - rv.headers.pop
    - <builtin>.super
    - <builtin>.set
    - os.path.abspath
    - time.time
    - d.items
    - kw.items
    - io.BytesIO.getbuffer
    - mimetypes.guess_type
    - old_key.lower
    - path.encode
    - typing.NamedTuple.query.encode
    - werkzeug.datastructures.CombinedMultiDict.items
    - value.replace
    - werkzeug.datastructures._unicodify_header_value
    - segments.append
    - werkzeug.wrappers.response.Response.__init__
    - rv.append
    - <builtin>.iter
    - _key.lower
    - unsafe.encode
    - environ.get
    - os.stat
    - found.add
    - <builtin>.bytes
    - http.server.BaseHTTPRequestHandler.path.encode
    - werkzeug.datastructures.OrderedMultiDict.items
    - werkzeug.datastructures.iter_multi_items
    - werkzeug.datastructures.MultiDict.items
    - werkzeug.http.dump_options_header
    - <builtin>.hasattr
    - werkzeug.datastructures.Headers.extend
    - <builtin>.len
    - io.BytesIO
    - simple.encode
    - rv.extend
    - werkzeug.urls.BytesURL.encode_netloc
    - zlib.adler32
    - value.encode
    - typing.NamedTuple.__init__
    - k.replace
    - rv.set_etag
    - unicodedata.normalize
    - werkzeug.utils.send_file
    - <builtin>.callable
    - werkzeug.urls.BaseURL.encode_netloc
    - <builtin>.open
    - os.path.basename
    - os.path.join
    - werkzeug.datastructures.Headers.add
    - <builtin>.bytearray
    - werkzeug.exceptions.HTTPException.__init__
    - werkzeug.wsgi.wrap_file
    - rv.make_conditional
    - download_name.encode
    - returned_keys.add
    - werkzeug.datastructures._options_header_vkw
    - werkzeug.datastructures.Headers.__init__
    - werkzeug.datastructures.Headers.set
    - werkzeug.wrappers.response.Response.set_data
    - typing.cast
    - typing.NamedTuple.scheme.encode
    - <builtin>.isinstance
    - <builtin>.filter
    - werkzeug.urls.url_quote
    - pkgutil.get_data
    - werkzeug.urls.URL.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: pkgutil.get_data
    functionSourceFile: pkgutil
    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: val.split
    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: ts.isdigit
    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:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 406
    functionName: werkzeug.debug.DebuggedApplication._fail_pin_auth
    functionSourceFile: werkzeug.debug
    functionUses: 2
    functionsReached:
    - time.sleep
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 9
    ICount: 5
    IfCount: 6
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - request
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 9
    functionLinenumber: 410
    functionName: werkzeug.debug.DebuggedApplication.pin_auth
    functionSourceFile: werkzeug.debug
    functionUses: 1
    functionsReached:
    - http.server.BaseHTTPRequestHandler.path.fragment.encode
    - email.utils.format_datetime
    - header.get
    - _quote_re.search
    - p.encode
    - samesite.title
    - dict.__init__
    - typing.NamedTuple.query.decode
    - datetime.datetime.combine
    - value.decode
    - json.dumps
    - werkzeug.datastructures.Headers._validate_value
    - werkzeug._internal._make_encode_wrapper.<lambda1>
    - val.split
    - typing.NamedTuple.fragment.decode
    - dict.__getitem__
    - http.server.BaseHTTPRequestHandler.path.query.encode
    - werkzeug._internal._decode_idna
    - werkzeug.http.parse_cookie
    - werkzeug.urls.BaseURL.decode_netloc
    - result.append
    - typing.NamedTuple.encode
    - warnings.warn
    - werkzeug.datastructures.MultiDict.__init__
    - <builtin>.str
    - <builtin>.int
    - max_age.total_seconds
    - werkzeug._internal._decode_idna.decode_part
    - <builtin>.frozenset
    - options.items
    - http.server.BaseHTTPRequestHandler.path.find
    - <builtin>.min
    - d.lists
    - <builtin>.any
    - typing.NamedTuple.fragment.encode
    - o_match.start
    - werkzeug.http.quote_header_value
    - header.encode
    - typing.NamedTuple.path.encode
    - dict.items
    - safe.encode
    - werkzeug.datastructures.MultiDict.lists
    - time.mktime
    - http.server.BaseHTTPRequestHandler.path.encode_netloc
    - email.utils.formatdate
    - <builtin>.super
    - <builtin>.set
    - datetime.datetime.now
    - hashlib.sha1
    - werkzeug.datastructures.OrderedMultiDict.getlist
    - time.time
    - werkzeug._internal._to_bytes
    - werkzeug.urls.iri_to_uri
    - werkzeug._internal._encode_idna
    - d.items
    - kw.items
    - werkzeug.urls.url_unparse
    - werkzeug.urls.BytesURL.decode
    - _octal_re.search
    - werkzeug._internal._make_cookie_domain
    - typing.NamedTuple.query.encode
    - werkzeug.datastructures.CombinedMultiDict.items
    - <builtin>.list
    - werkzeug.debug.hash_pin
    - time.sleep
    - werkzeug.http.http_date
    - value.replace
    - werkzeug.datastructures.CombinedMultiDict.lists
    - werkzeug.datastructures._unicodify_header_value
    - path.startswith
    - datetime.time
    - segments.append
    - werkzeug.wrappers.response.Response.__init__
    - rv.append
    - _scheme_re.match
    - domain.encode
    - unsafe.encode
    - domain.split
    - werkzeug.http.dump_cookie
    - part.decode
    - tmp.setdefault
    - werkzeug._internal._cookie_quote
    - werkzeug.sansio.response.Response.delete_cookie
    - found.add
    - <builtin>.bytes
    - operator.methodcaller
    - werkzeug._internal._cookie_parse_impl
    - http.server.BaseHTTPRequestHandler.path.encode
    - werkzeug.datastructures.OrderedMultiDict.items
    - _cookie_re.search
    - werkzeug.datastructures.MultiDict.items
    - werkzeug.http.parse_cookie._parse_pairs
    - match.end
    - werkzeug.http.dump_options_header
    - werkzeug._internal._check_str_tuple
    - match.group
    - ts.isdigit
    - <builtin>.len
    - rv.extend
    - werkzeug.debug.DebuggedApplication._fail_pin_auth
    - rv.setdefault
    - buf.append
    - werkzeug.urls.BytesURL.encode_netloc
    - value.encode
    - typing.NamedTuple.__init__
    - werkzeug.datastructures.OrderedMultiDict.lists
    - time.mktime.replace
    - k.replace
    - typing.NamedTuple.split
    - rv.items
    - http.server.BaseHTTPRequestHandler.path.split
    - typing.NamedTuple.path.decode
    - werkzeug._internal._dt_as_utc
    - werkzeug.urls.BaseURL.encode_netloc
    - pin.replace
    - entered_pin.strip
    - werkzeug._internal._make_encode_wrapper
    - werkzeug.datastructures.Headers.add
    - <builtin>.bytearray
    - werkzeug._internal._to_str
    - typing.NamedTuple.scheme.decode
    - http.server.BaseHTTPRequestHandler.path.decode
    - werkzeug._internal._cookie_unquote
    - werkzeug.sansio.response.Response.set_cookie
    - typing.NamedTuple.decode
    - q_match.start
    - time.mktime.astimezone
    - typing.NamedTuple.find
    - werkzeug.debug.DebuggedApplication.check_pin_trust
    - returned_keys.add
    - werkzeug.datastructures._options_header_vkw
    - werkzeug.wrappers.response.Response.set_data
    - typing.cast
    - typing.NamedTuple.scheme.encode
    - <builtin>.isinstance
    - <builtin>.filter
    - werkzeug.urls.url_parse
    - werkzeug.urls.url_quote
    - werkzeug.urls.URL.encode
    - rv.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: entered_pin.strip
    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: json.dumps
    functionSourceFile: json
    functionUses: 11
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 461
    functionName: werkzeug.debug.DebuggedApplication.log_pin_request
    functionSourceFile: werkzeug.debug
    functionUses: 1
    functionsReached:
    - _logger.addHandler
    - <builtin>.len
    - colorama.AnsiToWin32
    - message.rstrip
    - logger.getEffectiveLevel
    - logging.getLogger
    - value.encode
    - werkzeug.wrappers.response.Response.__init__
    - <builtin>.str
    - werkzeug._internal._log
    - <builtin>.getattr
    - werkzeug._internal._has_level_handler
    - <builtin>.any
    - werkzeug.wrappers.response.Response.set_data
    - <builtin>.bytes
    - werkzeug._internal._ColorStreamHandler.__init__
    - <builtin>.isinstance
    - _logger.setLevel
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 9
    ICount: 1
    IfCount: 6
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - environ
    - start_response
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 11
    functionLinenumber: 470
    functionName: werkzeug.debug.DebuggedApplication.__call__
    functionSourceFile: werkzeug.debug
    functionUses: 0
    functionsReached:
    - traceback.walk_tb
    - header.get
    - <builtin>.enumerate
    - werkzeug.routing.Map.__init__
    - <builtin>.dict
    - json.dumps
    - werkzeug._internal._make_encode_wrapper.<lambda1>
    - dict.__getitem__
    - http.server.BaseHTTPRequestHandler.path.query.encode
    - werkzeug._internal._decode_idna
    - os.getcwd
    - result.append
    - warnings.warn
    - re.finditer
    - provider.get_resource_reader
    - werkzeug._internal._has_level_handler
    - d.lists
    - threading.Lock
    - werkzeug.routing.Rule.compile._build_regex
    - flask.app.Flask.auto_find_instance_path
    - time.mktime
    - flask.app.Flask.make_config
    - werkzeug.datastructures.OrderedMultiDict.getlist
    - werkzeug.urls.url_unparse
    - io.BytesIO.getbuffer
    - logger.getEffectiveLevel
    - werkzeug._internal._make_cookie_domain
    - werkzeug.datastructures.CombinedMultiDict.items
    - value.replace
    - datetime.time
    - secrets.choice
    - werkzeug.wrappers.response.Response.__init__
    - <builtin>.sorted
    - rv.append
    - _scheme_re.match
    - werkzeug.testapp.iter_sys_path
    - werkzeug.routing.Rule._compile_builder._parts
    - ast.JoinedStr
    - domain.split
    - _CALL_CONVERTER_CODE_FMT.format
    - <builtin>.type
    - threading.Thread
    - part.startswith
    - werkzeug.testapp.iter_sys_path.strip
    - func_ast.args.args.append
    - werkzeug.datastructures.OrderedMultiDict.items
    - werkzeug.routing.parse_rule
    - _logger.addHandler
    - match.group
    - werkzeug.debug.DebuggedApplication.display_console
    - <builtin>.len
    - ast.Name
    - werkzeug.debug.DebuggedApplication._fail_pin_auth
    - <builtin>.sum
    - k.replace
    - rv.items
    - http.server.BaseHTTPRequestHandler.path.split
    - <builtin>.getattr
    - werkzeug.debug.tbtools.DebugTraceback.render_debugger_html
    - werkzeug._internal._dt_as_utc
    - new_stack.append
    - werkzeug._internal._ColorStreamHandler.__init__
    - werkzeug.routing.Rule.bind
    - werkzeug.urls.BaseURL.encode_netloc
    - pin.replace
    - <builtin>.open
    - item.upper
    - importlib.import_module
    - werkzeug.routing.Rule._compile_builder._convert
    - http.server.BaseHTTPRequestHandler.path.decode
    - werkzeug.routing._prefix_names
    - werkzeug.debug.DebuggedApplication.__init__
    - typing.NamedTuple.decode
    - typing.NamedTuple.find
    - werkzeug.datastructures.Headers.__init__
    - typing.cast
    - werkzeug.routing.Rule.__init__
    - os.path.isdir
    - <builtin>.isinstance
    - werkzeug.middleware.shared_data.SharedDataMiddleware.get_package_loader
    - val.lower
    - traceback.TracebackException.from_exception
    - werkzeug.routing.Rule.compile
    - p.encode
    - samesite.title
    - werkzeug.routing._pythonize
    - flask.cli.DispatchingApp._load_unlocked
    - typing.NamedTuple.query.decode
    - value.decode
    - <builtin>.next
    - flask.scaffold.find_package
    - os.path.normpath
    - re.compile
    - werkzeug.debug.tbtools.DebugTraceback.render_traceback_text
    - body.append
    - werkzeug.http.parse_cookie
    - flask.app.Flask.add_url_rule
    - werkzeug._internal._log
    - options.items
    - <builtin>.min
    - typing.NamedTuple.fragment.encode
    - <builtin>.any
    - os.path.expanduser
    - pkgutil.get_loader
    - typing.NamedTuple.path.encode
    - flask.app.Flask.__init__
    - x.startswith
    - email.utils.formatdate
    - datetime.datetime.now
    - <builtin>.id
    - os.path.abspath
    - f.f_locals.get
    - werkzeug.routing.parse_converter_args
    - html.escape.splitlines
    - d.items
    - kw.items
    - row_parts.append
    - mimetypes.guess_type
    - old_key.lower
    - import_name.partition
    - flask.cli.DispatchingApp._load_in_background
    - werkzeug.debug.hash_pin
    - werkzeug.datastructures.CombinedMultiDict.lists
    - args.append
    - <builtin>.issubclass
    - segments.append
    - <builtin>.iter
    - _key.lower
    - m.end
    - options.pop
    - werkzeug._internal._cookie_quote
    - werkzeug.sansio.response.Response.delete_cookie
    - werkzeug.datastructures.EnvironHeaders.__init__
    - flask.helpers.get_env
    - werkzeug.middleware.shared_data.SharedDataMiddleware.get_file_loader
    - werkzeug._internal._check_str_tuple
    - ts.isdigit
    - io.BytesIO
    - loader.is_package
    - wsgi_env.append
    - re.sub
    - werkzeug.urls.BytesURL.encode_netloc
    - werkzeug.security.gen_salt
    - threading.Thread.start
    - werkzeug.debug._ConsoleFrame.__init__
    - werkzeug.datastructures.OrderedMultiDict.lists
    - time.mktime.replace
    - class_.append
    - typing.NamedTuple.split
    - string.startswith
    - werkzeug.routing.Rule._get_func_code
    - werkzeug.utils.send_file
    - ast.Tuple
    - <builtin>.callable
    - os.path.basename
    - exports.items
    - werkzeug.datastructures.Headers.add
    - werkzeug._internal._to_str
    - python_eggs.append
    - werkzeug.debug.console.Console.__init__
    - rv.make_conditional
    - werkzeug.routing.Map.add
    - werkzeug.middleware.shared_data.SharedDataMiddleware.get_directory_loader
    - time.mktime.astimezone
    - url_parts.extend
    - string.endswith
    - typing.NamedTuple.scheme.encode
    - re.escape
    - <builtin>.range
    - werkzeug.wrappers.request.Request.__init__
    - werkzeug.debug.tbtools.DebugTraceback.render_traceback_html
    - itertools.islice
    - werkzeug.testapp.render_testapp
    - werkzeug.debug.DebuggedApplication.pin_auth
    - ast.Load
    - frame.eval
    - pathlib.Path
    - werkzeug.debug.tbtools.DebugTraceback.__init__
    - werkzeug.testapp.test_app
    - werkzeug.urls.BaseURL.decode_netloc
    - typing.NamedTuple.encode
    - <builtin>.exec
    - <builtin>.str
    - werkzeug._internal._decode_idna.decode_part
    - <builtin>.frozenset
    - ast.parse
    - header.encode
    - io.BytesIO.close
    - click.get_current_context
    - req.environ.items
    - <builtin>.super
    - <builtin>.set
    - ret.append
    - werkzeug._internal._to_bytes
    - werkzeug.urls.iri_to_uri
    - werkzeug._internal._encode_idna
    - <builtin>.zip
    - colorama.AnsiToWin32
    - folder.lower
    - path.encode
    - flask.scaffold._find_package_path
    - <builtin>.list
    - <builtin>.reversed
    - logging.getLogger
    - frame.render_html
    - werkzeug.http.http_date
    - werkzeug.routing.Rule.get_converter
    - werkzeug.datastructures._unicodify_header_value
    - werkzeug.debug.DebuggedApplication.log_pin_request
    - path.startswith
    - flask.scaffold._endpoint_from_view_func
    - domain.encode
    - part.decode
    - werkzeug.routing.Rule._compile_builder._join
    - <builtin>.bytes
    - http.server.BaseHTTPRequestHandler.path.encode
    - werkzeug.routing.Rule._compile_builder
    - werkzeug.http.parse_cookie._parse_pairs
    - werkzeug.debug.console._InteractiveConsole.__init__
    - app_iter.close
    - simple.encode
    - rv.setdefault
    - buf.append
    - zlib.adler32
    - ast.walk
    - typing.NamedTuple.__init__
    - func_ast.args.defaults.append
    - werkzeug.debug.DebuggedApplication.get_resource
    - weakref.ref
    - rv.set_etag
    - typing.NamedTuple.path.decode
    - _logger.setLevel
    - importlib.util.find_spec
    - os.path.isabs
    - ns.setdefault
    - x.upper
    - typing.NamedTuple.scheme.decode
    - os.path.isfile
    - <builtin>.repr
    - werkzeug.exceptions.HTTPException.__init__
    - werkzeug.wsgi.wrap_file
    - message.rstrip
    - werkzeug.routing.Rule.get_rules
    - q_match.start
    - os.path.commonpath
    - download_name.encode
    - returned_keys.add
    - methods.add
    - werkzeug.urls.url_parse
    - os.path.dirname
    - os.environ.get
    - rv.decode
    - http.server.BaseHTTPRequestHandler.path.fragment.encode
    - email.utils.format_datetime
    - werkzeug.debug.tbtools.DebugFrameSummary.__init__
    - _quote_re.search
    - dict.__init__
    - datetime.datetime.combine
    - werkzeug.debug.DebuggedApplication.debug_application
    - werkzeug.datastructures.Headers._validate_value
    - path.relative_to
    - typing.NamedTuple.fragment.decode
    - val.split
    - flask.config.Config.__init__
    - werkzeug.datastructures.MultiDict.__init__
    - werkzeug.debug.DebuggedApplication.execute_command
    - <builtin>.int
    - flask.scaffold._path_is_relative_to
    - max_age.total_seconds
    - http.server.BaseHTTPRequestHandler.path.find
    - o_match.start
    - werkzeug.http.quote_header_value
    - dict.items
    - safe.encode
    - werkzeug.datastructures.MultiDict.lists
    - rv.headers.pop
    - ast.Str
    - http.server.BaseHTTPRequestHandler.path.encode_netloc
    - hashlib.sha1
    - required_methods.add
    - time.time
    - werkzeug.urls.BytesURL.decode
    - _octal_re.search
    - typing.NamedTuple.query.encode
    - time.sleep
    - pathlib.PurePath
    - rows.append
    - ast.Return
    - unsafe.encode
    - werkzeug.http.dump_cookie
    - werkzeug.datastructures.ImmutableDict.copy
    - environ.get
    - tmp.setdefault
    - os.stat
    - found.add
    - operator.methodcaller
    - werkzeug._internal._cookie_parse_impl
    - werkzeug.datastructures.iter_multi_items
    - _cookie_re.search
    - werkzeug.datastructures.MultiDict.items
    - werkzeug.debug.tbtools._process_traceback
    - <builtin>.tuple
    - ast.arg
    - flask.scaffold._matching_loader_thinks_module_is_package
    - match.end
    - werkzeug.http.dump_options_header
    - werkzeug.debug.console._ConsoleLoader.__init__
    - os.path.split
    - <builtin>.hasattr
    - werkzeug.datastructures.Headers.extend
    - rv.extend
    - flask.cli.DispatchingApp.__init__
    - m.groupdict
    - value.encode
    - textwrap.wrap
    - werkzeug.debug.tbtools.render_console_html
    - unicodedata.normalize
    - opl.append
    - entered_pin.strip
    - os.path.join
    - werkzeug._internal._make_encode_wrapper
    - site_folder.lower
    - used_names.add
    - <builtin>.bytearray
    - werkzeug._internal._cookie_unquote
    - <builtin>.bool
    - werkzeug.sansio.response.Response.set_cookie
    - loader.get_filename
    - werkzeug._internal._wsgi_decoding_dance
    - s.encode
    - regex_parts.append
    - sys_path.append
    - item.group
    - werkzeug.debug.DebuggedApplication.check_pin_trust
    - werkzeug.middleware.shared_data.SharedDataMiddleware.__init__
    - werkzeug.datastructures._options_header_vkw
    - werkzeug.datastructures.Headers.set
    - werkzeug.wrappers.response.Response.set_data
    - werkzeug.wsgi._get_server
    - flask.helpers.get_debug_flag
    - <builtin>.filter
    - html.escape
    - werkzeug.urls.url_quote
    - pkgutil.get_data
    - werkzeug.urls.URL.encode
    - _converter_args_re.finditer
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: werkzeug.wrappers.request
    functionSourceFile: werkzeug.wrappers.request
    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: kwargs.pop
    functionSourceFile: <builtin>
    functionUses: 32
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - cls
    - f
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 155
    functionName: werkzeug.wrappers.request.Request.application
    functionSourceFile: werkzeug.wrappers.request
    functionUses: 0
    functionsReached:
    - functools.wraps
    - typing.cast
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: functools.wraps
    functionSourceFile: functools
    functionUses: 13
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - args
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 183
    functionName: werkzeug.wrappers.request.Request.application.application
    functionSourceFile: werkzeug.wrappers.request
    functionUses: 0
    functionsReached:
    - werkzeug._internal._wsgi_decoding_dance
    - e.get_response
    - s.encode
    - environ.get
    - <builtin>.int
    - <builtin>.super
    - werkzeug.datastructures.EnvironHeaders.__init__
    - werkzeug.wrappers.request.Request.__init__
    - werkzeug.wsgi._get_server
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: e.get_response
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 5
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe47f0fd0>
    - <ast.Constant object at 0x7fcfe47f0430>
    argNames:
    - self
    - total_content_length
    - content_type
    - filename
    - content_length
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 194
    functionName: werkzeug.wrappers.request.Request._get_file_stream
    functionSourceFile: werkzeug.wrappers.request
    functionUses: 0
    functionsReached:
    - typing.cast
    - tempfile.SpooledTemporaryFile
    - tempfile.TemporaryFile
    - io.BytesIO
    - werkzeug.formparser.default_stream_factory
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe4636b50>
    argNames:
    - total_content_length
    - content_type
    - filename
    - content_length
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 58
    functionName: werkzeug.formparser.default_stream_factory
    functionSourceFile: werkzeug.formparser
    functionUses: 5
    functionsReached:
    - tempfile.TemporaryFile
    - io.BytesIO
    - tempfile.SpooledTemporaryFile
    - typing.cast
    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: 228
    functionName: werkzeug.wrappers.request.Request.want_form_data_parsed
    functionSourceFile: werkzeug.wrappers.request
    functionUses: 0
    functionsReached:
    - <builtin>.bool
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 236
    functionName: werkzeug.wrappers.request.Request.make_form_data_parser
    functionSourceFile: werkzeug.wrappers.request
    functionUses: 7
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 251
    functionName: werkzeug.wrappers.request.Request._load_form_data
    functionSourceFile: werkzeug.wrappers.request
    functionUses: 6
    functionsReached:
    - parser.parse
    - werkzeug.wrappers.request.Request.make_form_data_parser
    - werkzeug.wrappers.request.Request._get_stream_for_parsing
    - <builtin>.getattr
    - io.BytesIO
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 284
    functionName: werkzeug.wrappers.request.Request._get_stream_for_parsing
    functionSourceFile: werkzeug.wrappers.request
    functionUses: 7
    functionsReached:
    - io.BytesIO
    - <builtin>.getattr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: parser.parse
    functionSourceFile: <builtin>
    functionUses: 7
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 296
    functionName: werkzeug.wrappers.request.Request.close
    functionSourceFile: werkzeug.wrappers.request
    functionUses: 1
    functionsReached:
    - value.close
    - found.add
    - dict.items
    - werkzeug.datastructures.CombinedMultiDict.items
    - <builtin>.isinstance
    - werkzeug.datastructures.OrderedMultiDict.items
    - <builtin>.set
    - werkzeug.datastructures.iter_multi_items
    - returned_keys.add
    - d.items
    - werkzeug.datastructures.MultiDict.items
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: value.close
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 307
    functionName: werkzeug.wrappers.request.Request.__enter__
    functionSourceFile: werkzeug.wrappers.request
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - exc_type
    - exc_value
    - tb
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 310
    functionName: werkzeug.wrappers.request.Request.__exit__
    functionSourceFile: werkzeug.wrappers.request
    functionUses: 0
    functionsReached:
    - value.close
    - werkzeug.wrappers.request.Request.close
    - found.add
    - werkzeug.datastructures.CombinedMultiDict.items
    - dict.items
    - <builtin>.isinstance
    - werkzeug.datastructures.OrderedMultiDict.items
    - <builtin>.set
    - werkzeug.datastructures.iter_multi_items
    - returned_keys.add
    - d.items
    - werkzeug.datastructures.MultiDict.items
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: werkzeug.wrappers.request.Request
    functionSourceFile: werkzeug.wrappers.request
    functionUses: 0
    functionsReached:
    - typing.overload
    - werkzeug.utils.cached_property
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 314
    functionName: werkzeug.wrappers.request.Request.stream
    functionSourceFile: werkzeug.wrappers.request
    functionUses: 0
    functionsReached:
    - werkzeug.wsgi.get_input_stream
    - typing.cast
    - werkzeug.wsgi.LimitedStream.__init__
    - <builtin>.int
    - <builtin>.max
    - werkzeug.wsgi.get_content_length
    - environ.get
    - io.BytesIO
    linkageType: pythonLinkage
    raised:
    - RuntimeError
    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: 4
    functionLinenumber: 349
    functionName: werkzeug.wrappers.request.Request.data
    functionSourceFile: werkzeug.wrappers.request
    functionUses: 0
    functionsReached:
    - parser.parse
    - flask.wrappers.Request._load_form_data
    - flask.debughelpers.attach_enctype_error_multidict
    - werkzeug.wrappers.request.Request.make_form_data_parser
    - <builtin>.super
    - werkzeug.wrappers.request.Request._get_stream_for_parsing
    - werkzeug.wrappers.request.Request._load_form_data
    - <builtin>.getattr
    - io.BytesIO
    - werkzeug.wrappers.request.Request.get_data
    - rv.decode
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 2
    IfCount: 4
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe47ed520>
    - <ast.Constant object at 0x7fcfe47eda30>
    - <ast.Constant object at 0x7fcfe47ed640>
    argNames:
    - self
    - cache
    - as_text
    - parse_form_data
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 374
    functionName: werkzeug.wrappers.request.Request.get_data
    functionSourceFile: werkzeug.wrappers.request
    functionUses: 3
    functionsReached:
    - parser.parse
    - flask.wrappers.Request._load_form_data
    - flask.debughelpers.attach_enctype_error_multidict
    - werkzeug.wrappers.request.Request.make_form_data_parser
    - <builtin>.super
    - werkzeug.wrappers.request.Request._get_stream_for_parsing
    - werkzeug.wrappers.request.Request._load_form_data
    - <builtin>.getattr
    - io.BytesIO
    - rv.decode
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 111
    functionName: flask.wrappers.Request._load_form_data
    functionSourceFile: flask.wrappers
    functionUses: 6
    functionsReached:
    - <builtin>.super
    - flask.debughelpers.attach_enctype_error_multidict
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 413
    functionName: werkzeug.wrappers.request.Request.form
    functionSourceFile: werkzeug.wrappers.request
    functionUses: 0
    functionsReached:
    - parser.parse
    - flask.wrappers.Request._load_form_data
    - flask.debughelpers.attach_enctype_error_multidict
    - werkzeug.wrappers.request.Request.make_form_data_parser
    - <builtin>.super
    - werkzeug.wrappers.request.Request._get_stream_for_parsing
    - werkzeug.wrappers.request.Request._load_form_data
    - <builtin>.getattr
    - io.BytesIO
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 432
    functionName: werkzeug.wrappers.request.Request.values
    functionSourceFile: werkzeug.wrappers.request
    functionUses: 0
    functionsReached:
    - werkzeug.datastructures.CombinedMultiDict.__init__
    - werkzeug.datastructures.OrderedMultiDict.getlist
    - d.items
    - dict.__init__
    - <builtin>.len
    - rv.setdefault
    - <builtin>.list
    - werkzeug.datastructures.CombinedMultiDict.items
    - dict.__getitem__
    - werkzeug.datastructures.CombinedMultiDict.lists
    - args.append
    - werkzeug.datastructures.OrderedMultiDict.lists
    - result.append
    - werkzeug.datastructures.MultiDict.__init__
    - rv.items
    - returned_keys.add
    - d.lists
    - tmp.setdefault
    - sources.append
    - found.add
    - dict.items
    - werkzeug.datastructures.MultiDict.lists
    - <builtin>.isinstance
    - werkzeug.datastructures.OrderedMultiDict.items
    - <builtin>.set
    - werkzeug.datastructures.MultiDict.items
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: sources.append
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: args.append
    functionSourceFile: <builtin>
    functionUses: 16
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 461
    functionName: werkzeug.wrappers.request.Request.files
    functionSourceFile: werkzeug.wrappers.request
    functionUses: 0
    functionsReached:
    - parser.parse
    - flask.wrappers.Request._load_form_data
    - flask.debughelpers.attach_enctype_error_multidict
    - werkzeug.wrappers.request.Request.make_form_data_parser
    - <builtin>.super
    - werkzeug.wrappers.request.Request._get_stream_for_parsing
    - werkzeug.wrappers.request.Request._load_form_data
    - <builtin>.getattr
    - io.BytesIO
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 484
    functionName: werkzeug.wrappers.request.Request.script_root
    functionSourceFile: werkzeug.wrappers.request
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 491
    functionName: werkzeug.wrappers.request.Request.url_root
    functionSourceFile: werkzeug.wrappers.request
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 528
    functionName: werkzeug.wrappers.request.Request.json
    functionSourceFile: werkzeug.wrappers.request
    functionUses: 0
    functionsReached:
    - werkzeug.wrappers.request.Request.on_json_loading_failed
    - werkzeug.wrappers.request.Request._get_stream_for_parsing
    - app.blueprints.get
    - io.BytesIO
    - werkzeug.wrappers.request.Request.make_form_data_parser
    - flask.wrappers.Request.on_json_loading_failed
    - werkzeug.wrappers.request.Request.get_json
    - flask.json._load_arg_defaults
    - werkzeug.wrappers.request.Request._load_form_data
    - werkzeug.wrappers.request.Request.get_data
    - parser.parse
    - flask.debughelpers.attach_enctype_error_multidict
    - json.loads
    - <builtin>.getattr
    - flask.wrappers.Request._load_form_data
    - kwargs.setdefault
    - flask.json.loads
    - <builtin>.super
    - rv.decode
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 11
    ICount: 1
    IfCount: 7
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe1ac32e0>
    - <ast.Constant object at 0x7fcfe1ac32b0>
    - <ast.Constant object at 0x7fcfe1ac3280>
    argNames:
    - self
    - force
    - silent
    - cache
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 546
    functionName: werkzeug.wrappers.request.Request.get_json
    functionSourceFile: werkzeug.wrappers.request
    functionUses: 1
    functionsReached:
    - parser.parse
    - flask.wrappers.Request._load_form_data
    - flask.debughelpers.attach_enctype_error_multidict
    - werkzeug.wrappers.request.Request.make_form_data_parser
    - flask.wrappers.Request.on_json_loading_failed
    - json.loads
    - kwargs.setdefault
    - flask.json.loads
    - werkzeug.wrappers.request.Request.on_json_loading_failed
    - <builtin>.super
    - werkzeug.wrappers.request.Request._get_stream_for_parsing
    - flask.json._load_arg_defaults
    - werkzeug.wrappers.request.Request._load_form_data
    - <builtin>.getattr
    - io.BytesIO
    - app.blueprints.get
    - werkzeug.wrappers.request.Request.get_data
    - rv.decode
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - e
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 598
    functionName: werkzeug.wrappers.request.Request.on_json_loading_failed
    functionSourceFile: ''
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - BadRequest
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - e
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 126
    functionName: flask.wrappers.Request.on_json_loading_failed
    functionSourceFile: flask.wrappers
    functionUses: 2
    functionsReached:
    - <builtin>.super
    linkageType: pythonLinkage
    raised:
    - BadRequest
    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: werkzeug.formparser
    functionSourceFile: werkzeug.formparser
    functionUses: 0
    functionsReached:
    - typing.TypeVar
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 5
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe49888b0>
    argNames:
    - self
    - total_content_length
    - content_type
    - filename
    - content_length
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 39
    functionName: werkzeug.formparser.TStreamFactory.__call__
    functionSourceFile: werkzeug.formparser
    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:
    - stream
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 52
    functionName: werkzeug.formparser._exhaust
    functionSourceFile: werkzeug.formparser
    functionUses: 5
    functionsReached:
    - stream.read
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: tempfile.SpooledTemporaryFile
    functionSourceFile: tempfile
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 8
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe4637820>
    - <ast.Constant object at 0x7fcfe46377f0>
    - <ast.Constant object at 0x7fcfe46377c0>
    - <ast.Constant object at 0x7fcfe4637790>
    - <ast.Constant object at 0x7fcfe4637760>
    - <ast.Constant object at 0x7fcfe4637730>
    - <ast.Constant object at 0x7fcfe4637700>
    argNames:
    - environ
    - stream_factory
    - charset
    - errors
    - max_form_memory_size
    - max_content_length
    - cls
    - silent
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 74
    functionName: werkzeug.formparser.parse_form_data
    functionSourceFile: werkzeug.formparser
    functionUses: 0
    functionsReached:
    - werkzeug.http.parse_options_header
    - werkzeug.formparser._exhaust
    - werkzeug.datastructures.OrderedMultiDict.getlist
    - werkzeug.formparser.FormDataParser.parse
    - werkzeug.wsgi.LimitedStream.__init__
    - match.group
    - _option_header_piece_re.match
    - d.items
    - <builtin>.len
    - dict.__init__
    - io.BytesIO
    - urllib.parse.unquote_to_bytes.decode
    - urllib.parse.unquote_to_bytes
    - rv.setdefault
    - optmatch.end
    - werkzeug.http.unquote_header_value
    - werkzeug.datastructures.CombinedMultiDict.items
    - <builtin>.list
    - dict.__getitem__
    - value.replace
    - werkzeug.wsgi.get_content_length
    - werkzeug.datastructures.CombinedMultiDict.lists
    - stream.read
    - werkzeug.datastructures.OrderedMultiDict.lists
    - werkzeug.formparser.FormDataParser.__init__
    - result.append
    - werkzeug.wsgi.get_input_stream
    - optmatch.groups
    - warnings.warn
    - werkzeug.datastructures.MultiDict.__init__
    - rv.items
    - werkzeug.formparser.FormDataParser.parse_from_environ
    - <builtin>.int
    - _option_header_start_mime_type.match
    - <builtin>.max
    - returned_keys.add
    - environ.get
    - d.lists
    - tmp.setdefault
    - options.get
    - typing.cast
    - found.add
    - dict.items
    - werkzeug.datastructures.MultiDict.lists
    - <builtin>.isinstance
    - werkzeug.datastructures.OrderedMultiDict.items
    - <builtin>.set
    - werkzeug.formparser.FormDataParser.get_parse_func
    - werkzeug.datastructures.MultiDict.items
    - <builtin>.tuple
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 8
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe47edb50>
    - <ast.Constant object at 0x7fcfe47ed370>
    - <ast.Constant object at 0x7fcfe47ed2e0>
    - <ast.Constant object at 0x7fcfe47ed5b0>
    - <ast.Constant object at 0x7fcfe47ed6a0>
    - <ast.Constant object at 0x7fcfe47edc10>
    - <ast.Constant object at 0x7fcfe47eda90>
    argNames:
    - self
    - stream_factory
    - charset
    - errors
    - max_form_memory_size
    - max_content_length
    - cls
    - silent
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 184
    functionName: werkzeug.formparser.FormDataParser.__init__
    functionSourceFile: ''
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - environ
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 219
    functionName: werkzeug.formparser.FormDataParser.parse_from_environ
    functionSourceFile: werkzeug.formparser
    functionUses: 1
    functionsReached:
    - werkzeug.http.parse_options_header
    - werkzeug.formparser._exhaust
    - werkzeug.datastructures.OrderedMultiDict.getlist
    - werkzeug.formparser.FormDataParser.parse
    - werkzeug.wsgi.LimitedStream.__init__
    - match.group
    - _option_header_piece_re.match
    - d.items
    - <builtin>.len
    - dict.__init__
    - io.BytesIO
    - urllib.parse.unquote_to_bytes.decode
    - urllib.parse.unquote_to_bytes
    - rv.setdefault
    - optmatch.end
    - werkzeug.http.unquote_header_value
    - werkzeug.datastructures.CombinedMultiDict.items
    - <builtin>.list
    - dict.__getitem__
    - value.replace
    - werkzeug.wsgi.get_content_length
    - werkzeug.datastructures.CombinedMultiDict.lists
    - stream.read
    - werkzeug.datastructures.OrderedMultiDict.lists
    - result.append
    - werkzeug.wsgi.get_input_stream
    - optmatch.groups
    - warnings.warn
    - werkzeug.datastructures.MultiDict.__init__
    - rv.items
    - <builtin>.int
    - _option_header_start_mime_type.match
    - <builtin>.max
    - returned_keys.add
    - environ.get
    - d.lists
    - tmp.setdefault
    - options.get
    - typing.cast
    - found.add
    - dict.items
    - werkzeug.datastructures.MultiDict.lists
    - <builtin>.isinstance
    - werkzeug.datastructures.OrderedMultiDict.items
    - <builtin>.set
    - werkzeug.formparser.FormDataParser.get_parse_func
    - werkzeug.datastructures.MultiDict.items
    - <builtin>.tuple
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - f
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 135
    functionName: werkzeug.formparser.exhaust_stream
    functionSourceFile: werkzeug.formparser
    functionUses: 1
    functionsReached:
    - functools.update_wrapper
    - typing.cast
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - stream
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 11
    functionLinenumber: 138
    functionName: werkzeug.formparser.exhaust_stream.wrapper
    functionSourceFile: werkzeug.formparser
    functionUses: 0
    functionsReached:
    - http.server.BaseHTTPRequestHandler.path.fragment.encode
    - _option_header_piece_re.match
    - dict.__init__
    - typing.NamedTuple.query.decode
    - http.server.BaseHTTPRequestHandler.path.strip
    - value.decode
    - <builtin>.next
    - werkzeug.datastructures.Headers._validate_value
    - re.compile
    - dict.__getitem__
    - typing.NamedTuple.fragment.decode
    - HEADER_CONTINUATION_RE.sub
    - files.append
    - werkzeug._internal._make_encode_wrapper.<lambda1>
    - werkzeug._internal._decode_idna
    - http.server.BaseHTTPRequestHandler.path.query.encode
    - value.strip
    - line.strip
    - werkzeug.urls.BaseURL.decode_netloc
    - result.append
    - warnings.warn
    - werkzeug.datastructures.MultiDict.__init__
    - werkzeug.formparser.MultiPartParser.start_file_streaming
    - <builtin>.str
    - <builtin>.int
    - werkzeug._internal._decode_idna.decode_part
    - <builtin>.frozenset
    - options.items
    - <builtin>.min
    - werkzeug.sansio.multipart.MultipartDecoder.next_event
    - typing.NamedTuple.fragment.encode
    - d.lists
    - werkzeug.http.quote_header_value
    - werkzeug.sansio.multipart.MultipartDecoder.__init__
    - werkzeug.urls._unquote_to_bytes
    - werkzeug.urls.url_unquote_plus
    - options.get
    - event.headers.get
    - dict.items
    - typing.NamedTuple.path.encode
    - werkzeug.datastructures.MultiDict.lists
    - new_buf.append
    - werkzeug.wsgi.make_chunk_iter
    - <builtin>.set
    - werkzeug.formparser.FormDataParser._parse_multipart
    - werkzeug.http.parse_options_header
    - werkzeug.datastructures.OrderedMultiDict.getlist
    - werkzeug._internal._to_bytes
    - pair.split
    - tempfile.TemporaryFile
    - d.items
    - io.BytesIO.write
    - kw.items
    - urllib.parse.unquote_to_bytes.decode
    - werkzeug.urls.BytesURL.decode
    - itertools.chain
    - typing.NamedTuple.path.split
    - typing.NamedTuple.query.encode
    - werkzeug.datastructures.CombinedMultiDict.items
    - <builtin>.list
    - value.replace
    - werkzeug.datastructures.CombinedMultiDict.lists
    - werkzeug.datastructures._unicodify_header_value
    - name.strip
    - segments.append
    - match.start
    - <builtin>.iter
    - typing.NamedTuple.query.split
    - domain.encode
    - unsafe.encode
    - domain.split
    - part.decode
    - tmp.setdefault
    - werkzeug.urls.url_decode_stream
    - found.add
    - <builtin>.bytes
    - operator.methodcaller
    - werkzeug.datastructures.OrderedMultiDict.items
    - werkzeug.datastructures.iter_multi_items
    - typing.NamedTuple.strip
    - werkzeug.datastructures.MultiDict.items
    - io.BytesIO.seek
    - http.server.BaseHTTPRequestHandler.path.fragment.split
    - <builtin>.tuple
    - headers.append
    - werkzeug.formparser._exhaust
    - match.end
    - werkzeug.http.dump_options_header
    - typing.NamedTuple.fragment.split
    - match.group
    - werkzeug.formparser.MultiPartParser.parse
    - werkzeug.sansio.multipart.MultipartDecoder.receive_data
    - <builtin>.hasattr
    - werkzeug.datastructures.Headers.extend
    - <builtin>.len
    - http.server.BaseHTTPRequestHandler.path.query.split
    - io.BytesIO
    - urllib.parse.unquote_to_bytes
    - io.BytesIO.append
    - ct_params.get
    - rv.setdefault
    - optmatch.end
    - werkzeug.http.unquote_header_value
    - werkzeug.urls.url_unquote
    - typing.NamedTuple.__init__
    - werkzeug.formparser.MultiPartParser.__init__
    - werkzeug.datastructures.OrderedMultiDict.lists
    - k.replace
    - rv.items
    - _option_header_start_mime_type.match
    - <builtin>.getattr
    - typing.NamedTuple.path.decode
    - werkzeug.sansio.multipart.MultipartDecoder.last_newline
    - werkzeug.urls._url_decode_impl
    - extra.get
    - os.fsdecode
    - werkzeug.datastructures.FileStorage.__init__
    - werkzeug._internal._make_encode_wrapper
    - werkzeug.datastructures.Headers.add
    - <builtin>.bytearray
    - werkzeug._internal._to_str
    - werkzeug.wsgi.LimitedStream.__init__
    - typing.NamedTuple.scheme.decode
    - werkzeug.wsgi._make_chunk_iter
    - BLANK_LINE_RE.search
    - http.server.BaseHTTPRequestHandler.path.decode
    - werkzeug.sansio.multipart.MultipartDecoder._parse_headers
    - typing.NamedTuple.decode
    - tempfile.SpooledTemporaryFile
    - headers.get
    - stream.read
    - s.replace
    - data.splitlines
    - optmatch.groups
    - werkzeug.formparser.MultiPartParser.get_part_charset
    - returned_keys.add
    - werkzeug.datastructures._options_header_vkw
    - werkzeug.datastructures.Headers.__init__
    - fields.append
    - typing.cast
    - _hextobyte.items
    - <builtin>.isinstance
    - re.escape
    - <builtin>.filter
    - werkzeug.formparser.FormDataParser._parse_urlencoded
    - result.extend
    - werkzeug.formparser.default_stream_factory
    - rv.decode
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 5
    argDefaultValues: []
    argNames:
    - self
    - stream
    - mimetype
    - content_length
    - options
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 10
    functionLinenumber: 271
    functionName: werkzeug.formparser.FormDataParser._parse_multipart
    functionSourceFile: werkzeug.formparser
    functionUses: 1
    functionsReached:
    - _option_header_piece_re.match
    - dict.__init__
    - typing.NamedTuple.query.decode
    - http.server.BaseHTTPRequestHandler.path.strip
    - value.decode
    - werkzeug.datastructures.Headers._validate_value
    - typing.NamedTuple.fragment.decode
    - dict.__getitem__
    - re.compile
    - HEADER_CONTINUATION_RE.sub
    - files.append
    - werkzeug._internal._decode_idna
    - value.strip
    - line.strip
    - werkzeug.urls.BaseURL.decode_netloc
    - result.append
    - warnings.warn
    - werkzeug.datastructures.MultiDict.__init__
    - werkzeug.formparser.MultiPartParser.start_file_streaming
    - <builtin>.str
    - <builtin>.int
    - werkzeug._internal._decode_idna.decode_part
    - options.items
    - <builtin>.min
    - werkzeug.sansio.multipart.MultipartDecoder.next_event
    - d.lists
    - werkzeug.http.quote_header_value
    - werkzeug.sansio.multipart.MultipartDecoder.__init__
    - options.get
    - event.headers.get
    - dict.items
    - werkzeug.datastructures.MultiDict.lists
    - <builtin>.set
    - werkzeug.http.parse_options_header
    - werkzeug.datastructures.OrderedMultiDict.getlist
    - tempfile.TemporaryFile
    - d.items
    - io.BytesIO.write
    - kw.items
    - urllib.parse.unquote_to_bytes.decode
    - werkzeug.urls.BytesURL.decode
    - itertools.chain
    - werkzeug.datastructures.CombinedMultiDict.items
    - <builtin>.list
    - value.replace
    - werkzeug.datastructures.CombinedMultiDict.lists
    - werkzeug.datastructures._unicodify_header_value
    - name.strip
    - segments.append
    - match.start
    - domain.encode
    - domain.split
    - part.decode
    - tmp.setdefault
    - found.add
    - <builtin>.bytes
    - werkzeug.datastructures.OrderedMultiDict.items
    - werkzeug.datastructures.iter_multi_items
    - typing.NamedTuple.strip
    - werkzeug.datastructures.MultiDict.items
    - io.BytesIO.seek
    - <builtin>.tuple
    - headers.append
    - match.end
    - werkzeug.http.dump_options_header
    - match.group
    - werkzeug.formparser.MultiPartParser.parse
    - werkzeug.sansio.multipart.MultipartDecoder.receive_data
    - <builtin>.hasattr
    - werkzeug.datastructures.Headers.extend
    - <builtin>.len
    - io.BytesIO
    - urllib.parse.unquote_to_bytes
    - io.BytesIO.append
    - ct_params.get
    - rv.setdefault
    - optmatch.end
    - werkzeug.http.unquote_header_value
    - typing.NamedTuple.__init__
    - werkzeug.formparser.MultiPartParser.__init__
    - werkzeug.datastructures.OrderedMultiDict.lists
    - k.replace
    - rv.items
    - _option_header_start_mime_type.match
    - <builtin>.getattr
    - typing.NamedTuple.path.decode
    - werkzeug.sansio.multipart.MultipartDecoder.last_newline
    - extra.get
    - os.fsdecode
    - werkzeug.datastructures.FileStorage.__init__
    - werkzeug.datastructures.Headers.add
    - <builtin>.bytearray
    - werkzeug._internal._to_str
    - werkzeug.wsgi.LimitedStream.__init__
    - typing.NamedTuple.scheme.decode
    - werkzeug.wsgi._make_chunk_iter
    - BLANK_LINE_RE.search
    - http.server.BaseHTTPRequestHandler.path.decode
    - werkzeug.sansio.multipart.MultipartDecoder._parse_headers
    - typing.NamedTuple.decode
    - tempfile.SpooledTemporaryFile
    - headers.get
    - data.splitlines
    - optmatch.groups
    - werkzeug.formparser.MultiPartParser.get_part_charset
    - returned_keys.add
    - werkzeug.datastructures._options_header_vkw
    - werkzeug.datastructures.Headers.__init__
    - fields.append
    - typing.cast
    - <builtin>.isinstance
    - re.escape
    - <builtin>.filter
    - werkzeug.formparser.default_stream_factory
    linkageType: pythonLinkage
    raised:
    - ValueError
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 5
    argDefaultValues: []
    argNames:
    - self
    - stream
    - mimetype
    - content_length
    - options
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 8
    functionLinenumber: 294
    functionName: werkzeug.formparser.FormDataParser._parse_urlencoded
    functionSourceFile: werkzeug.formparser
    functionUses: 1
    functionsReached:
    - http.server.BaseHTTPRequestHandler.path.fragment.encode
    - dict.__init__
    - typing.NamedTuple.query.decode
    - <builtin>.next
    - werkzeug._internal._make_encode_wrapper.<lambda1>
    - http.server.BaseHTTPRequestHandler.path.query.encode
    - re.compile
    - typing.NamedTuple.fragment.decode
    - dict.__getitem__
    - werkzeug._internal._decode_idna
    - werkzeug.urls.BaseURL.decode_netloc
    - result.append
    - werkzeug.datastructures.MultiDict.__init__
    - <builtin>.str
    - werkzeug._internal._decode_idna.decode_part
    - <builtin>.frozenset
    - typing.NamedTuple.fragment.encode
    - d.lists
    - werkzeug.urls._unquote_to_bytes
    - werkzeug.urls.url_unquote_plus
    - typing.NamedTuple.path.encode
    - dict.items
    - werkzeug.datastructures.MultiDict.lists
    - new_buf.append
    - werkzeug.wsgi.make_chunk_iter
    - <builtin>.set
    - werkzeug.datastructures.OrderedMultiDict.getlist
    - werkzeug._internal._to_bytes
    - pair.split
    - d.items
    - werkzeug.urls.BytesURL.decode
    - typing.NamedTuple.path.split
    - itertools.chain
    - typing.NamedTuple.query.encode
    - werkzeug.datastructures.CombinedMultiDict.items
    - <builtin>.list
    - werkzeug.datastructures.CombinedMultiDict.lists
    - <builtin>.iter
    - typing.NamedTuple.query.split
    - domain.encode
    - unsafe.encode
    - domain.split
    - part.decode
    - tmp.setdefault
    - werkzeug.urls.url_decode_stream
    - found.add
    - <builtin>.bytes
    - operator.methodcaller
    - werkzeug.datastructures.OrderedMultiDict.items
    - werkzeug.datastructures.MultiDict.items
    - http.server.BaseHTTPRequestHandler.path.fragment.split
    - werkzeug.formparser._exhaust
    - typing.NamedTuple.fragment.split
    - <builtin>.hasattr
    - <builtin>.len
    - http.server.BaseHTTPRequestHandler.path.query.split
    - rv.setdefault
    - werkzeug.urls.url_unquote
    - typing.NamedTuple.__init__
    - werkzeug.datastructures.OrderedMultiDict.lists
    - rv.items
    - typing.NamedTuple.path.decode
    - werkzeug.urls._url_decode_impl
    - werkzeug._internal._make_encode_wrapper
    - <builtin>.bytearray
    - werkzeug._internal._to_str
    - werkzeug.wsgi.LimitedStream.__init__
    - typing.NamedTuple.scheme.decode
    - werkzeug.wsgi._make_chunk_iter
    - http.server.BaseHTTPRequestHandler.path.decode
    - typing.NamedTuple.decode
    - stream.read
    - s.replace
    - returned_keys.add
    - typing.cast
    - _hextobyte.items
    - <builtin>.isinstance
    - re.escape
    - <builtin>.filter
    - result.extend
    - rv.decode
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - mimetype
    - options
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 209
    functionName: werkzeug.formparser.FormDataParser.get_parse_func
    functionSourceFile: werkzeug.formparser
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 2
    IfCount: 4
    argCount: 5
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe107bbe0>
    argNames:
    - self
    - stream
    - mimetype
    - content_length
    - options
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 230
    functionName: werkzeug.formparser.FormDataParser.parse
    functionSourceFile: werkzeug.formparser
    functionUses: 2
    functionsReached:
    - werkzeug.formparser._exhaust
    - werkzeug.datastructures.OrderedMultiDict.getlist
    - d.items
    - dict.__init__
    - <builtin>.len
    - rv.setdefault
    - werkzeug.datastructures.CombinedMultiDict.items
    - <builtin>.list
    - dict.__getitem__
    - werkzeug.datastructures.CombinedMultiDict.lists
    - stream.read
    - werkzeug.datastructures.OrderedMultiDict.lists
    - result.append
    - werkzeug.datastructures.MultiDict.__init__
    - rv.items
    - returned_keys.add
    - d.lists
    - tmp.setdefault
    - found.add
    - dict.items
    - werkzeug.datastructures.MultiDict.lists
    - <builtin>.isinstance
    - werkzeug.datastructures.OrderedMultiDict.items
    - <builtin>.set
    - werkzeug.formparser.FormDataParser.get_parse_func
    - werkzeug.datastructures.MultiDict.items
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: -1
    functionName: werkzeug.formparser.FormDataParser
    functionSourceFile: werkzeug.formparser
    functionUses: 0
    functionsReached:
    - werkzeug.formparser.exhaust_stream
    - functools.update_wrapper
    - typing.cast
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 7
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe4650880>
    - <ast.Constant object at 0x7fcfe4650850>
    - <ast.Constant object at 0x7fcfe4650820>
    - <ast.Constant object at 0x7fcfe46507f0>
    - <ast.Constant object at 0x7fcfe46507c0>
    - <ast.BinOp object at 0x7fcfe4650790>
    argNames:
    - self
    - stream_factory
    - charset
    - errors
    - max_form_memory_size
    - cls
    - buffer_size
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 341
    functionName: werkzeug.formparser.MultiPartParser.__init__
    functionSourceFile: ''
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 5
    IfCount: 5
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - stream
    - boundary
    - content_length
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 9
    functionLinenumber: 397
    functionName: werkzeug.formparser.MultiPartParser.parse
    functionSourceFile: werkzeug.formparser
    functionUses: 2
    functionsReached:
    - _option_header_piece_re.match
    - dict.__init__
    - typing.NamedTuple.query.decode
    - http.server.BaseHTTPRequestHandler.path.strip
    - value.decode
    - werkzeug.datastructures.Headers._validate_value
    - typing.NamedTuple.fragment.decode
    - dict.__getitem__
    - re.compile
    - HEADER_CONTINUATION_RE.sub
    - files.append
    - werkzeug._internal._decode_idna
    - value.strip
    - line.strip
    - werkzeug.urls.BaseURL.decode_netloc
    - result.append
    - warnings.warn
    - werkzeug.datastructures.MultiDict.__init__
    - werkzeug.formparser.MultiPartParser.start_file_streaming
    - <builtin>.str
    - <builtin>.int
    - werkzeug._internal._decode_idna.decode_part
    - options.items
    - <builtin>.min
    - werkzeug.sansio.multipart.MultipartDecoder.next_event
    - d.lists
    - werkzeug.http.quote_header_value
    - werkzeug.sansio.multipart.MultipartDecoder.__init__
    - options.get
    - event.headers.get
    - dict.items
    - werkzeug.datastructures.MultiDict.lists
    - <builtin>.set
    - werkzeug.http.parse_options_header
    - werkzeug.datastructures.OrderedMultiDict.getlist
    - tempfile.TemporaryFile
    - d.items
    - io.BytesIO.write
    - kw.items
    - urllib.parse.unquote_to_bytes.decode
    - werkzeug.urls.BytesURL.decode
    - itertools.chain
    - werkzeug.datastructures.CombinedMultiDict.items
    - <builtin>.list
    - value.replace
    - werkzeug.datastructures.CombinedMultiDict.lists
    - werkzeug.datastructures._unicodify_header_value
    - name.strip
    - segments.append
    - match.start
    - domain.encode
    - domain.split
    - part.decode
    - tmp.setdefault
    - found.add
    - <builtin>.bytes
    - werkzeug.datastructures.OrderedMultiDict.items
    - werkzeug.datastructures.iter_multi_items
    - typing.NamedTuple.strip
    - werkzeug.datastructures.MultiDict.items
    - io.BytesIO.seek
    - <builtin>.tuple
    - headers.append
    - match.end
    - werkzeug.http.dump_options_header
    - match.group
    - werkzeug.sansio.multipart.MultipartDecoder.receive_data
    - <builtin>.hasattr
    - werkzeug.datastructures.Headers.extend
    - <builtin>.len
    - io.BytesIO
    - urllib.parse.unquote_to_bytes
    - io.BytesIO.append
    - ct_params.get
    - rv.setdefault
    - optmatch.end
    - werkzeug.http.unquote_header_value
    - typing.NamedTuple.__init__
    - werkzeug.datastructures.OrderedMultiDict.lists
    - k.replace
    - rv.items
    - _option_header_start_mime_type.match
    - <builtin>.getattr
    - typing.NamedTuple.path.decode
    - werkzeug.sansio.multipart.MultipartDecoder.last_newline
    - extra.get
    - os.fsdecode
    - werkzeug.datastructures.FileStorage.__init__
    - werkzeug.datastructures.Headers.add
    - <builtin>.bytearray
    - werkzeug._internal._to_str
    - werkzeug.wsgi.LimitedStream.__init__
    - typing.NamedTuple.scheme.decode
    - werkzeug.wsgi._make_chunk_iter
    - BLANK_LINE_RE.search
    - http.server.BaseHTTPRequestHandler.path.decode
    - werkzeug.sansio.multipart.MultipartDecoder._parse_headers
    - typing.NamedTuple.decode
    - tempfile.SpooledTemporaryFile
    - headers.get
    - data.splitlines
    - optmatch.groups
    - werkzeug.formparser.MultiPartParser.get_part_charset
    - returned_keys.add
    - werkzeug.datastructures._options_header_vkw
    - werkzeug.datastructures.Headers.__init__
    - fields.append
    - typing.cast
    - <builtin>.isinstance
    - re.escape
    - <builtin>.filter
    - werkzeug.formparser.default_stream_factory
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - line
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 327
    functionName: werkzeug.formparser._line_parse
    functionSourceFile: werkzeug.formparser
    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
    - message
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 366
    functionName: werkzeug.formparser.MultiPartParser.fail
    functionSourceFile: werkzeug.formparser
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - ValueError
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - headers
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 369
    functionName: werkzeug.formparser.MultiPartParser.get_part_charset
    functionSourceFile: werkzeug.formparser
    functionUses: 3
    functionsReached:
    - werkzeug.http.parse_options_header
    - ct_params.get
    - options.get
    - optmatch.end
    - optmatch.groups
    - warnings.warn
    - werkzeug.http.unquote_header_value
    - match.group
    - _option_header_start_mime_type.match
    - headers.get
    - _option_header_piece_re.match
    - value.replace
    - urllib.parse.unquote_to_bytes.decode
    - result.append
    - urllib.parse.unquote_to_bytes
    - <builtin>.tuple
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: headers.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: ct_params.get
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - event
    - total_content_length
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 379
    functionName: werkzeug.formparser.MultiPartParser.start_file_streaming
    functionSourceFile: werkzeug.formparser
    functionUses: 3
    functionsReached:
    - event.headers.get
    - typing.cast
    - <builtin>.int
    - tempfile.SpooledTemporaryFile
    - tempfile.TemporaryFile
    - io.BytesIO
    - werkzeug.formparser.default_stream_factory
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: event.headers.get
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: io.BytesIO.write
    functionSourceFile: io
    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: io.BytesIO.append
    functionSourceFile: io
    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: fields.append
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: files.append
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: werkzeug.sansio.request
    functionSourceFile: werkzeug.sansio.request
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 9
    argDefaultValues: []
    argNames:
    - self
    - method
    - scheme
    - server
    - root_path
    - path
    - query_string
    - headers
    - remote_addr
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 119
    functionName: werkzeug.sansio.request.Request.__init__
    functionSourceFile: werkzeug.sansio.request
    functionUses: 0
    functionsReached:
    - path.lstrip
    - method.upper
    - root_path.rstrip
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: method.upper
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 152
    functionName: werkzeug.sansio.request.Request.__repr__
    functionSourceFile: werkzeug.sansio.request
    functionUses: 0
    functionsReached:
    - <builtin>.type
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 161
    functionName: werkzeug.sansio.request.Request.url_charset
    functionSourceFile: werkzeug.sansio.request
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: werkzeug.sansio.request.Request
    functionSourceFile: werkzeug.sansio.request
    functionUses: 0
    functionsReached:
    - werkzeug.utils.cached_property
    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: 6
    functionLinenumber: 170
    functionName: werkzeug.sansio.request.Request.args
    functionSourceFile: werkzeug.sansio.request
    functionUses: 0
    functionsReached:
    - http.server.BaseHTTPRequestHandler.path.fragment.encode
    - <builtin>.bytearray
    - werkzeug.datastructures.OrderedMultiDict.getlist
    - pair.split
    - typing.NamedTuple.fragment.split
    - d.items
    - dict.__init__
    - http.server.BaseHTTPRequestHandler.path.query.split
    - <builtin>.len
    - <builtin>.next
    - typing.NamedTuple.path.split
    - rv.setdefault
    - typing.NamedTuple.query.encode
    - werkzeug._internal._make_encode_wrapper.<lambda1>
    - werkzeug.urls.url_unquote
    - http.server.BaseHTTPRequestHandler.path.query.encode
    - werkzeug.datastructures.CombinedMultiDict.items
    - <builtin>.list
    - werkzeug.datastructures.MultiDict.items
    - separator.encode
    - dict.__getitem__
    - werkzeug.datastructures.CombinedMultiDict.lists
    - werkzeug.datastructures.OrderedMultiDict.lists
    - result.append
    - s.replace
    - werkzeug.urls.url_decode
    - werkzeug.datastructures.MultiDict.__init__
    - <builtin>.iter
    - separator.decode
    - typing.NamedTuple.query.split
    - rv.items
    - unsafe.encode
    - <builtin>.frozenset
    - returned_keys.add
    - typing.NamedTuple.fragment.encode
    - d.lists
    - tmp.setdefault
    - werkzeug.urls._url_decode_impl
    - werkzeug.urls._unquote_to_bytes
    - werkzeug.urls.url_unquote_plus
    - typing.NamedTuple.path.encode
    - found.add
    - dict.items
    - _hextobyte.items
    - <builtin>.bytes
    - werkzeug.datastructures.MultiDict.lists
    - <builtin>.isinstance
    - operator.methodcaller
    - werkzeug.datastructures.OrderedMultiDict.items
    - <builtin>.set
    - werkzeug._internal._make_encode_wrapper
    - result.extend
    - rv.decode
    - http.server.BaseHTTPRequestHandler.path.fragment.split
    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: 188
    functionName: werkzeug.sansio.request.Request.access_route
    functionSourceFile: werkzeug.sansio.request
    functionUses: 0
    functionsReached:
    - werkzeug.http.unquote_header_value
    - werkzeug.http.parse_list_header
    - value.replace
    - result.append
    - urllib.request.parse_http_list
    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: 6
    functionLinenumber: 201
    functionName: werkzeug.sansio.request.Request.full_path
    functionSourceFile: werkzeug.sansio.request
    functionUses: 0
    functionsReached:
    - werkzeug._internal._to_str
    - typing.NamedTuple.fragment.decode
    - <builtin>.str
    - typing.NamedTuple.scheme.decode
    - typing.NamedTuple.decode
    - <builtin>.isinstance
    - werkzeug._internal._decode_idna
    - <builtin>.filter
    - domain.encode
    - domain.split
    - typing.NamedTuple.__init__
    - typing.NamedTuple.path.decode
    - werkzeug._internal._decode_idna.decode_part
    - http.server.BaseHTTPRequestHandler.path.decode
    - part.decode
    - werkzeug.urls.BaseURL.decode_netloc
    - werkzeug.urls.BytesURL.decode
    - typing.NamedTuple.query.decode
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 206
    functionName: werkzeug.sansio.request.Request.is_secure
    functionSourceFile: werkzeug.sansio.request
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 8
    functionLinenumber: 213
    functionName: werkzeug.sansio.request.Request.url
    functionSourceFile: werkzeug.sansio.request
    functionUses: 0
    functionsReached:
    - http.server.BaseHTTPRequestHandler.path.fragment.encode
    - <builtin>.bytearray
    - werkzeug._internal._to_str
    - typing.NamedTuple.fragment.split
    - werkzeug._internal._check_str_tuple
    - typing.NamedTuple.scheme.decode
    - http.server.BaseHTTPRequestHandler.path.decode
    - http.server.BaseHTTPRequestHandler.path.query.split
    - <builtin>.len
    - werkzeug.urls.url_unparse
    - werkzeug.urls.BytesURL.decode
    - typing.NamedTuple.query.decode
    - rv.extend
    - <builtin>.next
    - typing.NamedTuple.path.split
    - root_path.rstrip
    - typing.NamedTuple.query.encode
    - http.server.BaseHTTPRequestHandler.path.query.encode
    - werkzeug.urls.url_unquote
    - werkzeug._internal._make_encode_wrapper.<lambda1>
    - typing.NamedTuple.fragment.decode
    - typing.NamedTuple.decode
    - werkzeug.urls.BytesURL.encode_netloc
    - werkzeug._internal._decode_idna
    - path.lstrip
    - typing.NamedTuple.__init__
    - path.startswith
    - werkzeug.urls.BaseURL.decode_netloc
    - result.append
    - url.append
    - typing.NamedTuple.encode
    - typing.NamedTuple.split
    - rv.append
    - _scheme_re.match
    - <builtin>.str
    - <builtin>.iter
    - typing.NamedTuple.query.split
    - typing.NamedTuple.find
    - http.server.BaseHTTPRequestHandler.path.split
    - domain.encode
    - werkzeug._internal._decode_idna.decode_part
    - unsafe.encode
    - <builtin>.frozenset
    - werkzeug.sansio.utils.get_current_url
    - domain.split
    - http.server.BaseHTTPRequestHandler.path.find
    - <builtin>.min
    - part.decode
    - typing.NamedTuple.fragment.encode
    - <builtin>.any
    - typing.NamedTuple.path.decode
    - http.server.BaseHTTPRequestHandler.path.decode_netloc
    - werkzeug.urls.uri_to_iri
    - werkzeug.urls._unquote_to_bytes
    - werkzeug.urls.URL.encode
    - typing.NamedTuple.path.encode
    - _hextobyte.items
    - <builtin>.bytes
    - safe.encode
    - operator.methodcaller
    - <builtin>.isinstance
    - werkzeug.urls.url_parse
    - http.server.BaseHTTPRequestHandler.path.encode
    - <builtin>.filter
    - werkzeug.urls.BaseURL.encode_netloc
    - typing.NamedTuple.scheme.encode
    - werkzeug.urls.url_quote
    - werkzeug._internal._make_encode_wrapper
    - result.extend
    - rv.decode
    - http.server.BaseHTTPRequestHandler.path.fragment.split
    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: 8
    functionLinenumber: 221
    functionName: werkzeug.sansio.request.Request.base_url
    functionSourceFile: werkzeug.sansio.request
    functionUses: 0
    functionsReached:
    - http.server.BaseHTTPRequestHandler.path.fragment.encode
    - <builtin>.bytearray
    - werkzeug._internal._to_str
    - typing.NamedTuple.fragment.split
    - werkzeug._internal._check_str_tuple
    - typing.NamedTuple.scheme.decode
    - http.server.BaseHTTPRequestHandler.path.decode
    - http.server.BaseHTTPRequestHandler.path.query.split
    - <builtin>.len
    - werkzeug.urls.url_unparse
    - werkzeug.urls.BytesURL.decode
    - typing.NamedTuple.query.decode
    - rv.extend
    - <builtin>.next
    - typing.NamedTuple.path.split
    - root_path.rstrip
    - typing.NamedTuple.query.encode
    - http.server.BaseHTTPRequestHandler.path.query.encode
    - werkzeug.urls.url_unquote
    - werkzeug._internal._make_encode_wrapper.<lambda1>
    - typing.NamedTuple.fragment.decode
    - typing.NamedTuple.decode
    - werkzeug.urls.BytesURL.encode_netloc
    - werkzeug._internal._decode_idna
    - path.lstrip
    - typing.NamedTuple.__init__
    - path.startswith
    - werkzeug.urls.BaseURL.decode_netloc
    - result.append
    - url.append
    - typing.NamedTuple.encode
    - typing.NamedTuple.split
    - rv.append
    - _scheme_re.match
    - <builtin>.str
    - <builtin>.iter
    - typing.NamedTuple.query.split
    - typing.NamedTuple.find
    - http.server.BaseHTTPRequestHandler.path.split
    - domain.encode
    - werkzeug._internal._decode_idna.decode_part
    - unsafe.encode
    - <builtin>.frozenset
    - werkzeug.sansio.utils.get_current_url
    - domain.split
    - http.server.BaseHTTPRequestHandler.path.find
    - <builtin>.min
    - part.decode
    - typing.NamedTuple.fragment.encode
    - <builtin>.any
    - typing.NamedTuple.path.decode
    - http.server.BaseHTTPRequestHandler.path.decode_netloc
    - werkzeug.urls.uri_to_iri
    - werkzeug.urls._unquote_to_bytes
    - werkzeug.urls.URL.encode
    - typing.NamedTuple.path.encode
    - _hextobyte.items
    - <builtin>.bytes
    - safe.encode
    - operator.methodcaller
    - <builtin>.isinstance
    - werkzeug.urls.url_parse
    - http.server.BaseHTTPRequestHandler.path.encode
    - <builtin>.filter
    - werkzeug.urls.BaseURL.encode_netloc
    - typing.NamedTuple.scheme.encode
    - werkzeug.urls.url_quote
    - werkzeug._internal._make_encode_wrapper
    - result.extend
    - rv.decode
    - http.server.BaseHTTPRequestHandler.path.fragment.split
    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: 8
    functionLinenumber: 226
    functionName: werkzeug.sansio.request.Request.root_url
    functionSourceFile: werkzeug.sansio.request
    functionUses: 0
    functionsReached:
    - http.server.BaseHTTPRequestHandler.path.fragment.encode
    - <builtin>.bytearray
    - werkzeug._internal._to_str
    - typing.NamedTuple.fragment.split
    - werkzeug._internal._check_str_tuple
    - typing.NamedTuple.scheme.decode
    - http.server.BaseHTTPRequestHandler.path.decode
    - http.server.BaseHTTPRequestHandler.path.query.split
    - <builtin>.len
    - werkzeug.urls.url_unparse
    - werkzeug.urls.BytesURL.decode
    - typing.NamedTuple.query.decode
    - rv.extend
    - <builtin>.next
    - typing.NamedTuple.path.split
    - root_path.rstrip
    - typing.NamedTuple.query.encode
    - http.server.BaseHTTPRequestHandler.path.query.encode
    - werkzeug.urls.url_unquote
    - werkzeug._internal._make_encode_wrapper.<lambda1>
    - typing.NamedTuple.fragment.decode
    - typing.NamedTuple.decode
    - werkzeug.urls.BytesURL.encode_netloc
    - werkzeug._internal._decode_idna
    - path.lstrip
    - typing.NamedTuple.__init__
    - path.startswith
    - werkzeug.urls.BaseURL.decode_netloc
    - result.append
    - url.append
    - typing.NamedTuple.encode
    - typing.NamedTuple.split
    - rv.append
    - _scheme_re.match
    - <builtin>.str
    - <builtin>.iter
    - typing.NamedTuple.query.split
    - typing.NamedTuple.find
    - http.server.BaseHTTPRequestHandler.path.split
    - domain.encode
    - werkzeug._internal._decode_idna.decode_part
    - unsafe.encode
    - <builtin>.frozenset
    - werkzeug.sansio.utils.get_current_url
    - domain.split
    - http.server.BaseHTTPRequestHandler.path.find
    - <builtin>.min
    - part.decode
    - typing.NamedTuple.fragment.encode
    - <builtin>.any
    - typing.NamedTuple.path.decode
    - http.server.BaseHTTPRequestHandler.path.decode_netloc
    - werkzeug.urls.uri_to_iri
    - werkzeug.urls._unquote_to_bytes
    - werkzeug.urls.URL.encode
    - typing.NamedTuple.path.encode
    - _hextobyte.items
    - <builtin>.bytes
    - safe.encode
    - operator.methodcaller
    - <builtin>.isinstance
    - werkzeug.urls.url_parse
    - http.server.BaseHTTPRequestHandler.path.encode
    - <builtin>.filter
    - werkzeug.urls.BaseURL.encode_netloc
    - typing.NamedTuple.scheme.encode
    - werkzeug.urls.url_quote
    - werkzeug._internal._make_encode_wrapper
    - result.extend
    - rv.decode
    - http.server.BaseHTTPRequestHandler.path.fragment.split
    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: 8
    functionLinenumber: 233
    functionName: werkzeug.sansio.request.Request.host_url
    functionSourceFile: werkzeug.sansio.request
    functionUses: 0
    functionsReached:
    - http.server.BaseHTTPRequestHandler.path.fragment.encode
    - <builtin>.bytearray
    - werkzeug._internal._to_str
    - typing.NamedTuple.fragment.split
    - werkzeug._internal._check_str_tuple
    - typing.NamedTuple.scheme.decode
    - http.server.BaseHTTPRequestHandler.path.decode
    - http.server.BaseHTTPRequestHandler.path.query.split
    - <builtin>.len
    - werkzeug.urls.url_unparse
    - werkzeug.urls.BytesURL.decode
    - typing.NamedTuple.query.decode
    - rv.extend
    - <builtin>.next
    - typing.NamedTuple.path.split
    - root_path.rstrip
    - typing.NamedTuple.query.encode
    - http.server.BaseHTTPRequestHandler.path.query.encode
    - werkzeug.urls.url_unquote
    - werkzeug._internal._make_encode_wrapper.<lambda1>
    - typing.NamedTuple.fragment.decode
    - typing.NamedTuple.decode
    - werkzeug.urls.BytesURL.encode_netloc
    - werkzeug._internal._decode_idna
    - path.lstrip
    - typing.NamedTuple.__init__
    - path.startswith
    - werkzeug.urls.BaseURL.decode_netloc
    - result.append
    - url.append
    - typing.NamedTuple.encode
    - typing.NamedTuple.split
    - rv.append
    - _scheme_re.match
    - <builtin>.str
    - <builtin>.iter
    - typing.NamedTuple.query.split
    - typing.NamedTuple.find
    - http.server.BaseHTTPRequestHandler.path.split
    - domain.encode
    - werkzeug._internal._decode_idna.decode_part
    - unsafe.encode
    - <builtin>.frozenset
    - werkzeug.sansio.utils.get_current_url
    - domain.split
    - http.server.BaseHTTPRequestHandler.path.find
    - <builtin>.min
    - part.decode
    - typing.NamedTuple.fragment.encode
    - <builtin>.any
    - typing.NamedTuple.path.decode
    - http.server.BaseHTTPRequestHandler.path.decode_netloc
    - werkzeug.urls.uri_to_iri
    - werkzeug.urls._unquote_to_bytes
    - werkzeug.urls.URL.encode
    - typing.NamedTuple.path.encode
    - _hextobyte.items
    - <builtin>.bytes
    - safe.encode
    - operator.methodcaller
    - <builtin>.isinstance
    - werkzeug.urls.url_parse
    - http.server.BaseHTTPRequestHandler.path.encode
    - <builtin>.filter
    - werkzeug.urls.BaseURL.encode_netloc
    - typing.NamedTuple.scheme.encode
    - werkzeug.urls.url_quote
    - werkzeug._internal._make_encode_wrapper
    - result.extend
    - rv.decode
    - http.server.BaseHTTPRequestHandler.path.fragment.split
    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: 5
    functionLinenumber: 238
    functionName: werkzeug.sansio.request.Request.host
    functionSourceFile: werkzeug.sansio.request
    functionUses: 0
    functionsReached:
    - p.encode
    - werkzeug._internal._encode_idna
    - <builtin>.isinstance
    - werkzeug.sansio.utils.get_host
    - werkzeug.sansio.utils.host_is_trusted
    - host.endswith
    - ref.startswith
    - werkzeug.sansio.utils.host_is_trusted._normalize
    - hostname.rsplit
    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: 8
    functionLinenumber: 247
    functionName: werkzeug.sansio.request.Request.cookies
    functionSourceFile: werkzeug.sansio.request
    functionUses: 0
    functionsReached:
    - werkzeug.http.parse_cookie._parse_pairs
    - werkzeug.datastructures.OrderedMultiDict.getlist
    - match.end
    - werkzeug._internal._to_str
    - <builtin>.bytearray
    - header.get
    - _quote_re.search
    - typing.NamedTuple.scheme.decode
    - match.group
    - http.server.BaseHTTPRequestHandler.path.decode
    - d.items
    - dict.__init__
    - <builtin>.len
    - werkzeug.urls.BytesURL.decode
    - typing.NamedTuple.query.decode
    - werkzeug._internal._cookie_unquote
    - rv.extend
    - rv.setdefault
    - _octal_re.search
    - typing.NamedTuple.fragment.decode
    - werkzeug.datastructures.CombinedMultiDict.items
    - <builtin>.list
    - dict.__getitem__
    - typing.NamedTuple.decode
    - werkzeug._internal._decode_idna
    - werkzeug.http.parse_cookie
    - q_match.start
    - typing.NamedTuple.__init__
    - werkzeug.datastructures.CombinedMultiDict.lists
    - werkzeug.datastructures.OrderedMultiDict.lists
    - werkzeug.urls.BaseURL.decode_netloc
    - result.append
    - rv.append
    - werkzeug.datastructures.MultiDict.__init__
    - <builtin>.str
    - rv.items
    - <builtin>.int
    - domain.encode
    - werkzeug._internal._decode_idna.decode_part
    - domain.split
    - returned_keys.add
    - part.decode
    - d.lists
    - o_match.start
    - typing.NamedTuple.path.decode
    - tmp.setdefault
    - header.encode
    - found.add
    - dict.items
    - <builtin>.bytes
    - werkzeug.datastructures.MultiDict.lists
    - <builtin>.isinstance
    - werkzeug._internal._cookie_parse_impl
    - <builtin>.filter
    - werkzeug.datastructures.OrderedMultiDict.items
    - <builtin>.set
    - _cookie_re.search
    - werkzeug.datastructures.MultiDict.items
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 270
    functionName: werkzeug.sansio.request.Request.content_length
    functionSourceFile: werkzeug.sansio.request
    functionUses: 0
    functionsReached:
    - <builtin>.int
    - <builtin>.max
    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: 3
    functionLinenumber: 344
    functionName: werkzeug.sansio.request.Request._parse_content_type
    functionSourceFile: werkzeug.sansio.request
    functionUses: 2
    functionsReached:
    - werkzeug.http.parse_options_header
    - optmatch.end
    - options.get
    - optmatch.groups
    - warnings.warn
    - werkzeug.http.unquote_header_value
    - match.group
    - value.replace
    - _option_header_piece_re.match
    - _option_header_start_mime_type.match
    - <builtin>.hasattr
    - urllib.parse.unquote_to_bytes.decode
    - result.append
    - urllib.parse.unquote_to_bytes
    - <builtin>.tuple
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 351
    functionName: werkzeug.sansio.request.Request.mimetype
    functionSourceFile: werkzeug.sansio.request
    functionUses: 0
    functionsReached:
    - werkzeug.http.parse_options_header
    - optmatch.end
    - options.get
    - optmatch.groups
    - warnings.warn
    - werkzeug.http.unquote_header_value
    - match.group
    - value.replace
    - _option_header_piece_re.match
    - _option_header_start_mime_type.match
    - <builtin>.hasattr
    - werkzeug.sansio.request.Request._parse_content_type
    - urllib.parse.unquote_to_bytes.decode
    - result.append
    - urllib.parse.unquote_to_bytes
    - <builtin>.tuple
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 361
    functionName: werkzeug.sansio.request.Request.mimetype_params
    functionSourceFile: werkzeug.sansio.request
    functionUses: 0
    functionsReached:
    - werkzeug.http.parse_options_header
    - optmatch.end
    - options.get
    - optmatch.groups
    - warnings.warn
    - werkzeug.http.unquote_header_value
    - match.group
    - value.replace
    - _option_header_piece_re.match
    - _option_header_start_mime_type.match
    - <builtin>.hasattr
    - werkzeug.sansio.request.Request._parse_content_type
    - urllib.parse.unquote_to_bytes.decode
    - result.append
    - urllib.parse.unquote_to_bytes
    - <builtin>.tuple
    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: 4
    functionLinenumber: 370
    functionName: werkzeug.sansio.request.Request.pragma
    functionSourceFile: werkzeug.sansio.request
    functionUses: 0
    functionsReached:
    - <builtin>.list
    - werkzeug.http.unquote_header_value
    - urllib.request.parse_http_list
    - werkzeug.http.parse_list_header
    - x.lower
    - value.replace
    - werkzeug.datastructures.HeaderSet.__init__
    - result.append
    - werkzeug.http.parse_set_header
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 382
    functionName: werkzeug.sansio.request.Request.accept_mimetypes
    functionSourceFile: werkzeug.sansio.request
    functionUses: 0
    functionsReached:
    - werkzeug.datastructures.Accept.__init__
    - <builtin>.float
    - <builtin>.sorted
    - typing.cast
    - _accept_re.finditer
    - werkzeug.http.parse_accept_header
    - <builtin>.isinstance
    - match.group
    - <builtin>.max
    - <builtin>.min
    - list.__init__
    - result.append
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 389
    functionName: werkzeug.sansio.request.Request.accept_charsets
    functionSourceFile: werkzeug.sansio.request
    functionUses: 0
    functionsReached:
    - werkzeug.datastructures.Accept.__init__
    - <builtin>.float
    - <builtin>.sorted
    - typing.cast
    - _accept_re.finditer
    - werkzeug.http.parse_accept_header
    - <builtin>.isinstance
    - match.group
    - <builtin>.max
    - <builtin>.min
    - list.__init__
    - result.append
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 396
    functionName: werkzeug.sansio.request.Request.accept_encodings
    functionSourceFile: werkzeug.sansio.request
    functionUses: 0
    functionsReached:
    - werkzeug.datastructures.Accept.__init__
    - <builtin>.float
    - <builtin>.sorted
    - typing.cast
    - _accept_re.finditer
    - werkzeug.http.parse_accept_header
    - <builtin>.isinstance
    - match.group
    - <builtin>.max
    - <builtin>.min
    - list.__init__
    - result.append
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 404
    functionName: werkzeug.sansio.request.Request.accept_languages
    functionSourceFile: werkzeug.sansio.request
    functionUses: 0
    functionsReached:
    - werkzeug.datastructures.Accept.__init__
    - <builtin>.float
    - <builtin>.sorted
    - typing.cast
    - _accept_re.finditer
    - werkzeug.http.parse_accept_header
    - <builtin>.isinstance
    - match.group
    - <builtin>.max
    - <builtin>.min
    - list.__init__
    - result.append
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 417
    functionName: werkzeug.sansio.request.Request.cache_control
    functionSourceFile: werkzeug.sansio.request
    functionUses: 0
    functionsReached:
    - typing.cast
    - value.decode
    - werkzeug.http.unquote_header_value
    - <builtin>.isinstance
    - value.replace
    - werkzeug.http.parse_cache_control_header
    - werkzeug.http.parse_dict_header
    - werkzeug.datastructures._CacheControl.__init__
    - dict.__init__
    - urllib.request.parse_http_list
    - urllib.request.parse_http_list.split
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 425
    functionName: werkzeug.sansio.request.Request.if_match
    functionSourceFile: werkzeug.sansio.request
    functionUses: 0
    functionsReached:
    - <builtin>.len
    - match.end
    - strong.append
    - werkzeug.http.parse_etags
    - werkzeug.datastructures.ETags.__init__
    - <builtin>.frozenset
    - match.groups
    - _etag_re.match
    - weak.append
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 433
    functionName: werkzeug.sansio.request.Request.if_none_match
    functionSourceFile: werkzeug.sansio.request
    functionUses: 0
    functionsReached:
    - <builtin>.len
    - match.end
    - strong.append
    - werkzeug.http.parse_etags
    - werkzeug.datastructures.ETags.__init__
    - <builtin>.frozenset
    - match.groups
    - _etag_re.match
    - weak.append
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 441
    functionName: werkzeug.sansio.request.Request.if_modified_since
    functionSourceFile: werkzeug.sansio.request
    functionUses: 0
    functionsReached:
    - email.utils.parsedate_to_datetime
    - werkzeug.http.parse_date
    - dt.replace
    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: 2
    functionLinenumber: 450
    functionName: werkzeug.sansio.request.Request.if_unmodified_since
    functionSourceFile: werkzeug.sansio.request
    functionUses: 0
    functionsReached:
    - email.utils.parsedate_to_datetime
    - werkzeug.http.parse_date
    - dt.replace
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 459
    functionName: werkzeug.sansio.request.Request.if_range
    functionSourceFile: werkzeug.sansio.request
    functionUses: 0
    functionsReached:
    - werkzeug.http.parse_date
    - werkzeug.datastructures.IfRange.__init__
    - werkzeug.http.unquote_etag
    - werkzeug.http.parse_if_range_header
    - dt.replace
    - email.utils.parsedate_to_datetime
    - etag.startswith
    - etag.strip
    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: 2
    functionLinenumber: 470
    functionName: werkzeug.sansio.request.Request.range
    functionSourceFile: werkzeug.sansio.request
    functionUses: 0
    functionsReached:
    - werkzeug.http.parse_range_header
    - ranges.append
    - end_str.isdigit
    - item.startswith
    - end_str.strip
    - item.strip
    - begin_str.strip
    - werkzeug.datastructures.Range.__init__
    - begin_str.isdigit
    - units.strip
    - <builtin>.int
    - value.split
    - rng.split
    - item.split
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 482
    functionName: werkzeug.sansio.request.Request.user_agent
    functionSourceFile: werkzeug.sansio.request
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 7
    functionLinenumber: 498
    functionName: werkzeug.sansio.request.Request.authorization
    functionSourceFile: werkzeug.sansio.request
    functionUses: 0
    functionsReached:
    - werkzeug._internal._to_str
    - typing.NamedTuple.scheme.decode
    - base64.b64decode
    - werkzeug.http.parse_dict_header
    - auth_type.lower
    - http.server.BaseHTTPRequestHandler.path.decode
    - dict.__init__
    - werkzeug.urls.BytesURL.decode
    - typing.NamedTuple.query.decode
    - value.decode
    - typing.NamedTuple.fragment.decode
    - werkzeug.http.unquote_header_value
    - werkzeug.http.parse_authorization_header
    - typing.NamedTuple.decode
    - value.replace
    - werkzeug._internal._decode_idna
    - typing.NamedTuple.__init__
    - werkzeug.urls.BaseURL.decode_netloc
    - urllib.request.parse_http_list.split
    - werkzeug._internal._wsgi_decoding_dance
    - s.encode
    - <builtin>.str
    - domain.encode
    - werkzeug._internal._decode_idna.decode_part
    - domain.split
    - value.split
    - part.decode
    - typing.NamedTuple.path.decode
    - urllib.request.parse_http_list
    - auth_map.get
    - werkzeug.datastructures.Authorization.__init__
    - <builtin>.isinstance
    - <builtin>.filter
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 538
    functionName: werkzeug.sansio.request.Request.is_json
    functionSourceFile: werkzeug.sansio.request
    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: werkzeug.user_agent
    functionSourceFile: werkzeug.user_agent
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - string
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 32
    functionName: werkzeug.user_agent.UserAgent.__init__
    functionSourceFile: werkzeug.user_agent
    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: 36
    functionName: werkzeug.user_agent.UserAgent.__repr__
    functionSourceFile: werkzeug.user_agent
    functionUses: 0
    functionsReached:
    - <builtin>.type
    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: 39
    functionName: werkzeug.user_agent.UserAgent.__str__
    functionSourceFile: werkzeug.user_agent
    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: 42
    functionName: werkzeug.user_agent.UserAgent.__bool__
    functionSourceFile: werkzeug.user_agent
    functionUses: 0
    functionsReached:
    - <builtin>.bool
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 45
    functionName: werkzeug.user_agent.UserAgent.to_header
    functionSourceFile: werkzeug.user_agent
    functionUses: 0
    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: werkzeug.middleware
    functionSourceFile: werkzeug.middleware
    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: flask_restx.reqparse
    functionSourceFile: flask_restx.reqparse
    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
    - name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 24
    functionName: flask_restx.reqparse.ParseResult.__getattr__
    functionSourceFile: flask_restx.reqparse
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - AttributeError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - name
    - value
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 30
    functionName: flask_restx.reqparse.ParseResult.__setattr__
    functionSourceFile: flask_restx.reqparse
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 16
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe3cf4040>
    - <ast.Constant object at 0x7fcfe3d17fd0>
    - <ast.Constant object at 0x7fcfe3d17fa0>
    - <ast.Constant object at 0x7fcfe3d17f70>
    - <ast.Name object at 0x7fcfe3d17f40>
    - <ast.Tuple object at 0x7fcfe3d17f10>
    - <ast.Tuple object at 0x7fcfe3d17e80>
    - <ast.Constant object at 0x7fcfe3d17e50>
    - <ast.Constant object at 0x7fcfe3d17e20>
    - <ast.Tuple object at 0x7fcfe3d17df0>
    - <ast.Constant object at 0x7fcfe3d17d90>
    - <ast.Constant object at 0x7fcfe3d17d60>
    - <ast.Constant object at 0x7fcfe3d17d30>
    - <ast.Constant object at 0x7fcfe3d17d00>
    argNames:
    - self
    - name
    - default
    - dest
    - required
    - ignore
    - type
    - location
    - choices
    - action
    - help
    - operators
    - case_sensitive
    - store_missing
    - trim
    - nullable
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 95
    functionName: flask_restx.reqparse.Argument.__init__
    functionSourceFile: flask_restx.reqparse
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 11
    ICount: 2
    IfCount: 7
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - request
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 132
    functionName: flask_restx.reqparse.Argument.source
    functionSourceFile: flask_restx.reqparse
    functionUses: 3
    functionsReached:
    - werkzeug.datastructures.OrderedMultiDict.getlist
    - werkzeug.datastructures.OrderedMultiDict.update
    - werkzeug.datastructures.OrderedMultiDict.add
    - d.items
    - <builtin>.len
    - dict.__init__
    - werkzeug.datastructures._omd_bucket.__init__
    - rv.setdefault
    - dict.setdefault
    - werkzeug.datastructures.CombinedMultiDict.items
    - <builtin>.list
    - dict.__getitem__
    - werkzeug.datastructures.CombinedMultiDict.lists
    - werkzeug.datastructures.OrderedMultiDict.lists
    - result.append
    - werkzeug.datastructures.MultiDict.add
    - werkzeug.datastructures.MultiDict.__init__
    - rv.items
    - returned_keys.add
    - <builtin>.getattr
    - d.lists
    - tmp.setdefault
    - <builtin>.callable
    - found.add
    - request.get_json
    - dict.items
    - werkzeug.datastructures.MultiDict.lists
    - <builtin>.isinstance
    - werkzeug.datastructures.OrderedMultiDict.items
    - <builtin>.set
    - werkzeug.datastructures.iter_multi_items
    - werkzeug.datastructures.MultiDict.update
    - werkzeug.datastructures.MultiDict.items
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: request.get_json
    functionSourceFile: <builtin>
    functionUses: 9
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 0
    IfCount: 5
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - value
    - op
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 8
    functionLinenumber: 161
    functionName: flask_restx.reqparse.Argument.convert
    functionSourceFile: flask_restx.reqparse
    functionUses: 1
    functionsReached:
    - flask_restx.marshalling._marshal
    - collections.OrderedDict.keys
    - field.output
    - flask_restx.marshalling.marshal._append
    - flask_restx.mask.Mask.apply
    - flask_restx.mask.Mask.filter_data
    - mapping.values
    - flask_restx.fields.Polymorph.resolve_ancestor
    - <builtin>.hasattr
    - <builtin>.len
    - flask_restx.fields.Raw.__init__
    - <builtin>.dict
    - flask_restx.marshalling.make
    - collections.OrderedDict.replace
    - LEXER.findall
    - stack.pop
    - <builtin>.list
    - stack.append
    - <builtin>.issubclass
    - candidates.pop
    - <builtin>.str
    - flask_restx.mask.Mask.parse
    - flask_restx.mask.Mask.clean
    - flask_restx.mask.Mask.__init__
    - data.pop
    - <builtin>.getattr
    - flask_restx.fields.Polymorph.__init__
    - field.container.format
    - flask_restx.mask.apply
    - <builtin>.type
    - collections.OrderedDict
    - flask_restx.fields.Polymorph.clone
    - flask_restx.marshalling.marshal
    - content.apply
    - <builtin>.isinstance
    - flask_restx.marshalling._marshal.__format_field
    - items.append
    - <builtin>.super
    - <builtin>.set
    - field.reset
    - set.intersection
    - inspect.isclass
    - keys.append
    - collections.OrderedDict.items
    - <builtin>.tuple
    linkageType: pythonLinkage
    raised:
    - ValueError
    returnType: N/A
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 12
    ICount: 6
    IfCount: 8
    argCount: 6
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe222a1f0>
    - <ast.Constant object at 0x7fcfe222a1c0>
    - <ast.Constant object at 0x7fcfe222a190>
    - <ast.Constant object at 0x7fcfe222a160>
    argNames:
    - data
    - fields
    - envelope
    - skip_none
    - mask
    - ordered
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 7
    functionLinenumber: 16
    functionName: flask_restx.marshalling.marshal
    functionSourceFile: flask_restx.marshalling
    functionUses: 8
    functionsReached:
    - flask_restx.marshalling._marshal
    - collections.OrderedDict.keys
    - field.output
    - flask_restx.marshalling.marshal._append
    - flask_restx.mask.Mask.apply
    - flask_restx.mask.Mask.filter_data
    - mapping.values
    - flask_restx.fields.Polymorph.resolve_ancestor
    - <builtin>.hasattr
    - <builtin>.len
    - flask_restx.fields.Raw.__init__
    - <builtin>.dict
    - flask_restx.marshalling.make
    - collections.OrderedDict.replace
    - LEXER.findall
    - stack.pop
    - <builtin>.list
    - stack.append
    - <builtin>.issubclass
    - candidates.pop
    - flask_restx.mask.Mask.clean
    - flask_restx.mask.Mask.parse
    - flask_restx.mask.Mask.__init__
    - data.pop
    - <builtin>.getattr
    - flask_restx.fields.Polymorph.__init__
    - field.container.format
    - flask_restx.mask.apply
    - <builtin>.type
    - collections.OrderedDict
    - flask_restx.fields.Polymorph.clone
    - flask_restx.marshalling.marshal
    - content.apply
    - <builtin>.isinstance
    - flask_restx.marshalling._marshal.__format_field
    - items.append
    - <builtin>.super
    - <builtin>.set
    - field.reset
    - set.intersection
    - inspect.isclass
    - keys.append
    - collections.OrderedDict.items
    - <builtin>.tuple
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - error
    - bundle_errors
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 187
    functionName: flask_restx.reqparse.Argument.handle_validation_error
    functionSourceFile: flask_restx.reqparse
    functionUses: 1
    functionsReached:
    - <builtin>.ValueError
    - <builtin>.str
    - flask.abort
    - flask_restx.errors.abort
    linkageType: pythonLinkage
    raised: []
    returnType: N/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>.ValueError
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    IfCount: 2
    argCount: 3
    argDefaultValues:
    - <ast.Attribute object at 0x7fcfe3d28bb0>
    - <ast.Constant object at 0x7fcfe3d28c40>
    argNames:
    - code
    - message
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 15
    functionName: flask_restx.errors.abort
    functionSourceFile: flask_restx.errors
    functionUses: 5
    functionsReached:
    - <builtin>.str
    - flask.abort
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 15
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 22
    ICount: 3
    IfCount: 15
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe25e0bb0>
    argNames:
    - self
    - request
    - bundle_errors
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 9
    functionLinenumber: 205
    functionName: flask_restx.reqparse.Argument.parse
    functionSourceFile: flask_restx.reqparse
    functionUses: 0
    functionsReached:
    - dict.__init__
    - <builtin>.dict
    - flask.abort
    - flask_restx.reqparse.Argument.handle_validation_error
    - dict.__getitem__
    - value.strip
    - result.append
    - werkzeug.datastructures.MultiDict.add
    - werkzeug.datastructures.MultiDict.__init__
    - <builtin>.str
    - flask_restx.mask.Mask.__init__
    - data.pop
    - d.lists
    - field.container.format
    - flask_restx.marshalling.marshal
    - dict.items
    - werkzeug.datastructures.MultiDict.lists
    - <builtin>.super
    - <builtin>.set
    - set.intersection
    - field.reset
    - flask_restx.marshalling._marshal
    - werkzeug.datastructures.OrderedMultiDict.getlist
    - field.output
    - flask_restx.mask.Mask.filter_data
    - mapping.values
    - d.items
    - flask_restx.fields.Raw.__init__
    - flask_restx.marshalling.make
    - LEXER.findall
    - <builtin>.list
    - werkzeug.datastructures.CombinedMultiDict.items
    - werkzeug.datastructures.CombinedMultiDict.lists
    - operator.replace
    - d.getlist
    - <builtin>.issubclass
    - candidates.pop
    - value.split
    - _friendly_location.get
    - werkzeug.datastructures.CombinedMultiDict.getlist
    - tmp.setdefault
    - <builtin>.type
    - collections.OrderedDict
    - found.add
    - request.get_json
    - werkzeug.datastructures.OrderedMultiDict.items
    - werkzeug.datastructures.iter_multi_items
    - werkzeug.datastructures.MultiDict.update
    - werkzeug.datastructures.MultiDict.items
    - <builtin>.tuple
    - collections.OrderedDict.keys
    - <builtin>.ValueError
    - flask_restx.mask.Mask.apply
    - werkzeug.datastructures.OrderedMultiDict.add
    - flask_restx.fields.Polymorph.resolve_ancestor
    - <builtin>.hasattr
    - results.append
    - <builtin>.len
    - flask_restx.reqparse.Argument.source
    - rv.extend
    - collections.OrderedDict.replace
    - flask_restx.errors.abort
    - request.unparsed_arguments.pop
    - rv.setdefault
    - dict.setdefault
    - werkzeug.datastructures.OrderedMultiDict.lists
    - flask_restx.mask.Mask.clean
    - flask_restx.mask.Mask.parse
    - rv.items
    - <builtin>.getattr
    - flask_restx.fields.Polymorph.__init__
    - <builtin>.callable
    - flask_restx.fields.Polymorph.clone
    - content.apply
    - inspect.isclass
    - choice.lower
    - werkzeug.datastructures.TypeConversionDict.get
    - flask_restx.marshalling.marshal._append
    - werkzeug.datastructures.OrderedMultiDict.update
    - werkzeug.datastructures._omd_bucket.__init__
    - stack.pop
    - stack.append
    - flask_restx.reqparse.Argument.convert
    - current_app.config.get
    - returned_keys.add
    - werkzeug.datastructures.MultiDict.getlist
    - flask_restx.mask.apply
    - werkzeug.datastructures.CombinedMultiDict.get
    - <builtin>.isinstance
    - flask_restx.marshalling._marshal.__format_field
    - items.append
    - keys.append
    - collections.OrderedDict.items
    - value.lower
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: current_app.config.get
    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: operator.replace
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: choice.lower
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: request.unparsed_arguments.pop
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: results.append
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: _friendly_location.get
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 12
    ICount: 1
    IfCount: 8
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 288
    functionName: flask_restx.reqparse.Argument.__schema__
    functionSourceFile: flask_restx.reqparse
    functionUses: 0
    functionsReached:
    - LOCATIONS.get
    - <builtin>.callable
    - param.pop
    - param.update
    - <builtin>.isinstance
    - <builtin>.hasattr
    - flask_restx.reqparse._handle_arg_type
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: LOCATIONS.get
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 1
    IfCount: 4
    argCount: 2
    argDefaultValues: []
    argNames:
    - arg
    - param
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 447
    functionName: flask_restx.reqparse._handle_arg_type
    functionSourceFile: flask_restx.reqparse
    functionUses: 1
    functionsReached:
    - <builtin>.isinstance
    - param.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: param.pop
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: kwargs.get
    functionSourceFile: <builtin>
    functionUses: 28
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: arg.parse
    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: errors.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: req.unparsed_arguments.keys
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 407
    functionName: flask_restx.reqparse.RequestParser.copy
    functionSourceFile: flask_restx.reqparse
    functionUses: 0
    functionsReached:
    - copy.deepcopy
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: copy.deepcopy
    functionSourceFile: copy
    functionUses: 19
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - name
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 415
    functionName: flask_restx.reqparse.RequestParser.replace_argument
    functionSourceFile: flask_restx.reqparse
    functionUses: 0
    functionsReached:
    - flask_restx.reqparse.Argument.__init__
    - <builtin>.enumerate
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 425
    functionName: flask_restx.reqparse.RequestParser.remove_argument
    functionSourceFile: flask_restx.reqparse
    functionUses: 0
    functionsReached:
    - <builtin>.enumerate
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 434
    functionName: flask_restx.reqparse.RequestParser.__schema__
    functionSourceFile: flask_restx.reqparse
    functionUses: 0
    functionsReached:
    - locations.add
    - <builtin>.set
    - params.append
    linkageType: pythonLinkage
    raised:
    - SpecsError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: params.append
    functionSourceFile: <builtin>
    functionUses: 8
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: locations.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: param.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: flask_restx.marshalling
    functionSourceFile: flask_restx.marshalling
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - cls
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 10
    functionName: flask_restx.marshalling.make
    functionSourceFile: flask_restx.marshalling
    functionUses: 10
    functionsReached:
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 1
    IfCount: 5
    argCount: 6
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe107bfd0>
    - <ast.Constant object at 0x7fcfe107b640>
    - <ast.Constant object at 0x7fcfe107b700>
    - <ast.Constant object at 0x7fcfe107b220>
    argNames:
    - data
    - fields
    - envelope
    - skip_none
    - mask
    - ordered
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 112
    functionName: flask_restx.marshalling._marshal
    functionSourceFile: flask_restx.marshalling
    functionUses: 8
    functionsReached:
    - flask_restx.marshalling._marshal
    - collections.OrderedDict.keys
    - field.output
    - flask_restx.marshalling.marshal._append
    - flask_restx.mask.Mask.apply
    - flask_restx.mask.Mask.filter_data
    - mapping.values
    - flask_restx.fields.Polymorph.resolve_ancestor
    - <builtin>.hasattr
    - <builtin>.len
    - flask_restx.fields.Raw.__init__
    - <builtin>.dict
    - flask_restx.marshalling.make
    - collections.OrderedDict.replace
    - LEXER.findall
    - stack.pop
    - <builtin>.list
    - stack.append
    - <builtin>.issubclass
    - candidates.pop
    - flask_restx.mask.Mask.clean
    - flask_restx.mask.Mask.parse
    - flask_restx.mask.Mask.__init__
    - data.pop
    - <builtin>.getattr
    - flask_restx.fields.Polymorph.__init__
    - field.container.format
    - flask_restx.mask.apply
    - <builtin>.type
    - collections.OrderedDict
    - flask_restx.fields.Polymorph.clone
    - flask_restx.marshalling.marshal
    - content.apply
    - <builtin>.isinstance
    - flask_restx.marshalling._marshal.__format_field
    - items.append
    - <builtin>.super
    - <builtin>.set
    - field.reset
    - set.intersection
    - inspect.isclass
    - keys.append
    - collections.OrderedDict.items
    - <builtin>.tuple
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: field.reset
    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: field.output
    functionSourceFile: <builtin>
    functionUses: 10
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - k
    - v
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 78
    functionName: flask_restx.marshalling.marshal._append
    functionSourceFile: flask_restx.marshalling
    functionUses: 9
    functionsReached:
    - collections.OrderedDict
    - items.append
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: collections.OrderedDict
    functionSourceFile: collections
    functionUses: 21
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: field.container.format
    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: keys.append
    functionSourceFile: <builtin>
    functionUses: 9
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe25e0700>
    argNames:
    - data
    - mask
    - skip
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 177
    functionName: flask_restx.mask.apply
    functionSourceFile: flask_restx.mask
    functionUses: 9
    functionsReached:
    - collections.OrderedDict.keys
    - flask_restx.mask.Mask.apply
    - flask_restx.mask.Mask.filter_data
    - mapping.values
    - flask_restx.fields.Polymorph.resolve_ancestor
    - <builtin>.hasattr
    - <builtin>.len
    - flask_restx.fields.Raw.__init__
    - collections.OrderedDict.replace
    - LEXER.findall
    - stack.pop
    - <builtin>.list
    - stack.append
    - <builtin>.issubclass
    - candidates.pop
    - flask_restx.mask.Mask.clean
    - flask_restx.mask.Mask.parse
    - flask_restx.mask.Mask.__init__
    - data.pop
    - flask_restx.fields.Polymorph.__init__
    - <builtin>.type
    - flask_restx.fields.Polymorph.clone
    - content.apply
    - <builtin>.isinstance
    - <builtin>.super
    - set.intersection
    - inspect.isclass
    - collections.OrderedDict.items
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - key
    - val
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 166
    functionName: flask_restx.marshalling._marshal.__format_field
    functionSourceFile: flask_restx.marshalling
    functionUses: 9
    functionsReached:
    - <builtin>.isinstance
    - field.output
    - flask_restx.marshalling.make
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 6
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe4b3dfa0>
    - <ast.Constant object at 0x7fcfe4b3d310>
    - <ast.Constant object at 0x7fcfe4b3d460>
    - <ast.Constant object at 0x7fcfe4b3d220>
    argNames:
    - self
    - fields
    - envelope
    - skip_none
    - mask
    - ordered
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 226
    functionName: flask_restx.marshalling.marshal_with.__init__
    functionSourceFile: flask_restx.marshalling
    functionUses: 0
    functionsReached:
    - LEXER.findall
    - stack.pop
    - flask_restx.mask.Mask.clean
    - flask_restx.mask.Mask.parse
    - stack.append
    - <builtin>.isinstance
    - flask_restx.mask.Mask.__init__
    - <builtin>.super
    - collections.OrderedDict.replace
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    IfCount: 2
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe4972df0>
    - <ast.Constant object at 0x7fcfe4972dc0>
    argNames:
    - self
    - mask
    - skip
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 34
    functionName: flask_restx.mask.Mask.__init__
    functionSourceFile: flask_restx.mask
    functionUses: 17
    functionsReached:
    - LEXER.findall
    - stack.pop
    - flask_restx.mask.Mask.clean
    - flask_restx.mask.Mask.parse
    - stack.append
    - <builtin>.isinstance
    - flask_restx.mask.Mask.__init__
    - <builtin>.super
    - collections.OrderedDict.replace
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - f
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 241
    functionName: flask_restx.marshalling.marshal_with.__call__
    functionSourceFile: flask_restx.marshalling
    functionUses: 0
    functionsReached:
    - functools.wraps
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 8
    functionLinenumber: 243
    functionName: flask_restx.marshalling.marshal_with.__call__.wrapper
    functionSourceFile: flask_restx.marshalling
    functionUses: 0
    functionsReached:
    - flask_restx.marshalling._marshal
    - collections.OrderedDict.keys
    - field.output
    - flask_restx.marshalling.marshal._append
    - flask_restx.mask.Mask.apply
    - flask_restx.mask.Mask.filter_data
    - mapping.values
    - flask_restx.fields.Polymorph.resolve_ancestor
    - <builtin>.hasattr
    - <builtin>.len
    - flask_restx.utils.unpack
    - flask_restx.fields.Raw.__init__
    - <builtin>.dict
    - flask_restx.marshalling.make
    - collections.OrderedDict.replace
    - LEXER.findall
    - stack.pop
    - <builtin>.list
    - stack.append
    - candidates.pop
    - <builtin>.issubclass
    - flask_restx.mask.Mask.clean
    - flask_restx.mask.Mask.parse
    - flask_restx.mask.Mask.__init__
    - data.pop
    - <builtin>.getattr
    - flask_restx.fields.Polymorph.__init__
    - field.container.format
    - flask_restx.mask.apply
    - <builtin>.type
    - collections.OrderedDict
    - flask_restx.fields.Polymorph.clone
    - request.headers.get
    - flask_restx.marshalling.marshal
    - content.apply
    - <builtin>.isinstance
    - flask.ctx.has_app_context
    - flask_restx.marshalling._marshal.__format_field
    - items.append
    - <builtin>.super
    - <builtin>.set
    - field.reset
    - set.intersection
    - inspect.isclass
    - keys.append
    - collections.OrderedDict.items
    - <builtin>.tuple
    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: 218
    functionName: flask.ctx.has_app_context
    functionSourceFile: ''
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: request.headers.get
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 1
    IfCount: 4
    argCount: 2
    argDefaultValues:
    - <ast.Attribute object at 0x7fcfe107bfd0>
    argNames:
    - response
    - default_code
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 85
    functionName: flask_restx.utils.unpack
    functionSourceFile: flask_restx.utils
    functionUses: 6
    functionsReached:
    - <builtin>.len
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised:
    - ValueError
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - field
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 286
    functionName: flask_restx.marshalling.marshal_with_field.__init__
    functionSourceFile: flask_restx.marshalling
    functionUses: 0
    functionsReached:
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - f
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 295
    functionName: flask_restx.marshalling.marshal_with_field.__call__
    functionSourceFile: flask_restx.marshalling
    functionUses: 0
    functionsReached:
    - functools.wraps
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 297
    functionName: flask_restx.marshalling.marshal_with_field.__call__.wrapper
    functionSourceFile: flask_restx.marshalling
    functionUses: 0
    functionsReached:
    - <builtin>.len
    - flask_restx.utils.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: 1
    functionLinenumber: -1
    functionName: flask_restx.mask
    functionSourceFile: flask_restx.mask
    functionUses: 0
    functionsReached:
    - re.compile
    - logging.getLogger
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 12
    ICount: 2
    IfCount: 8
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - mask
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 45
    functionName: flask_restx.mask.Mask.parse
    functionSourceFile: flask_restx.mask
    functionUses: 17
    functionsReached:
    - LEXER.findall
    - stack.pop
    - flask_restx.mask.Mask.clean
    - flask_restx.mask.Mask.parse
    - stack.append
    - flask_restx.mask.Mask.__init__
    - <builtin>.isinstance
    - <builtin>.super
    - collections.OrderedDict.replace
    linkageType: pythonLinkage
    raised:
    - ParseError
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - mask
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 92
    functionName: flask_restx.mask.Mask.clean
    functionSourceFile: flask_restx.mask
    functionUses: 18
    functionsReached:
    - collections.OrderedDict.replace
    linkageType: pythonLinkage
    raised:
    - ParseError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: LEXER.findall
    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: stack.append
    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: collections.OrderedDict.replace
    functionSourceFile: collections
    functionUses: 19
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 9
    ICount: 1
    IfCount: 6
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - data
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 102
    functionName: flask_restx.mask.Mask.apply
    functionSourceFile: flask_restx.mask
    functionUses: 11
    functionsReached:
    - collections.OrderedDict.keys
    - flask_restx.mask.Mask.filter_data
    - flask_restx.mask.Mask.apply
    - mapping.values
    - flask_restx.fields.Polymorph.resolve_ancestor
    - <builtin>.hasattr
    - <builtin>.len
    - flask_restx.fields.Raw.__init__
    - <builtin>.list
    - <builtin>.issubclass
    - candidates.pop
    - data.pop
    - flask_restx.fields.Polymorph.__init__
    - <builtin>.type
    - flask_restx.fields.Polymorph.clone
    - content.apply
    - <builtin>.isinstance
    - <builtin>.super
    - set.intersection
    - inspect.isclass
    - collections.OrderedDict.items
    linkageType: pythonLinkage
    raised:
    - MaskError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe3b3dbe0>
    argNames:
    - self
    - mask
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 780
    functionName: flask_restx.fields.Polymorph.clone
    functionSourceFile: flask_restx.fields
    functionUses: 12
    functionsReached:
    - <builtin>.list
    - mapping.values
    - flask_restx.fields.Polymorph.resolve_ancestor
    - data.pop
    - <builtin>.super
    - set.intersection
    - flask_restx.fields.Polymorph.__init__
    - <builtin>.len
    - candidates.pop
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 10
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe2aad190>
    - <ast.Constant object at 0x7fcfe25e01c0>
    - <ast.Constant object at 0x7fcfe25e0d30>
    - <ast.Constant object at 0x7fcfe25e0bb0>
    - <ast.Constant object at 0x7fcfe25e0f10>
    - <ast.Constant object at 0x7fcfe25e0eb0>
    - <ast.Constant object at 0x7fcfe25e0a60>
    - <ast.Constant object at 0x7fcfe25e04c0>
    argNames:
    - self
    - default
    - attribute
    - title
    - description
    - required
    - readonly
    - example
    - mask
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 146
    functionName: flask_restx.fields.Raw.__init__
    functionSourceFile: ''
    functionUses: 12
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: inspect.isclass
    functionSourceFile: inspect
    functionUses: 23
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 11
    ICount: 1
    IfCount: 7
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - data
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 134
    functionName: flask_restx.mask.Mask.filter_data
    functionSourceFile: flask_restx.mask
    functionUses: 12
    functionsReached:
    - collections.OrderedDict.keys
    - <builtin>.isinstance
    - collections.OrderedDict.items
    - content.apply
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: collections.OrderedDict.items
    functionSourceFile: collections
    functionUses: 31
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: content.apply
    functionSourceFile: <builtin>
    functionUses: 13
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: collections.OrderedDict.keys
    functionSourceFile: collections
    functionUses: 17
    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: 166
    functionName: flask_restx.mask.Mask.__str__
    functionSourceFile: flask_restx.mask
    functionUses: 0
    functionsReached:
    - <builtin>.str
    - <builtin>.isinstance
    - collections.OrderedDict.items
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: flask_restx.fields
    functionSourceFile: flask_restx.fields
    functionUses: 0
    functionsReached:
    - decimal.Decimal
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - underlying_exception
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 55
    functionName: flask_restx.fields.MarshallingError.__init__
    functionSourceFile: flask_restx.fields
    functionUses: 0
    functionsReached:
    - <builtin>.str
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - obj
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 61
    functionName: flask_restx.fields.is_indexable_but_not_string
    functionSourceFile: flask_restx.fields
    functionUses: 7
    functionsReached:
    - <builtin>.hasattr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - obj
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 65
    functionName: flask_restx.fields.is_integer_indexable
    functionSourceFile: flask_restx.fields
    functionUses: 7
    functionsReached:
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe2cac190>
    argNames:
    - key
    - obj
    - default
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 69
    functionName: flask_restx.fields.get_value
    functionSourceFile: flask_restx.fields
    functionUses: 4
    functionsReached:
    - flask_restx.fields._get_value_for_key
    - <builtin>.callable
    - flask_restx.fields._get_value_for_keys
    - flask_restx.fields.is_indexable_but_not_string
    - <builtin>.int
    - <builtin>.isinstance
    - <builtin>.hasattr
    - key.split
    - <builtin>.len
    - flask_restx.fields.is_integer_indexable
    - <builtin>.getattr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 3
    argDefaultValues: []
    argNames:
    - key
    - obj
    - default
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 88
    functionName: flask_restx.fields._get_value_for_key
    functionSourceFile: flask_restx.fields
    functionUses: 6
    functionsReached:
    - flask_restx.fields.is_indexable_but_not_string
    - <builtin>.int
    - <builtin>.isinstance
    - <builtin>.hasattr
    - <builtin>.getattr
    - flask_restx.fields.is_integer_indexable
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.split
    functionSourceFile: <builtin>
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - keys
    - obj
    - default
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 79
    functionName: flask_restx.fields._get_value_for_keys
    functionSourceFile: flask_restx.fields
    functionUses: 5
    functionsReached:
    - flask_restx.fields._get_value_for_key
    - flask_restx.fields._get_value_for_keys
    - flask_restx.fields.is_indexable_but_not_string
    - <builtin>.int
    - <builtin>.isinstance
    - <builtin>.hasattr
    - <builtin>.getattr
    - <builtin>.len
    - flask_restx.fields.is_integer_indexable
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 1
    IfCount: 3
    argCount: 1
    argDefaultValues: []
    argNames:
    - obj
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 102
    functionName: flask_restx.fields.to_marshallable_type
    functionSourceFile: flask_restx.fields
    functionUses: 2
    functionsReached:
    - <builtin>.hasattr
    - <builtin>.dict
    - obj.__marshallable__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: obj.__marshallable__
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - value
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 167
    functionName: flask_restx.fields.Raw.format
    functionSourceFile: flask_restx.fields
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - key
    - obj
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 184
    functionName: flask_restx.fields.Raw.output
    functionSourceFile: flask_restx.fields
    functionUses: 0
    functionsReached:
    - collections.OrderedDict.keys
    - flask_restx.fields.Raw._v
    - flask_restx.mask.Mask.apply
    - flask_restx.mask.Mask.filter_data
    - mapping.values
    - flask_restx.fields.Polymorph.resolve_ancestor
    - <builtin>.hasattr
    - key.split
    - <builtin>.len
    - flask_restx.fields.is_integer_indexable
    - flask_restx.fields.Raw.__init__
    - flask_restx.fields._get_value_for_key
    - <builtin>.list
    - flask_restx.fields.is_indexable_but_not_string
    - candidates.pop
    - <builtin>.issubclass
    - flask_restx.fields._get_value_for_keys
    - <builtin>.str
    - <builtin>.int
    - flask_restx.fields.get_value
    - data.pop
    - flask_restx.fields.Polymorph.__init__
    - <builtin>.getattr
    - flask_restx.fields.Raw.format
    - <builtin>.type
    - <builtin>.callable
    - flask_restx.fields.Polymorph.clone
    - content.apply
    - <builtin>.isinstance
    - <builtin>.super
    - set.intersection
    - inspect.isclass
    - collections.OrderedDict.items
    linkageType: pythonLinkage
    raised:
    - MarshallingError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - key
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 210
    functionName: flask_restx.fields.Raw._v
    functionSourceFile: flask_restx.fields
    functionUses: 8
    functionsReached:
    - <builtin>.callable
    - <builtin>.getattr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: flask_restx.fields.Raw
    functionSourceFile: flask_restx.fields
    functionUses: 0
    functionsReached:
    - werkzeug.utils.cached_property
    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: 3
    functionLinenumber: 216
    functionName: flask_restx.fields.Raw.__schema__
    functionSourceFile: flask_restx.fields
    functionUses: 0
    functionsReached:
    - <builtin>.callable
    - flask_restx.fields.Raw._v
    - data.items
    - flask_restx.utils.not_none
    - <builtin>.getattr
    - <builtin>.dict
    - flask_restx.fields.Raw.schema
    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: 219
    functionName: flask_restx.fields.Raw.schema
    functionSourceFile: flask_restx.fields
    functionUses: 1
    functionsReached:
    - <builtin>.callable
    - flask_restx.fields.Raw._v
    - <builtin>.getattr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - data
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 63
    functionName: flask_restx.utils.not_none
    functionSourceFile: flask_restx.utils
    functionUses: 13
    functionsReached:
    - data.items
    - <builtin>.dict
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 6
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe1d83100>
    - <ast.Constant object at 0x7fcfe1d83dc0>
    - <ast.Constant object at 0x7fcfe1d83820>
    argNames:
    - self
    - model
    - allow_null
    - skip_none
    - as_list
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 250
    functionName: flask_restx.fields.Nested.__init__
    functionSourceFile: flask_restx.fields
    functionUses: 0
    functionsReached:
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 260
    functionName: flask_restx.fields.Nested.nested
    functionSourceFile: flask_restx.fields
    functionUses: 0
    functionsReached:
    - <builtin>.getattr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 0
    IfCount: 3
    argCount: 5
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe47ed400>
    argNames:
    - self
    - key
    - obj
    - ordered
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 8
    functionLinenumber: 263
    functionName: flask_restx.fields.Nested.output
    functionSourceFile: flask_restx.fields
    functionUses: 0
    functionsReached:
    - flask_restx.marshalling._marshal
    - collections.OrderedDict.keys
    - field.output
    - flask_restx.marshalling.marshal._append
    - flask_restx.mask.Mask.apply
    - flask_restx.mask.Mask.filter_data
    - mapping.values
    - flask_restx.fields.Polymorph.resolve_ancestor
    - <builtin>.hasattr
    - key.split
    - <builtin>.len
    - flask_restx.fields.is_integer_indexable
    - flask_restx.fields.Raw.__init__
    - <builtin>.dict
    - flask_restx.marshalling.make
    - collections.OrderedDict.replace
    - flask_restx.fields._get_value_for_key
    - LEXER.findall
    - stack.pop
    - <builtin>.list
    - flask_restx.fields.is_indexable_but_not_string
    - stack.append
    - <builtin>.issubclass
    - candidates.pop
    - flask_restx.fields._get_value_for_keys
    - flask_restx.mask.Mask.clean
    - flask_restx.mask.Mask.parse
    - <builtin>.int
    - flask_restx.mask.Mask.__init__
    - flask_restx.fields.get_value
    - data.pop
    - <builtin>.getattr
    - flask_restx.fields.Polymorph.__init__
    - field.container.format
    - flask_restx.mask.apply
    - <builtin>.type
    - collections.OrderedDict
    - <builtin>.callable
    - flask_restx.fields.Polymorph.clone
    - flask_restx.marshalling.marshal
    - content.apply
    - <builtin>.isinstance
    - flask_restx.marshalling._marshal.__format_field
    - items.append
    - <builtin>.super
    - <builtin>.set
    - field.reset
    - set.intersection
    - inspect.isclass
    - keys.append
    - collections.OrderedDict.items
    - <builtin>.tuple
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 273
    functionName: flask_restx.fields.Nested.schema
    functionSourceFile: flask_restx.fields
    functionUses: 0
    functionsReached:
    - schema.values
    - <builtin>.super
    - allOf.append
    - schema.get
    - <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: schema.values
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: schema.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: allOf.append
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe37501f0>
    argNames:
    - self
    - mask
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 289
    functionName: flask_restx.fields.Nested.clone
    functionSourceFile: flask_restx.fields
    functionUses: 0
    functionsReached:
    - kwargs.pop
    - <builtin>.hasattr
    - mask.apply
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: mask.apply
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 1
    IfCount: 3
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - cls_or_instance
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 306
    functionName: flask_restx.fields.List.__init__
    functionSourceFile: flask_restx.fields
    functionUses: 0
    functionsReached:
    - kwargs.pop
    - <builtin>.super
    - <builtin>.isinstance
    - <builtin>.issubclass
    linkageType: pythonLinkage
    raised:
    - MarshallingError
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - value
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 321
    functionName: flask_restx.fields.List.format
    functionSourceFile: flask_restx.fields
    functionUses: 1
    functionsReached:
    - <builtin>.type
    - <builtin>.list
    - <builtin>.enumerate
    - <builtin>.isinstance
    - <builtin>.hasattr
    - flask_restx.fields.List.format.is_attr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - val
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 328
    functionName: flask_restx.fields.List.format.is_attr
    functionSourceFile: flask_restx.fields
    functionUses: 2
    functionsReached:
    - <builtin>.hasattr
    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 0x7fcfe2c8a310>
    argNames:
    - self
    - key
    - data
    - ordered
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 8
    functionLinenumber: 343
    functionName: flask_restx.fields.List.output
    functionSourceFile: flask_restx.fields
    functionUses: 0
    functionsReached:
    - flask_restx.marshalling._marshal
    - collections.OrderedDict.keys
    - flask_restx.fields.Raw._v
    - field.output
    - flask_restx.marshalling.marshal._append
    - flask_restx.mask.Mask.apply
    - flask_restx.mask.Mask.filter_data
    - <builtin>.enumerate
    - mapping.values
    - flask_restx.fields.Polymorph.resolve_ancestor
    - <builtin>.hasattr
    - key.split
    - <builtin>.len
    - flask_restx.fields.is_integer_indexable
    - flask_restx.fields.Raw.__init__
    - <builtin>.dict
    - flask_restx.marshalling.make
    - collections.OrderedDict.replace
    - flask_restx.fields._get_value_for_key
    - LEXER.findall
    - flask_restx.fields.List.format
    - stack.pop
    - <builtin>.list
    - flask_restx.fields.is_indexable_but_not_string
    - stack.append
    - <builtin>.issubclass
    - candidates.pop
    - flask_restx.fields._get_value_for_keys
    - flask_restx.mask.Mask.clean
    - flask_restx.mask.Mask.parse
    - <builtin>.int
    - flask_restx.mask.Mask.__init__
    - flask_restx.fields.get_value
    - data.pop
    - <builtin>.getattr
    - flask_restx.fields.Polymorph.__init__
    - field.container.format
    - flask_restx.mask.apply
    - <builtin>.type
    - <builtin>.callable
    - collections.OrderedDict
    - flask_restx.fields.Polymorph.clone
    - flask_restx.marshalling.marshal
    - content.apply
    - <builtin>.isinstance
    - flask_restx.marshalling._marshal.__format_field
    - items.append
    - <builtin>.tuple
    - <builtin>.set
    - field.reset
    - <builtin>.super
    - set.intersection
    - inspect.isclass
    - keys.append
    - collections.OrderedDict.items
    - flask_restx.fields.List.format.is_attr
    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: 2
    functionLinenumber: 354
    functionName: flask_restx.fields.List.schema
    functionSourceFile: flask_restx.fields
    functionUses: 0
    functionsReached:
    - <builtin>.callable
    - flask_restx.fields.Raw._v
    - schema.update
    - <builtin>.super
    - <builtin>.getattr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: schema.update
    functionSourceFile: <builtin>
    functionUses: 5
    functionsReached: []
    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 0x7fcfe2c92fd0>
    argNames:
    - self
    - mask
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 365
    functionName: flask_restx.fields.List.clone
    functionSourceFile: flask_restx.fields
    functionUses: 0
    functionsReached:
    - kwargs.pop
    - mask.apply
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 376
    functionName: flask_restx.fields.StringMixin.__init__
    functionSourceFile: flask_restx.fields
    functionUses: 0
    functionsReached:
    - kwargs.pop
    - <builtin>.super
    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: 382
    functionName: flask_restx.fields.StringMixin.schema
    functionSourceFile: flask_restx.fields
    functionUses: 0
    functionsReached:
    - <builtin>.super
    - schema.update
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 393
    functionName: flask_restx.fields.MinMaxMixin.__init__
    functionSourceFile: flask_restx.fields
    functionUses: 0
    functionsReached:
    - kwargs.pop
    - <builtin>.super
    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: 400
    functionName: flask_restx.fields.MinMaxMixin.schema
    functionSourceFile: flask_restx.fields
    functionUses: 0
    functionsReached:
    - <builtin>.super
    - schema.update
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 414
    functionName: flask_restx.fields.NumberMixin.__init__
    functionSourceFile: flask_restx.fields
    functionUses: 0
    functionsReached:
    - kwargs.pop
    - <builtin>.super
    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: 418
    functionName: flask_restx.fields.NumberMixin.schema
    functionSourceFile: flask_restx.fields
    functionUses: 0
    functionsReached:
    - <builtin>.super
    - schema.update
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 429
    functionName: flask_restx.fields.String.__init__
    functionSourceFile: flask_restx.fields
    functionUses: 0
    functionsReached:
    - kwargs.pop
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - value
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 435
    functionName: flask_restx.fields.String.format
    functionSourceFile: flask_restx.fields
    functionUses: 0
    functionsReached:
    - <builtin>.str
    linkageType: pythonLinkage
    raised:
    - MarshallingError
    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: 2
    functionLinenumber: 441
    functionName: flask_restx.fields.String.schema
    functionSourceFile: flask_restx.fields
    functionUses: 0
    functionsReached:
    - <builtin>.callable
    - flask_restx.fields.Raw._v
    - schema.update
    - <builtin>.super
    - <builtin>.getattr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - value
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 460
    functionName: flask_restx.fields.Integer.format
    functionSourceFile: flask_restx.fields
    functionUses: 0
    functionsReached:
    - <builtin>.int
    linkageType: pythonLinkage
    raised:
    - MarshallingError
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - value
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 476
    functionName: flask_restx.fields.Float.format
    functionSourceFile: flask_restx.fields
    functionUses: 0
    functionsReached:
    - <builtin>.float
    linkageType: pythonLinkage
    raised:
    - MarshallingError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - value
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 492
    functionName: flask_restx.fields.Arbitrary.format
    functionSourceFile: flask_restx.fields
    functionUses: 0
    functionsReached:
    - <builtin>.str
    - decimal.Decimal
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: decimal.Decimal
    functionSourceFile: decimal
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe2cc5820>
    argNames:
    - self
    - decimals
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 504
    functionName: flask_restx.fields.Fixed.__init__
    functionSourceFile: flask_restx.fields
    functionUses: 0
    functionsReached:
    - <builtin>.super
    - decimal.Decimal
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - value
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 508
    functionName: flask_restx.fields.Fixed.format
    functionSourceFile: flask_restx.fields
    functionUses: 0
    functionsReached:
    - <builtin>.str
    - decimal.Decimal.is_normal
    - decimal.Decimal.quantize
    - decimal.Decimal
    linkageType: pythonLinkage
    raised:
    - MarshallingError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: decimal.Decimal.is_normal
    functionSourceFile: decimal
    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: decimal.Decimal.quantize
    functionSourceFile: decimal
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - value
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 524
    functionName: flask_restx.fields.Boolean.format
    functionSourceFile: flask_restx.fields
    functionUses: 0
    functionsReached:
    - <builtin>.str
    - flask_restx.inputs.boolean
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 1
    IfCount: 5
    argCount: 1
    argDefaultValues: []
    argNames:
    - value
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 505
    functionName: flask_restx.inputs.boolean
    functionSourceFile: flask_restx.inputs
    functionUses: 1
    functionsReached:
    - <builtin>.str
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised:
    - ValueError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe2cb56a0>
    argNames:
    - self
    - dt_format
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 542
    functionName: flask_restx.fields.DateTime.__init__
    functionSourceFile: flask_restx.fields
    functionUses: 0
    functionsReached:
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 0
    IfCount: 4
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - value
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 546
    functionName: flask_restx.fields.DateTime.parse
    functionSourceFile: flask_restx.fields
    functionUses: 3
    functionsReached:
    - <builtin>.isinstance
    - datetime.datetime
    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: datetime.datetime
    functionSourceFile: datetime
    functionUses: 7
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - value
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 563
    functionName: flask_restx.fields.DateTime.format
    functionSourceFile: flask_restx.fields
    functionUses: 2
    functionsReached:
    - calendar.timegm
    - <builtin>.isinstance
    - datetime.datetime
    - datetime.datetime.utctimetuple
    - email.utils.formatdate
    - flask_restx.fields.DateTime.parse
    - datetime.datetime.isoformat
    - flask_restx.fields.DateTime.format_iso8601
    - flask_restx.fields.DateTime.format_rfc822
    linkageType: pythonLinkage
    raised:
    - MarshallingError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - dt
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 584
    functionName: flask_restx.fields.DateTime.format_iso8601
    functionSourceFile: flask_restx.fields
    functionUses: 3
    functionsReached:
    - datetime.datetime.isoformat
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - dt
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 575
    functionName: flask_restx.fields.DateTime.format_rfc822
    functionSourceFile: flask_restx.fields
    functionUses: 3
    functionsReached:
    - email.utils.formatdate
    - datetime.datetime.utctimetuple
    - calendar.timegm
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.utctimetuple
    functionSourceFile: datetime
    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: calendar.timegm
    functionSourceFile: calendar
    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: datetime.datetime.isoformat
    functionSourceFile: datetime
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 593
    functionName: flask_restx.fields.DateTime._for_schema
    functionSourceFile: flask_restx.fields
    functionUses: 1
    functionsReached:
    - <builtin>.callable
    - flask_restx.fields.Raw._v
    - calendar.timegm
    - <builtin>.isinstance
    - datetime.datetime
    - datetime.datetime.utctimetuple
    - email.utils.formatdate
    - flask_restx.fields.DateTime.parse
    - <builtin>.getattr
    - flask_restx.fields.DateTime.format
    - datetime.datetime.isoformat
    - flask_restx.fields.DateTime.format_iso8601
    - flask_restx.fields.DateTime.format_rfc822
    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: 4
    functionLinenumber: 597
    functionName: flask_restx.fields.DateTime.schema
    functionSourceFile: flask_restx.fields
    functionUses: 0
    functionsReached:
    - <builtin>.callable
    - flask_restx.fields.Raw._v
    - calendar.timegm
    - flask_restx.fields.DateTime._for_schema
    - <builtin>.isinstance
    - datetime.datetime
    - datetime.datetime.utctimetuple
    - email.utils.formatdate
    - <builtin>.super
    - flask_restx.fields.DateTime.parse
    - <builtin>.getattr
    - flask_restx.fields.DateTime.format
    - datetime.datetime.isoformat
    - flask_restx.fields.DateTime.format_iso8601
    - flask_restx.fields.DateTime.format_rfc822
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 614
    functionName: flask_restx.fields.Date.__init__
    functionSourceFile: flask_restx.fields
    functionUses: 0
    functionsReached:
    - kwargs.pop
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 0
    IfCount: 4
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - value
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 618
    functionName: flask_restx.fields.Date.parse
    functionSourceFile: flask_restx.fields
    functionUses: 0
    functionsReached:
    - flask_restx.inputs.datetime_from_iso8601
    - <builtin>.isinstance
    - aniso8601.parse_datetime
    - datetime.datetime
    - value.date
    - flask_restx.inputs.date_from_iso8601
    - aniso8601.parse_date
    linkageType: pythonLinkage
    raised:
    - ValueError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - value
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 596
    functionName: flask_restx.inputs.date_from_iso8601
    functionSourceFile: flask_restx.inputs
    functionUses: 1
    functionsReached:
    - aniso8601.parse_datetime
    - aniso8601.parse_date
    - flask_restx.inputs.datetime_from_iso8601
    - datetime.datetime
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: value.date
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 5
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe3b29e20>
    - <ast.Constant object at 0x7fcfe3b29df0>
    - <ast.Constant object at 0x7fcfe3b29dc0>
    argNames:
    - self
    - endpoint
    - absolute
    - scheme
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 640
    functionName: flask_restx.fields.Url.__init__
    functionSourceFile: flask_restx.fields
    functionUses: 0
    functionsReached:
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - key
    - obj
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 646
    functionName: flask_restx.fields.Url.output
    functionSourceFile: flask_restx.fields
    functionUses: 0
    functionsReached:
    - http.server.BaseHTTPRequestHandler.path.fragment.encode
    - <builtin>.bytearray
    - obj.__marshallable__
    - flask.helpers.url_for
    - appctx.app.inject_url_defaults
    - appctx.app.handle_url_build_error
    - <builtin>.hasattr
    - rv.extend
    - <builtin>.dict
    - typing.NamedTuple.query.encode
    - http.server.BaseHTTPRequestHandler.path.query.encode
    - werkzeug.urls.BytesURL.encode_netloc
    - url_adapter.build
    - typing.NamedTuple.__init__
    - values.pop
    - typing.NamedTuple.encode
    - rv.append
    - <builtin>.str
    - unsafe.encode
    - <builtin>.frozenset
    - typing.NamedTuple.fragment.encode
    - urllib.parse.urlunparse
    - urllib.parse.urlparse
    - typing.NamedTuple.path.encode
    - safe.encode
    - <builtin>.bytes
    - typing.NamedTuple.scheme.encode
    - <builtin>.isinstance
    - http.server.BaseHTTPRequestHandler.path.encode
    - werkzeug.urls.BaseURL.encode_netloc
    - <builtin>.filter
    - werkzeug.urls.url_quote
    - flask_restx.fields.to_marshallable_type
    - werkzeug.urls.URL.encode
    linkageType: pythonLinkage
    raised:
    - MarshallingError
    returnType: N/A
  - BBCount: 9
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 14
    ICount: 2
    IfCount: 9
    argCount: 2
    argDefaultValues: []
    argNames:
    - endpoint
    - values
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 192
    functionName: flask.helpers.url_for
    functionSourceFile: flask.helpers
    functionUses: 2
    functionsReached:
    - http.server.BaseHTTPRequestHandler.path.fragment.encode
    - <builtin>.bytearray
    - appctx.app.inject_url_defaults
    - appctx.app.handle_url_build_error
    - rv.extend
    - typing.NamedTuple.query.encode
    - http.server.BaseHTTPRequestHandler.path.query.encode
    - werkzeug.urls.BytesURL.encode_netloc
    - url_adapter.build
    - typing.NamedTuple.__init__
    - values.pop
    - typing.NamedTuple.encode
    - rv.append
    - <builtin>.str
    - unsafe.encode
    - <builtin>.frozenset
    - typing.NamedTuple.fragment.encode
    - typing.NamedTuple.path.encode
    - safe.encode
    - <builtin>.bytes
    - typing.NamedTuple.scheme.encode
    - <builtin>.isinstance
    - http.server.BaseHTTPRequestHandler.path.encode
    - werkzeug.urls.BaseURL.encode_netloc
    - <builtin>.filter
    - werkzeug.urls.url_quote
    - werkzeug.urls.URL.encode
    linkageType: pythonLinkage
    raised:
    - ValueError
    - RuntimeError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: urllib.parse.urlparse
    functionSourceFile: urllib
    functionUses: 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: urllib.parse.urlunparse
    functionSourceFile: urllib
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - src_str
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 680
    functionName: flask_restx.fields.FormattedString.__init__
    functionSourceFile: flask_restx.fields
    functionUses: 0
    functionsReached:
    - <builtin>.str
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - key
    - obj
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 684
    functionName: flask_restx.fields.FormattedString.output
    functionSourceFile: flask_restx.fields
    functionUses: 0
    functionsReached:
    - <builtin>.hasattr
    - <builtin>.dict
    - obj.__marshallable__
    - flask_restx.fields.to_marshallable_type
    linkageType: pythonLinkage
    raised:
    - MarshallingError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe3b30d30>
    argNames:
    - self
    - dash
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 699
    functionName: flask_restx.fields.ClassName.__init__
    functionSourceFile: flask_restx.fields
    functionUses: 0
    functionsReached:
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - key
    - obj
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 703
    functionName: flask_restx.fields.ClassName.output
    functionSourceFile: flask_restx.fields
    functionUses: 0
    functionsReached:
    - ALL_CAP_RE.sub
    - flask_restx.utils.camel_to_dash
    - FIRST_CAP_RE.sub
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - value
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 46
    functionName: flask_restx.utils.camel_to_dash
    functionSourceFile: flask_restx.utils
    functionUses: 17
    functionsReached:
    - ALL_CAP_RE.sub
    - FIRST_CAP_RE.sub
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe3b30310>
    argNames:
    - self
    - mapping
    - required
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 730
    functionName: flask_restx.fields.Polymorph.__init__
    functionSourceFile: flask_restx.fields
    functionUses: 13
    functionsReached:
    - <builtin>.list
    - mapping.values
    - flask_restx.fields.Polymorph.resolve_ancestor
    - <builtin>.super
    - set.intersection
    - <builtin>.len
    - candidates.pop
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: mapping.values
    functionSourceFile: <builtin>
    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:
    - self
    - models
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 763
    functionName: flask_restx.fields.Polymorph.resolve_ancestor
    functionSourceFile: flask_restx.fields
    functionUses: 14
    functionsReached:
    - <builtin>.len
    - set.intersection
    - candidates.pop
    linkageType: pythonLinkage
    raised:
    - ValueError
    returnType: N/A
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 9
    ICount: 0
    IfCount: 6
    argCount: 5
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe3b41c10>
    argNames:
    - self
    - key
    - obj
    - ordered
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 8
    functionLinenumber: 735
    functionName: flask_restx.fields.Polymorph.output
    functionSourceFile: flask_restx.fields
    functionUses: 0
    functionsReached:
    - flask_restx.marshalling._marshal
    - collections.OrderedDict.keys
    - field.output
    - flask_restx.marshalling.marshal._append
    - flask_restx.mask.Mask.apply
    - flask_restx.mask.Mask.filter_data
    - mapping.values
    - flask_restx.fields.Polymorph.resolve_ancestor
    - <builtin>.hasattr
    - key.split
    - <builtin>.len
    - flask_restx.fields.is_integer_indexable
    - flask_restx.fields.Raw.__init__
    - <builtin>.dict
    - flask_restx.marshalling.make
    - collections.OrderedDict.replace
    - flask_restx.fields._get_value_for_key
    - LEXER.findall
    - stack.pop
    - <builtin>.list
    - flask_restx.fields.is_indexable_but_not_string
    - stack.append
    - <builtin>.issubclass
    - candidates.pop
    - flask_restx.fields._get_value_for_keys
    - flask_restx.mask.Mask.clean
    - flask_restx.mask.Mask.parse
    - <builtin>.int
    - flask_restx.mask.Mask.__init__
    - flask_restx.fields.get_value
    - data.pop
    - <builtin>.getattr
    - flask_restx.fields.Polymorph.__init__
    - field.container.format
    - flask_restx.mask.apply
    - <builtin>.type
    - <builtin>.callable
    - collections.OrderedDict
    - flask_restx.fields.Polymorph.clone
    - flask_restx.marshalling.marshal
    - content.apply
    - <builtin>.isinstance
    - flask_restx.marshalling._marshal.__format_field
    - items.append
    - <builtin>.super
    - <builtin>.set
    - field.reset
    - set.intersection
    - inspect.isclass
    - keys.append
    - collections.OrderedDict.items
    - <builtin>.tuple
    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: set.intersection
    functionSourceFile: <builtin>
    functionUses: 15
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: candidates.pop
    functionSourceFile: <builtin>
    functionUses: 15
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: data.pop
    functionSourceFile: <builtin>
    functionUses: 13
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: flask_restx.fields.Wildcard
    functionSourceFile: flask_restx.fields
    functionUses: 0
    functionsReached:
    - <builtin>.set
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 1
    IfCount: 3
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - cls_or_instance
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 804
    functionName: flask_restx.fields.Wildcard.__init__
    functionSourceFile: flask_restx.fields
    functionUses: 0
    functionsReached:
    - <builtin>.super
    - <builtin>.isinstance
    - <builtin>.issubclass
    linkageType: pythonLinkage
    raised:
    - MarshallingError
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 0
    IfCount: 3
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - obj
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 816
    functionName: flask_restx.fields.Wildcard._flatten
    functionSourceFile: flask_restx.fields
    functionUses: 1
    functionsReached:
    - attr_name.endswith
    - obj.items
    - flask_restx.fields.Wildcard._flatten.__match_attributes
    - <builtin>.isinstance
    - <builtin>.set
    - attr_name.startswith
    - inspect.isroutine
    - inspect.getmembers
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - attribute
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 825
    functionName: flask_restx.fields.Wildcard._flatten.__match_attributes
    functionSourceFile: flask_restx.fields
    functionUses: 2
    functionsReached:
    - attr_name.endswith
    - attr_name.startswith
    - inspect.isroutine
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: inspect.isroutine
    functionSourceFile: inspect
    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: attr_name.startswith
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: attr_name.endswith
    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: inspect.getmembers
    functionSourceFile: inspect
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 841
    functionName: flask_restx.fields.Wildcard.key
    functionSourceFile: flask_restx.fields
    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: 844
    functionName: flask_restx.fields.Wildcard.reset
    functionSourceFile: flask_restx.fields
    functionUses: 0
    functionsReached:
    - <builtin>.set
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 9
    ICount: 1
    IfCount: 6
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe3b3fb80>
    argNames:
    - self
    - key
    - obj
    - ordered
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 8
    functionLinenumber: 851
    functionName: flask_restx.fields.Wildcard.output
    functionSourceFile: flask_restx.fields
    functionUses: 0
    functionsReached:
    - flask_restx.marshalling._marshal
    - collections.OrderedDict.keys
    - field.output
    - flask_restx.marshalling.marshal._append
    - flask_restx.fields.Wildcard._flatten.__match_attributes
    - flask_restx.mask.Mask.apply
    - flask_restx.mask.Mask.filter_data
    - mapping.values
    - flask_restx.fields.Polymorph.resolve_ancestor
    - <builtin>.hasattr
    - <builtin>.len
    - flask_restx.fields.Raw.__init__
    - <builtin>.dict
    - flask_restx.marshalling.make
    - collections.OrderedDict.replace
    - attr_name.endswith
    - fnmatch.translate
    - LEXER.findall
    - obj.items
    - flask_restx.fields.Wildcard._flatten
    - stack.pop
    - <builtin>.list
    - stack.append
    - attr_name.startswith
    - inspect.isroutine
    - <builtin>.issubclass
    - candidates.pop
    - flask_restx.mask.Mask.clean
    - flask_restx.mask.Mask.parse
    - re.match
    - flask_restx.mask.Mask.__init__
    - data.pop
    - <builtin>.getattr
    - flask_restx.fields.Polymorph.__init__
    - field.container.format
    - inspect.getmembers
    - flask_restx.mask.apply
    - <builtin>.type
    - collections.OrderedDict
    - flask_restx.fields.Polymorph.clone
    - flask_restx.marshalling.marshal
    - content.apply
    - <builtin>.isinstance
    - flask_restx.marshalling._marshal.__format_field
    - items.append
    - <builtin>.super
    - <builtin>.set
    - field.reset
    - set.intersection
    - inspect.isclass
    - keys.append
    - collections.OrderedDict.items
    - <builtin>.tuple
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: fnmatch.translate
    functionSourceFile: fnmatch
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: re.match
    functionSourceFile: re
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 893
    functionName: flask_restx.fields.Wildcard.schema
    functionSourceFile: flask_restx.fields
    functionUses: 0
    functionsReached:
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 899
    functionName: flask_restx.fields.Wildcard.clone
    functionSourceFile: flask_restx.fields
    functionUses: 0
    functionsReached:
    - kwargs.pop
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: flask_restx.utils
    functionSourceFile: flask_restx.utils
    functionUses: 0
    functionsReached:
    - re.compile
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - first
    - second
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 23
    functionName: flask_restx.utils.merge
    functionSourceFile: flask_restx.utils
    functionUses: 11
    functionsReached:
    - copy.deepcopy.items
    - copy.deepcopy
    - <builtin>.isinstance
    - flask_restx.utils.merge
    - collections.OrderedDict.items
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: copy.deepcopy.items
    functionSourceFile: copy
    functionUses: 14
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: FIRST_CAP_RE.sub
    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: ALL_CAP_RE.sub
    functionSourceFile: <builtin>
    functionUses: 18
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - resource
    - method
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 58
    functionName: flask_restx.utils.default_id
    functionSourceFile: flask_restx.utils
    functionUses: 5
    functionsReached:
    - ALL_CAP_RE.sub
    - flask_restx.utils.camel_to_dash
    - FIRST_CAP_RE.sub
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - data
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 74
    functionName: flask_restx.utils.not_none_sorted
    functionSourceFile: flask_restx.utils
    functionUses: 2
    functionsReached:
    - collections.OrderedDict
    - <builtin>.sorted
    - collections.OrderedDict.items
    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: flask_restx.inputs
    functionSourceFile: flask_restx.inputs
    functionUses: 0
    functionsReached:
    - re.compile
    - flask_restx.inputs.URL.__init__
    - datetime.time
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - value
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 56
    functionName: flask_restx.inputs.ipv4
    functionSourceFile: flask_restx.inputs
    functionUses: 1
    functionsReached:
    - socket.inet_aton
    - value.count
    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: socket.inet_aton
    functionSourceFile: socket
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: value.count
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - value
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 70
    functionName: flask_restx.inputs.ipv6
    functionSourceFile: flask_restx.inputs
    functionUses: 1
    functionsReached:
    - socket.inet_pton
    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: socket.inet_pton
    functionSourceFile: socket
    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:
    - value
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 82
    functionName: flask_restx.inputs.ip
    functionSourceFile: flask_restx.inputs
    functionUses: 0
    functionsReached:
    - socket.inet_aton
    - flask_restx.inputs.ipv4
    - socket.inet_pton
    - flask_restx.inputs.ipv6
    - value.count
    linkageType: pythonLinkage
    raised:
    - ValueError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 9
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe3b71370>
    - <ast.Constant object at 0x7fcfe3b71340>
    - <ast.Constant object at 0x7fcfe3b71310>
    - <ast.Constant object at 0x7fcfe3b712e0>
    - <ast.Constant object at 0x7fcfe3b712b0>
    - <ast.Constant object at 0x7fcfe3b71280>
    - <ast.Constant object at 0x7fcfe3b71250>
    - <ast.Constant object at 0x7fcfe3b71220>
    argNames:
    - self
    - check
    - ip
    - local
    - port
    - auth
    - schemes
    - domains
    - exclude
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 120
    functionName: flask_restx.inputs.URL.__init__
    functionSourceFile: flask_restx.inputs
    functionUses: 1
    functionsReached: []
    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 0x7fcfe412a370>
    argNames:
    - self
    - value
    - details
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 140
    functionName: flask_restx.inputs.URL.error
    functionSourceFile: flask_restx.inputs
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - ValueError
    returnType: N/A
  - BBCount: 19
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 11
    EdgeCount: 28
    ICount: 17
    IfCount: 19
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - value
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 146
    functionName: flask_restx.inputs.URL.__call__
    functionSourceFile: flask_restx.inputs
    functionUses: 0
    functionsReached:
    - urllib.parse.urlparse
    - netloc_match.groupdict
    - <builtin>.str
    - netloc_regex.match
    - <builtin>.int
    - urllib.parse.urlparse.path.split
    - flask_restx.inputs.URL.error
    - socket.getaddrinfo
    - <builtin>.all
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: netloc_regex.match
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.all
    functionSourceFile: <builtin>
    functionUses: 8
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: urllib.parse.urlparse.path.split
    functionSourceFile: urllib
    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: netloc_match.groupdict
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 199
    functionName: flask_restx.inputs.URL.__schema__
    functionSourceFile: flask_restx.inputs
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 6
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe47f0a60>
    - <ast.Constant object at 0x7fcfe47f0550>
    - <ast.Constant object at 0x7fcfe47f0c40>
    - <ast.Constant object at 0x7fcfe47f0340>
    - <ast.Constant object at 0x7fcfe47f0310>
    argNames:
    - self
    - check
    - ip
    - local
    - domains
    - exclude
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 234
    functionName: flask_restx.inputs.email.__init__
    functionSourceFile: flask_restx.inputs
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe47f0a90>
    argNames:
    - self
    - value
    - msg
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 241
    functionName: flask_restx.inputs.email.error
    functionSourceFile: flask_restx.inputs
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - ValueError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - value
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 245
    functionName: flask_restx.inputs.email.is_ip
    functionSourceFile: flask_restx.inputs
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 9
    ICount: 7
    IfCount: 6
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - value
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 252
    functionName: flask_restx.inputs.email.__call__
    functionSourceFile: flask_restx.inputs
    functionUses: 0
    functionsReached:
    - server.startswith
    - flask_restx.inputs.email.error
    - match.group
    - socket.getaddrinfo
    - email_regex.match
    - flask_restx.inputs.email.is_ip
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: email_regex.match
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: server.startswith
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 275
    functionName: flask_restx.inputs.email.__schema__
    functionSourceFile: flask_restx.inputs
    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
    - pattern
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 297
    functionName: flask_restx.inputs.regex.__init__
    functionSourceFile: flask_restx.inputs
    functionUses: 1
    functionsReached:
    - re.compile
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - value
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 301
    functionName: flask_restx.inputs.regex.__call__
    functionSourceFile: flask_restx.inputs
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - ValueError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - memo
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 307
    functionName: flask_restx.inputs.regex.__deepcopy__
    functionSourceFile: flask_restx.inputs
    functionUses: 0
    functionsReached:
    - re.compile
    - flask_restx.inputs.regex.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 311
    functionName: flask_restx.inputs.regex.__schema__
    functionSourceFile: flask_restx.inputs
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 3
    argDefaultValues: []
    argNames:
    - start
    - end
    - value
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 318
    functionName: flask_restx.inputs._normalize_interval
    functionSourceFile: flask_restx.inputs
    functionUses: 1
    functionsReached:
    - pytz.UTC.localize
    - datetime.datetime.combine
    - <builtin>.isinstance
    - start.astimezone
    - end.astimezone
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: pytz.UTC.localize
    functionSourceFile: pytz
    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: start.astimezone
    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: end.astimezone
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 0
    IfCount: 3
    argCount: 2
    argDefaultValues: []
    argNames:
    - start
    - value
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 350
    functionName: flask_restx.inputs._expand_datetime
    functionSourceFile: flask_restx.inputs
    functionUses: 1
    functionsReached:
    - re.sub
    - time_without_offset.count
    - datetime.timedelta
    - <builtin>.isinstance
    - value.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: time_without_offset.count
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - value
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 374
    functionName: flask_restx.inputs._parse_interval
    functionSourceFile: flask_restx.inputs
    functionUses: 1
    functionsReached:
    - aniso8601.parse_interval
    - aniso8601.parse_datetime
    - <builtin>.sorted
    - aniso8601.parse_date
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: aniso8601.parse_interval
    functionSourceFile: aniso8601
    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: aniso8601.parse_datetime
    functionSourceFile: aniso8601
    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: aniso8601.parse_date
    functionSourceFile: aniso8601
    functionUses: 5
    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 0x7fcfe3b7df40>
    argNames:
    - value
    - argument
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 388
    functionName: flask_restx.inputs.iso8601interval
    functionSourceFile: flask_restx.inputs
    functionUses: 0
    functionsReached:
    - flask_restx.inputs._expand_datetime
    - flask_restx.inputs._parse_interval
    - flask_restx.inputs._normalize_interval
    - re.sub
    - <builtin>.sorted
    - pytz.UTC.localize
    - time_without_offset.count
    - datetime.timedelta
    - <builtin>.isinstance
    - aniso8601.parse_datetime
    - start.astimezone
    - end.astimezone
    - aniso8601.parse_interval
    - value.split
    - aniso8601.parse_date
    - datetime.datetime.combine
    linkageType: pythonLinkage
    raised:
    - ValueError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - value
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 439
    functionName: flask_restx.inputs.date
    functionSourceFile: flask_restx.inputs
    functionUses: 0
    functionsReached:
    - datetime.datetime.strptime
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.strptime
    functionSourceFile: datetime
    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:
    - value
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 448
    functionName: flask_restx.inputs._get_integer
    functionSourceFile: flask_restx.inputs
    functionUses: 3
    functionsReached:
    - <builtin>.int
    linkageType: pythonLinkage
    raised:
    - ValueError
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe3b689a0>
    argNames:
    - value
    - argument
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 455
    functionName: flask_restx.inputs.natural
    functionSourceFile: flask_restx.inputs
    functionUses: 0
    functionsReached:
    - <builtin>.int
    - flask_restx.inputs._get_integer
    linkageType: pythonLinkage
    raised:
    - ValueError
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe3b681f0>
    argNames:
    - value
    - argument
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 467
    functionName: flask_restx.inputs.positive
    functionSourceFile: flask_restx.inputs
    functionUses: 0
    functionsReached:
    - <builtin>.int
    - flask_restx.inputs._get_integer
    linkageType: pythonLinkage
    raised:
    - ValueError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe3b66850>
    argNames:
    - self
    - low
    - high
    - argument
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 482
    functionName: flask_restx.inputs.int_range.__init__
    functionSourceFile: flask_restx.inputs
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - value
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 487
    functionName: flask_restx.inputs.int_range.__call__
    functionSourceFile: flask_restx.inputs
    functionUses: 0
    functionsReached:
    - <builtin>.int
    - flask_restx.inputs._get_integer
    linkageType: pythonLinkage
    raised:
    - ValueError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 497
    functionName: flask_restx.inputs.int_range.__schema__
    functionSourceFile: flask_restx.inputs
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - value
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 541
    functionName: flask_restx.inputs.datetime_from_rfc822
    functionSourceFile: flask_restx.inputs
    functionUses: 0
    functionsReached:
    - time_regex.search
    - datetime.datetime.fromtimestamp
    - email.utils.parsedate_tz
    - email.utils.mktime_tz
    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: time_regex.search
    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: email.utils.parsedate_tz
    functionSourceFile: email
    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: email.utils.mktime_tz
    functionSourceFile: email
    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:
    - value
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 569
    functionName: flask_restx.inputs.datetime_from_iso8601
    functionSourceFile: flask_restx.inputs
    functionUses: 2
    functionsReached:
    - aniso8601.parse_date
    - aniso8601.parse_datetime
    - datetime.datetime
    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: flask
    functionSourceFile: flask
    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: flask.json
    functionSourceFile: flask.json
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 1
    IfCount: 4
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - o
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 37
    functionName: flask.json.JSONEncoder.default
    functionSourceFile: flask.json
    functionUses: 0
    functionsReached:
    - dataclasses.is_dataclass
    - email.utils.format_datetime
    - <builtin>.str
    - o.__html__
    - <builtin>.isinstance
    - time.mktime
    - werkzeug.http.http_date
    - dataclasses.asdict
    - email.utils.formatdate
    - <builtin>.super
    - <builtin>.hasattr
    - time.mktime.replace
    - datetime.time
    - time.mktime.astimezone
    - datetime.datetime.combine
    - werkzeug._internal._dt_as_utc
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: dataclasses.is_dataclass
    functionSourceFile: dataclasses
    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: dataclasses.asdict
    functionSourceFile: dataclasses
    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: o.__html__
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 7
    IfCount: 4
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe3d28490>
    argNames:
    - kwargs
    - app
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 65
    functionName: flask.json._dump_arg_defaults
    functionSourceFile: flask.json
    functionUses: 9
    functionsReached:
    - kwargs.setdefault
    - app.blueprints.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: app.blueprints.get
    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: kwargs.setdefault
    functionSourceFile: <builtin>
    functionUses: 24
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 2
    IfCount: 4
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe107bdf0>
    argNames:
    - kwargs
    - app
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 91
    functionName: flask.json._load_arg_defaults
    functionSourceFile: flask.json
    functionUses: 6
    functionsReached:
    - kwargs.setdefault
    - app.blueprints.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe3f4ca30>
    argNames:
    - obj
    - app
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 110
    functionName: flask.json.dumps
    functionSourceFile: flask.json
    functionUses: 7
    functionsReached:
    - json.dumps
    - flask.json._dump_arg_defaults
    - app.blueprints.get
    - kwargs.setdefault
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 3
    IfCount: 0
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe47f0640>
    argNames:
    - obj
    - fp
    - app
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 135
    functionName: flask.json.dump
    functionSourceFile: flask.json
    functionUses: 0
    functionsReached:
    - json.dump
    - flask.json._dump_arg_defaults
    - app.blueprints.get
    - kwargs.setdefault
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.dump
    functionSourceFile: json
    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: json.loads
    functionSourceFile: json
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe2c88100>
    argNames:
    - fp
    - app
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 184
    functionName: flask.json.load
    functionSourceFile: flask.json
    functionUses: 0
    functionsReached:
    - flask.json._load_arg_defaults
    - json.load
    - app.blueprints.get
    - kwargs.setdefault
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.load
    functionSourceFile: json
    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:
    - obj
    - kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 203
    functionName: flask.json.htmlsafe_dumps
    functionSourceFile: flask.json
    functionUses: 1
    functionsReached:
    - jinja2.utils.htmlsafe_json_dumps
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: jinja2.utils.htmlsafe_json_dumps
    functionSourceFile: jinja2
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - obj
    - fp
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 227
    functionName: flask.json.htmlsafe_dump
    functionSourceFile: flask.json
    functionUses: 0
    functionsReached:
    - jinja2.utils.htmlsafe_json_dumps
    - fp.write
    - flask.json.htmlsafe_dumps
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: fp.write
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 1
    IfCount: 3
    argCount: 2
    argDefaultValues: []
    argNames:
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 235
    functionName: flask.json.jsonify
    functionSourceFile: flask.json
    functionUses: 6
    functionsReached:
    - json.dumps
    - flask.json.dumps
    - kwargs.setdefault
    - flask.json._dump_arg_defaults
    - app.blueprints.get
    - <builtin>.len
    - current_app.response_class
    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: current_app.response_class
    functionSourceFile: <builtin>
    functionUses: 14
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: flask.wrappers
    functionSourceFile: flask.wrappers
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 53
    functionName: flask.wrappers.Request.max_content_length
    functionSourceFile: flask.wrappers
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 61
    functionName: flask.wrappers.Request.endpoint
    functionSourceFile: flask.wrappers
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 76
    functionName: flask.wrappers.Request.blueprint
    functionSourceFile: flask.wrappers
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 95
    functionName: flask.wrappers.Request.blueprints
    functionSourceFile: flask.wrappers
    functionUses: 0
    functionsReached:
    - flask.helpers._split_blueprint_path
    - out.extend
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - name
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 785
    functionName: flask.helpers._split_blueprint_path
    functionSourceFile: flask.helpers
    functionUses: 2
    functionsReached:
    - flask.helpers._split_blueprint_path
    - out.extend
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - request
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 73
    functionName: flask.debughelpers.attach_enctype_error_multidict
    functionSourceFile: ''
    functionUses: 7
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 161
    functionName: flask.wrappers.Response.max_cookie_size
    functionSourceFile: flask.wrappers
    functionUses: 0
    functionsReached:
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: werkzeug.wrappers
    functionSourceFile: werkzeug.wrappers
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: -1
    functionName: werkzeug.routing
    functionSourceFile: werkzeug.routing
    functionUses: 0
    functionsReached:
    - re.compile
    - <builtin>.isinstance
    - ast.walk
    - werkzeug.routing._prefix_names
    - ast.parse
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - value
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 183
    functionName: werkzeug.routing._pythonize
    functionSourceFile: werkzeug.routing
    functionUses: 15
    functionsReached:
    - <builtin>.str
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - argstr
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 196
    functionName: werkzeug.routing.parse_converter_args
    functionSourceFile: werkzeug.routing
    functionUses: 14
    functionsReached:
    - <builtin>.str
    - item.group
    - werkzeug.routing._pythonize
    - args.append
    - _converter_args_re.finditer
    - <builtin>.tuple
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: _converter_args_re.finditer
    functionSourceFile: <builtin>
    functionUses: 15
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: item.group
    functionSourceFile: <builtin>
    functionUses: 15
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 5
    IfCount: 5
    argCount: 1
    argDefaultValues: []
    argNames:
    - rule
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 215
    functionName: werkzeug.routing.parse_rule
    functionSourceFile: werkzeug.routing
    functionUses: 14
    functionsReached:
    - m.groupdict
    - m.end
    - <builtin>.set
    - <builtin>.len
    - used_names.add
    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: m.groupdict
    functionSourceFile: <builtin>
    functionUses: 22
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: used_names.add
    functionSourceFile: <builtin>
    functionUses: 21
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: m.end
    functionSourceFile: <builtin>
    functionUses: 21
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - new_url
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 264
    functionName: werkzeug.routing.RequestRedirect.__init__
    functionSourceFile: werkzeug.routing
    functionUses: 0
    functionsReached:
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - path_info
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 281
    functionName: werkzeug.routing.RequestPath.__init__
    functionSourceFile: werkzeug.routing
    functionUses: 0
    functionsReached:
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - matched_values
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 289
    functionName: werkzeug.routing.RequestAliasRedirect.__init__
    functionSourceFile: werkzeug.routing
    functionUses: 0
    functionsReached:
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 5
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe412ad90>
    argNames:
    - self
    - endpoint
    - values
    - method
    - adapter
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 299
    functionName: werkzeug.routing.BuildError.__init__
    functionSourceFile: werkzeug.routing
    functionUses: 0
    functionsReached:
    - <builtin>.super
    linkageType: 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: werkzeug.routing.BuildError
    functionSourceFile: werkzeug.routing
    functionUses: 0
    functionsReached:
    - werkzeug.utils.cached_property
    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: 313
    functionName: werkzeug.routing.BuildError.suggested
    functionSourceFile: werkzeug.routing
    functionUses: 0
    functionsReached:
    - <builtin>.max
    - werkzeug.routing.BuildError.closest_rule
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - adapter
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 316
    functionName: werkzeug.routing.BuildError.closest_rule
    functionSourceFile: werkzeug.routing
    functionUses: 1
    functionsReached:
    - <builtin>.max
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - rule
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 317
    functionName: werkzeug.routing.BuildError.closest_rule._score_rule
    functionSourceFile: werkzeug.routing
    functionUses: 0
    functionsReached:
    - <builtin>.sum
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 9
    ICount: 6
    IfCount: 6
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 334
    functionName: werkzeug.routing.BuildError.__str__
    functionSourceFile: werkzeug.routing
    functionUses: 0
    functionsReached:
    - message.append
    - <builtin>.sorted
    - <builtin>.set
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: message.append
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - map
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 382
    functionName: werkzeug.routing.RuleFactory.get_rules
    functionSourceFile: werkzeug.routing
    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
    - subdomain
    - rules
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 407
    functionName: werkzeug.routing.Subdomain.__init__
    functionSourceFile: werkzeug.routing
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - map
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 411
    functionName: werkzeug.routing.Subdomain.get_rules
    functionSourceFile: werkzeug.routing
    functionUses: 0
    functionsReached:
    - rule.empty
    - rulefactory.get_rules
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: rulefactory.get_rules
    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: rule.empty
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - path
    - rules
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 433
    functionName: werkzeug.routing.Submount.__init__
    functionSourceFile: werkzeug.routing
    functionUses: 0
    functionsReached:
    - path.rstrip
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: path.rstrip
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - map
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 437
    functionName: werkzeug.routing.Submount.get_rules
    functionSourceFile: werkzeug.routing
    functionUses: 0
    functionsReached:
    - rule.empty
    - rulefactory.get_rules
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - prefix
    - rules
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 458
    functionName: werkzeug.routing.EndpointPrefix.__init__
    functionSourceFile: werkzeug.routing
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - map
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 462
    functionName: werkzeug.routing.EndpointPrefix.get_rules
    functionSourceFile: werkzeug.routing
    functionUses: 0
    functionsReached:
    - rule.empty
    - rulefactory.get_rules
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - rules
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 489
    functionName: werkzeug.routing.RuleTemplate.__init__
    functionSourceFile: werkzeug.routing
    functionUses: 0
    functionsReached:
    - <builtin>.list
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 492
    functionName: werkzeug.routing.RuleTemplate.__call__
    functionSourceFile: werkzeug.routing
    functionUses: 0
    functionsReached:
    - werkzeug.routing.RuleTemplateFactory.__init__
    - <builtin>.dict
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - rules
    - context
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 503
    functionName: werkzeug.routing.RuleTemplateFactory.__init__
    functionSourceFile: ''
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 1
    IfCount: 4
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - map
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 509
    functionName: werkzeug.routing.RuleTemplateFactory.get_rules
    functionSourceFile: werkzeug.routing
    functionUses: 0
    functionsReached:
    - methods.add
    - x.upper
    - string.Template
    - werkzeug.routing.Rule.__init__
    - rule.defaults.items
    - rulefactory.get_rules
    - string.startswith
    - <builtin>.isinstance
    - <builtin>.set
    - string.endswith
    - string.Template.substitute
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: rule.defaults.items
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: string.Template
    functionSourceFile: string
    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: string.Template.substitute
    functionSourceFile: string
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 9
    ICount: 1
    IfCount: 6
    argCount: 13
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe3e57160>
    - <ast.Constant object at 0x7fcfe3e57130>
    - <ast.Constant object at 0x7fcfe3e57100>
    - <ast.Constant object at 0x7fcfe3e570d0>
    - <ast.Constant object at 0x7fcfe3e570a0>
    - <ast.Constant object at 0x7fcfe3e57070>
    - <ast.Constant object at 0x7fcfe3e57040>
    - <ast.Constant object at 0x7fcfe16f8fd0>
    - <ast.Constant object at 0x7fcfe16f8fa0>
    - <ast.Constant object at 0x7fcfe16f8f70>
    - <ast.Constant object at 0x7fcfe16f8f40>
    argNames:
    - self
    - string
    - defaults
    - subdomain
    - methods
    - build_only
    - endpoint
    - strict_slashes
    - merge_slashes
    - redirect_to
    - alias
    - host
    - websocket
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 687
    functionName: werkzeug.routing.Rule.__init__
    functionSourceFile: werkzeug.routing
    functionUses: 8
    functionsReached:
    - methods.add
    - x.upper
    - string.startswith
    - <builtin>.isinstance
    - <builtin>.set
    - string.endswith
    linkageType: pythonLinkage
    raised:
    - ValueError
    - TypeError
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - src
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 535
    functionName: werkzeug.routing._prefix_names
    functionSourceFile: werkzeug.routing
    functionUses: 16
    functionsReached:
    - ast.parse
    - <builtin>.isinstance
    - ast.walk
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: ast.parse
    functionSourceFile: ast
    functionUses: 20
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: ast.walk
    functionSourceFile: ast
    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: string.startswith
    functionSourceFile: <builtin>
    functionUses: 9
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: string.endswith
    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: x.upper
    functionSourceFile: <builtin>
    functionUses: 10
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: methods.add
    functionSourceFile: <builtin>
    functionUses: 10
    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: 2
    functionLinenumber: 742
    functionName: werkzeug.routing.Rule.empty
    functionSourceFile: werkzeug.routing
    functionUses: 0
    functionsReached:
    - <builtin>.type
    - werkzeug.routing.Rule.get_empty_kwargs
    - <builtin>.dict
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 752
    functionName: werkzeug.routing.Rule.get_empty_kwargs
    functionSourceFile: werkzeug.routing
    functionUses: 1
    functionsReached:
    - <builtin>.dict
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - map
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 779
    functionName: werkzeug.routing.Rule.get_rules
    functionSourceFile: werkzeug.routing
    functionUses: 9
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 7
    functionLinenumber: 782
    functionName: werkzeug.routing.Rule.refresh
    functionSourceFile: werkzeug.routing
    functionUses: 0
    functionsReached:
    - http.server.BaseHTTPRequestHandler.path.fragment.encode
    - ast.arg
    - werkzeug.routing.parse_rule
    - <builtin>.bytearray
    - werkzeug.routing.Rule.compile
    - werkzeug._internal._to_bytes
    - werkzeug.routing.parse_converter_args
    - match.group
    - werkzeug.routing._pythonize
    - werkzeug.routing.Rule._compile_builder._convert
    - <builtin>.len
    - ast.Load
    - ast.Name
    - werkzeug.routing._prefix_names
    - rv.extend
    - typing.NamedTuple.query.encode
    - re.compile
    - http.server.BaseHTTPRequestHandler.path.query.encode
    - m.groupdict
    - werkzeug.urls.BytesURL.encode_netloc
    - body.append
    - ast.walk
    - _converter_args_re.finditer
    - typing.NamedTuple.__init__
    - werkzeug.routing.Rule.get_converter
    - args.append
    - func_ast.args.defaults.append
    - typing.NamedTuple.encode
    - url_parts.extend
    - rv.append
    - regex_parts.append
    - <builtin>.exec
    - <builtin>.str
    - item.group
    - ast.Return
    - re.finditer
    - werkzeug.routing.Rule._compile_builder._parts
    - ast.JoinedStr
    - unsafe.encode
    - m.end
    - <builtin>.frozenset
    - werkzeug.routing.Rule._get_func_code
    - _CALL_CONVERTER_CODE_FMT.format
    - typing.NamedTuple.fragment.encode
    - ast.Tuple
    - opl.append
    - werkzeug.routing.Rule._compile_builder._join
    - ast.parse
    - werkzeug.urls.URL.encode
    - part.startswith
    - werkzeug.routing.Rule.compile._build_regex
    - typing.NamedTuple.path.encode
    - <builtin>.bytes
    - safe.encode
    - werkzeug.routing.Rule.bind
    - typing.NamedTuple.scheme.encode
    - <builtin>.isinstance
    - ast.Str
    - re.escape
    - http.server.BaseHTTPRequestHandler.path.encode
    - func_ast.args.args.append
    - werkzeug.urls.BaseURL.encode_netloc
    - werkzeug.urls.url_quote
    - <builtin>.set
    - <builtin>.filter
    - ret.append
    - werkzeug.routing.Rule._compile_builder
    - used_names.add
    - <builtin>.tuple
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 2
    IfCount: 4
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe1725cd0>
    argNames:
    - self
    - map
    - rebind
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 790
    functionName: werkzeug.routing.Rule.bind
    functionSourceFile: werkzeug.routing
    functionUses: 10
    functionsReached:
    - http.server.BaseHTTPRequestHandler.path.fragment.encode
    - ast.arg
    - werkzeug.routing.parse_rule
    - <builtin>.bytearray
    - werkzeug.routing.Rule.compile
    - werkzeug._internal._to_bytes
    - werkzeug.routing.parse_converter_args
    - match.group
    - werkzeug.routing._pythonize
    - werkzeug.routing.Rule._compile_builder._convert
    - <builtin>.len
    - ast.Load
    - ast.Name
    - werkzeug.routing._prefix_names
    - rv.extend
    - typing.NamedTuple.query.encode
    - re.compile
    - http.server.BaseHTTPRequestHandler.path.query.encode
    - m.groupdict
    - werkzeug.urls.BytesURL.encode_netloc
    - body.append
    - ast.walk
    - _converter_args_re.finditer
    - typing.NamedTuple.__init__
    - werkzeug.routing.Rule.get_converter
    - args.append
    - func_ast.args.defaults.append
    - typing.NamedTuple.encode
    - url_parts.extend
    - rv.append
    - regex_parts.append
    - <builtin>.exec
    - <builtin>.str
    - item.group
    - ast.Return
    - re.finditer
    - werkzeug.routing.Rule._compile_builder._parts
    - ast.JoinedStr
    - unsafe.encode
    - m.end
    - <builtin>.frozenset
    - werkzeug.routing.Rule._get_func_code
    - _CALL_CONVERTER_CODE_FMT.format
    - typing.NamedTuple.fragment.encode
    - ast.Tuple
    - opl.append
    - werkzeug.routing.Rule._compile_builder._join
    - ast.parse
    - werkzeug.urls.URL.encode
    - part.startswith
    - werkzeug.routing.Rule.compile._build_regex
    - typing.NamedTuple.path.encode
    - <builtin>.bytes
    - safe.encode
    - typing.NamedTuple.scheme.encode
    - <builtin>.isinstance
    - ast.Str
    - re.escape
    - http.server.BaseHTTPRequestHandler.path.encode
    - func_ast.args.args.append
    - werkzeug.urls.BaseURL.encode_netloc
    - werkzeug.urls.url_quote
    - <builtin>.set
    - <builtin>.filter
    - ret.append
    - werkzeug.routing.Rule._compile_builder
    - used_names.add
    - <builtin>.tuple
    linkageType: pythonLinkage
    raised:
    - RuntimeError
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 6
    IfCount: 4
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 830
    functionName: werkzeug.routing.Rule.compile
    functionSourceFile: werkzeug.routing
    functionUses: 12
    functionsReached:
    - http.server.BaseHTTPRequestHandler.path.fragment.encode
    - ast.arg
    - werkzeug.routing.parse_rule
    - <builtin>.bytearray
    - werkzeug._internal._to_bytes
    - werkzeug.routing.Rule.compile
    - werkzeug.routing.parse_converter_args
    - match.group
    - werkzeug.routing._pythonize
    - werkzeug.routing.Rule._compile_builder._convert
    - <builtin>.len
    - ast.Load
    - ast.Name
    - werkzeug.routing._prefix_names
    - rv.extend
    - typing.NamedTuple.query.encode
    - re.compile
    - http.server.BaseHTTPRequestHandler.path.query.encode
    - m.groupdict
    - werkzeug.urls.BytesURL.encode_netloc
    - body.append
    - ast.walk
    - _converter_args_re.finditer
    - typing.NamedTuple.__init__
    - werkzeug.routing.Rule.get_converter
    - args.append
    - func_ast.args.defaults.append
    - typing.NamedTuple.encode
    - url_parts.extend
    - rv.append
    - regex_parts.append
    - <builtin>.exec
    - <builtin>.str
    - item.group
    - ast.Return
    - re.finditer
    - werkzeug.routing.Rule._compile_builder._parts
    - ast.JoinedStr
    - unsafe.encode
    - m.end
    - <builtin>.frozenset
    - werkzeug.routing.Rule._get_func_code
    - _CALL_CONVERTER_CODE_FMT.format
    - typing.NamedTuple.fragment.encode
    - opl.append
    - ast.Tuple
    - werkzeug.routing.Rule._compile_builder._join
    - ast.parse
    - werkzeug.urls.URL.encode
    - part.startswith
    - werkzeug.routing.Rule.compile._build_regex
    - typing.NamedTuple.path.encode
    - <builtin>.bytes
    - safe.encode
    - typing.NamedTuple.scheme.encode
    - <builtin>.isinstance
    - ast.Str
    - re.escape
    - http.server.BaseHTTPRequestHandler.path.encode
    - func_ast.args.args.append
    - werkzeug.urls.BaseURL.encode_netloc
    - werkzeug.urls.url_quote
    - <builtin>.set
    - <builtin>.filter
    - ret.append
    - werkzeug.routing.Rule._compile_builder
    - used_names.add
    - <builtin>.tuple
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 5
    argDefaultValues: []
    argNames:
    - self
    - variable_name
    - converter_name
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 807
    functionName: werkzeug.routing.Rule.get_converter
    functionSourceFile: werkzeug.routing
    functionUses: 14
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - LookupError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - query_vars
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 7
    functionLinenumber: 822
    functionName: werkzeug.routing.Rule._encode_query_vars
    functionSourceFile: werkzeug.routing
    functionUses: 0
    functionsReached:
    - werkzeug.urls.BaseURL.join
    - werkzeug._internal._to_str
    - werkzeug._internal._check_str_tuple
    - typing.NamedTuple.scheme.decode
    - http.server.BaseHTTPRequestHandler.path.decode
    - d.items
    - <builtin>.len
    - werkzeug.urls._make_fast_url_quote.quote
    - werkzeug.urls.url_unparse
    - werkzeug.urls.BytesURL.decode
    - typing.NamedTuple.query.decode
    - werkzeug._internal._make_encode_wrapper.<lambda1>
    - werkzeug.datastructures.CombinedMultiDict.items
    - typing.NamedTuple.fragment.decode
    - typing.NamedTuple.decode
    - path.split
    - bpath.split
    - werkzeug._internal._decode_idna
    - werkzeug.urls.url_encode
    - typing.NamedTuple.__init__
    - path.startswith
    - werkzeug.urls.BaseURL.decode_netloc
    - <builtin>.sorted
    - typing.NamedTuple.split
    - _scheme_re.match
    - <builtin>.str
    - typing.NamedTuple.find
    - http.server.BaseHTTPRequestHandler.path.split
    - http.server.BaseHTTPRequestHandler.path.join
    - domain.encode
    - werkzeug._internal._decode_idna.decode_part
    - werkzeug.urls._url_encode_impl
    - domain.split
    - http.server.BaseHTTPRequestHandler.path.find
    - returned_keys.add
    - <builtin>.min
    - part.decode
    - werkzeug.urls._fast_url_quote_plus
    - <builtin>.any
    - typing.NamedTuple.path.decode
    - found.add
    - dict.items
    - operator.methodcaller
    - <builtin>.isinstance
    - werkzeug.urls.url_parse
    - werkzeug.urls.url_join
    - <builtin>.filter
    - werkzeug.datastructures.OrderedMultiDict.items
    - <builtin>.set
    - werkzeug.datastructures.iter_multi_items
    - werkzeug._internal._make_encode_wrapper
    - werkzeug.datastructures.MultiDict.items
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 11
    IfCount: 5
    argCount: 1
    argDefaultValues: []
    argNames:
    - rule
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 845
    functionName: werkzeug.routing.Rule.compile._build_regex
    functionSourceFile: werkzeug.routing
    functionUses: 13
    functionsReached:
    - werkzeug.routing.parse_rule
    - werkzeug.routing.parse_converter_args
    - match.group
    - werkzeug.routing._pythonize
    - <builtin>.len
    - m.groupdict
    - werkzeug.routing.Rule.get_converter
    - args.append
    - regex_parts.append
    - <builtin>.str
    - item.group
    - re.finditer
    - m.end
    - part.startswith
    - re.escape
    - <builtin>.set
    - _converter_args_re.finditer
    - used_names.add
    - <builtin>.tuple
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: re.finditer
    functionSourceFile: re
    functionUses: 14
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: part.startswith
    functionSourceFile: <builtin>
    functionUses: 14
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: regex_parts.append
    functionSourceFile: <builtin>
    functionUses: 14
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 9
    ICount: 8
    IfCount: 6
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe16fe430>
    argNames:
    - self
    - append_unknown
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 980
    functionName: werkzeug.routing.Rule._compile_builder
    functionSourceFile: werkzeug.routing
    functionUses: 12
    functionsReached:
    - http.server.BaseHTTPRequestHandler.path.fragment.encode
    - ast.arg
    - werkzeug.routing.parse_rule
    - <builtin>.bytearray
    - werkzeug.routing.Rule.compile
    - werkzeug._internal._to_bytes
    - werkzeug.routing.parse_converter_args
    - match.group
    - werkzeug.routing._pythonize
    - werkzeug.routing.Rule._compile_builder._convert
    - <builtin>.len
    - ast.Load
    - ast.Name
    - werkzeug.routing._prefix_names
    - rv.extend
    - typing.NamedTuple.query.encode
    - re.compile
    - http.server.BaseHTTPRequestHandler.path.query.encode
    - m.groupdict
    - werkzeug.urls.BytesURL.encode_netloc
    - body.append
    - ast.walk
    - _converter_args_re.finditer
    - typing.NamedTuple.__init__
    - werkzeug.routing.Rule.get_converter
    - args.append
    - func_ast.args.defaults.append
    - typing.NamedTuple.encode
    - url_parts.extend
    - rv.append
    - regex_parts.append
    - <builtin>.exec
    - <builtin>.str
    - item.group
    - ast.Return
    - re.finditer
    - werkzeug.routing.Rule._compile_builder._parts
    - ast.JoinedStr
    - unsafe.encode
    - m.end
    - <builtin>.frozenset
    - werkzeug.routing.Rule._get_func_code
    - _CALL_CONVERTER_CODE_FMT.format
    - typing.NamedTuple.fragment.encode
    - opl.append
    - ast.Tuple
    - werkzeug.routing.Rule._compile_builder._join
    - ast.parse
    - werkzeug.urls.URL.encode
    - part.startswith
    - werkzeug.routing.Rule.compile._build_regex
    - typing.NamedTuple.path.encode
    - <builtin>.bytes
    - safe.encode
    - typing.NamedTuple.scheme.encode
    - <builtin>.isinstance
    - ast.Str
    - re.escape
    - http.server.BaseHTTPRequestHandler.path.encode
    - func_ast.args.args.append
    - werkzeug.urls.BaseURL.encode_netloc
    - werkzeug.urls.url_quote
    - <builtin>.set
    - <builtin>.filter
    - ret.append
    - werkzeug.routing.Rule._compile_builder
    - used_names.add
    - <builtin>.tuple
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 10
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 15
    ICount: 2
    IfCount: 10
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe17073d0>
    argNames:
    - self
    - path
    - method
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 903
    functionName: werkzeug.routing.Rule.match
    functionSourceFile: werkzeug.routing
    functionUses: 0
    functionsReached:
    - path.endswith
    - http.server.BaseHTTPRequestHandler.path.fragment.encode
    - <builtin>.bytearray
    - typing.NamedTuple.fragment.split
    - http.server.BaseHTTPRequestHandler.path.query.split
    - groups.pop
    - groups.items
    - <builtin>.next
    - new_path.count
    - typing.NamedTuple.path.split
    - typing.NamedTuple.query.encode
    - http.server.BaseHTTPRequestHandler.path.query.encode
    - werkzeug.urls.url_unquote
    - m.groupdict
    - path.split
    - result.update
    - result.append
    - new_path.endswith
    - <builtin>.str
    - <builtin>.iter
    - typing.NamedTuple.query.split
    - unsafe.encode
    - <builtin>.frozenset
    - typing.NamedTuple.fragment.encode
    - werkzeug.urls._unquote_to_bytes
    - werkzeug.routing.Rule.build
    - path.count
    - typing.NamedTuple.path.encode
    - _hextobyte.items
    - <builtin>.bytes
    - <builtin>.isinstance
    - result.extend
    - rv.decode
    - http.server.BaseHTTPRequestHandler.path.fragment.split
    linkageType: pythonLinkage
    raised:
    - RequestPath
    - RequestAliasRedirect
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: groups.pop
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: groups.items
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe3cb2820>
    argNames:
    - self
    - values
    - append_unknown
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1076
    functionName: werkzeug.routing.Rule.build
    functionSourceFile: ''
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: path.endswith
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: new_path.endswith
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: new_path.count
    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: path.count
    functionSourceFile: <builtin>
    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:
    - code
    - name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 974
    functionName: werkzeug.routing.Rule._get_func_code
    functionSourceFile: werkzeug.routing
    functionUses: 13
    functionsReached:
    - <builtin>.exec
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: opl.append
    functionSourceFile: <builtin>
    functionUses: 13
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - elem
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 1005
    functionName: werkzeug.routing.Rule._compile_builder._convert
    functionSourceFile: werkzeug.routing
    functionUses: 14
    functionsReached:
    - <builtin>.str
    - <builtin>.isinstance
    - ast.walk
    - _CALL_CONVERTER_CODE_FMT.format
    - ast.Load
    - ast.Name
    - werkzeug.routing._prefix_names
    - ast.parse
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: _CALL_CONVERTER_CODE_FMT.format
    functionSourceFile: <builtin>
    functionUses: 15
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: ast.Load
    functionSourceFile: ast
    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: ast.Name
    functionSourceFile: ast
    functionUses: 15
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - ops
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 1010
    functionName: werkzeug.routing.Rule._compile_builder._parts
    functionSourceFile: werkzeug.routing
    functionUses: 13
    functionsReached:
    - <builtin>.str
    - <builtin>.isinstance
    - ast.Str
    - ast.walk
    - werkzeug.routing.Rule._compile_builder._convert
    - _CALL_CONVERTER_CODE_FMT.format
    - ast.Load
    - ret.append
    - ast.Name
    - werkzeug.routing._prefix_names
    - ast.parse
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: ast.Str
    functionSourceFile: ast
    functionUses: 14
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: ret.append
    functionSourceFile: <builtin>
    functionUses: 14
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: url_parts.extend
    functionSourceFile: <builtin>
    functionUses: 13
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - parts
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1033
    functionName: werkzeug.routing.Rule._compile_builder._join
    functionSourceFile: werkzeug.routing
    functionUses: 13
    functionsReached:
    - <builtin>.len
    - ast.JoinedStr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: ast.JoinedStr
    functionSourceFile: ast
    functionUses: 14
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: ast.Tuple
    functionSourceFile: ast
    functionUses: 13
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: ast.Return
    functionSourceFile: ast
    functionUses: 13
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: body.append
    functionSourceFile: <builtin>
    functionUses: 13
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: ast.arg
    functionSourceFile: ast
    functionUses: 13
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: func_ast.args.args.append
    functionSourceFile: <builtin>
    functionUses: 13
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: func_ast.args.defaults.append
    functionSourceFile: <builtin>
    functionUses: 13
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - rule
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1092
    functionName: werkzeug.routing.Rule.provides_defaults_for
    functionSourceFile: werkzeug.routing
    functionUses: 0
    functionsReached:
    - <builtin>.bool
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 1
    IfCount: 4
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe3cdc820>
    argNames:
    - self
    - values
    - method
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1105
    functionName: werkzeug.routing.Rule.suitable_for
    functionSourceFile: werkzeug.routing
    functionUses: 0
    functionsReached:
    - defaults.items
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: defaults.items
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1138
    functionName: werkzeug.routing.Rule.match_compare_key
    functionSourceFile: werkzeug.routing
    functionUses: 0
    functionsReached:
    - <builtin>.len
    - <builtin>.bool
    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: 1166
    functionName: werkzeug.routing.Rule.build_compare_key
    functionSourceFile: werkzeug.routing
    functionUses: 0
    functionsReached:
    - <builtin>.len
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - other
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1173
    functionName: werkzeug.routing.Rule.__eq__
    functionSourceFile: werkzeug.routing
    functionUses: 0
    functionsReached:
    - <builtin>.type
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1178
    functionName: werkzeug.routing.Rule.__str__
    functionSourceFile: werkzeug.routing
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1181
    functionName: werkzeug.routing.Rule.__repr__
    functionSourceFile: werkzeug.routing
    functionUses: 0
    functionsReached:
    - <builtin>.type
    - parts.append
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - map
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1201
    functionName: werkzeug.routing.BaseConverter.__init__
    functionSourceFile: werkzeug.routing
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - value
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1204
    functionName: werkzeug.routing.BaseConverter.to_python
    functionSourceFile: werkzeug.routing
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - value
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1207
    functionName: werkzeug.routing.BaseConverter.to_url
    functionSourceFile: werkzeug.routing
    functionUses: 0
    functionsReached:
    - werkzeug.urls._make_fast_url_quote.quote
    - <builtin>.str
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 5
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe3ca9220>
    - <ast.Constant object at 0x7fcfe3ca91f0>
    - <ast.Constant object at 0x7fcfe3ca91c0>
    argNames:
    - self
    - map
    - minlength
    - maxlength
    - length
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1231
    functionName: werkzeug.routing.UnicodeConverter.__init__
    functionSourceFile: werkzeug.routing
    functionUses: 0
    functionsReached:
    - <builtin>.str
    - <builtin>.super
    - <builtin>.int
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - map
    - items
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1261
    functionName: werkzeug.routing.AnyConverter.__init__
    functionSourceFile: werkzeug.routing
    functionUses: 0
    functionsReached:
    - <builtin>.super
    - re.escape
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 6
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe3cc8670>
    - <ast.Constant object at 0x7fcfe3cc8640>
    - <ast.Constant object at 0x7fcfe3cc8610>
    - <ast.Constant object at 0x7fcfe3cc85e0>
    argNames:
    - self
    - map
    - fixed_digits
    - min
    - max
    - signed
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1289
    functionName: werkzeug.routing.NumberConverter.__init__
    functionSourceFile: werkzeug.routing
    functionUses: 0
    functionsReached:
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - value
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1305
    functionName: werkzeug.routing.NumberConverter.to_python
    functionSourceFile: werkzeug.routing
    functionUses: 0
    functionsReached:
    - <builtin>.len
    linkageType: pythonLinkage
    raised:
    - ValidationError
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - value
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1315
    functionName: werkzeug.routing.NumberConverter.to_url
    functionSourceFile: werkzeug.routing
    functionUses: 0
    functionsReached:
    - <builtin>.str
    - value.zfill
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: value.zfill
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1322
    functionName: werkzeug.routing.NumberConverter.signed_regex
    functionSourceFile: werkzeug.routing
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 5
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe3cdd6d0>
    - <ast.Constant object at 0x7fcfe3cdd6a0>
    - <ast.Constant object at 0x7fcfe3cdd670>
    argNames:
    - self
    - map
    - min
    - max
    - signed
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1373
    functionName: werkzeug.routing.FloatConverter.__init__
    functionSourceFile: werkzeug.routing
    functionUses: 0
    functionsReached:
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - value
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1398
    functionName: werkzeug.routing.UUIDConverter.to_python
    functionSourceFile: werkzeug.routing
    functionUses: 0
    functionsReached:
    - uuid.UUID
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: uuid.UUID
    functionSourceFile: uuid
    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
    - value
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1401
    functionName: werkzeug.routing.UUIDConverter.to_url
    functionSourceFile: werkzeug.routing
    functionUses: 0
    functionsReached:
    - <builtin>.str
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 12
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe3cd7be0>
    - <ast.Constant object at 0x7fcfe3cd7bb0>
    - <ast.Constant object at 0x7fcfe3cd7b80>
    - <ast.Constant object at 0x7fcfe3cd7b50>
    - <ast.Constant object at 0x7fcfe3cd7b20>
    - <ast.Constant object at 0x7fcfe3cd7af0>
    - <ast.Constant object at 0x7fcfe3cd7ac0>
    - <ast.Constant object at 0x7fcfe3cd7a90>
    - <ast.Constant object at 0x7fcfe3cd7a60>
    - <ast.Constant object at 0x7fcfe3cd7a30>
    - <ast.Constant object at 0x7fcfe3cd7a00>
    argNames:
    - self
    - rules
    - default_subdomain
    - charset
    - strict_slashes
    - merge_slashes
    - redirect_defaults
    - converters
    - sort_parameters
    - sort_key
    - encoding_errors
    - host_matching
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 8
    functionLinenumber: 1470
    functionName: werkzeug.routing.Map.__init__
    functionSourceFile: werkzeug.routing
    functionUses: 4
    functionsReached:
    - http.server.BaseHTTPRequestHandler.path.fragment.encode
    - ast.arg
    - werkzeug.routing.parse_rule
    - <builtin>.bytearray
    - werkzeug.routing.Rule.compile
    - werkzeug._internal._to_bytes
    - werkzeug.routing.parse_converter_args
    - match.group
    - werkzeug.routing._pythonize
    - werkzeug.routing.Rule._compile_builder._convert
    - <builtin>.len
    - ast.Load
    - ast.Name
    - <builtin>.dict
    - werkzeug.routing._prefix_names
    - rv.extend
    - typing.NamedTuple.query.encode
    - re.compile
    - werkzeug.routing.Map.add
    - m.groupdict
    - werkzeug.routing.Rule.get_rules
    - http.server.BaseHTTPRequestHandler.path.query.encode
    - werkzeug.urls.BytesURL.encode_netloc
    - body.append
    - ast.walk
    - typing.NamedTuple.__init__
    - werkzeug.routing.Rule.get_converter
    - args.append
    - func_ast.args.defaults.append
    - typing.NamedTuple.encode
    - url_parts.extend
    - rv.append
    - regex_parts.append
    - <builtin>.exec
    - <builtin>.str
    - item.group
    - ast.Return
    - re.finditer
    - werkzeug.routing.Rule._compile_builder._parts
    - ast.JoinedStr
    - unsafe.encode
    - m.end
    - <builtin>.frozenset
    - werkzeug.datastructures.ImmutableDict.copy
    - werkzeug.routing.Rule._get_func_code
    - _CALL_CONVERTER_CODE_FMT.format
    - werkzeug.routing.Rule._compile_builder
    - typing.NamedTuple.fragment.encode
    - opl.append
    - ast.parse
    - werkzeug.routing.Rule._compile_builder._join
    - ast.Tuple
    - werkzeug.urls.URL.encode
    - threading.Lock
    - part.startswith
    - werkzeug.routing.Rule.compile._build_regex
    - typing.NamedTuple.path.encode
    - <builtin>.bytes
    - safe.encode
    - werkzeug.routing.Rule.bind
    - typing.NamedTuple.scheme.encode
    - <builtin>.isinstance
    - re.escape
    - ast.Str
    - http.server.BaseHTTPRequestHandler.path.encode
    - func_ast.args.args.append
    - werkzeug.urls.BaseURL.encode_netloc
    - werkzeug.urls.url_quote
    - <builtin>.set
    - <builtin>.filter
    - ret.append
    - _converter_args_re.finditer
    - used_names.add
    - <builtin>.tuple
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: threading.Lock
    functionSourceFile: threading
    functionUses: 7
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 4
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - rulefactory
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 7
    functionLinenumber: 1539
    functionName: werkzeug.routing.Map.add
    functionSourceFile: werkzeug.routing
    functionUses: 8
    functionsReached:
    - http.server.BaseHTTPRequestHandler.path.fragment.encode
    - ast.arg
    - werkzeug.routing.parse_rule
    - <builtin>.bytearray
    - werkzeug.routing.Rule.compile
    - werkzeug._internal._to_bytes
    - werkzeug.routing.parse_converter_args
    - match.group
    - werkzeug.routing._pythonize
    - werkzeug.routing.Rule._compile_builder._convert
    - <builtin>.len
    - ast.Load
    - ast.Name
    - werkzeug.routing._prefix_names
    - rv.extend
    - typing.NamedTuple.query.encode
    - re.compile
    - http.server.BaseHTTPRequestHandler.path.query.encode
    - m.groupdict
    - werkzeug.routing.Rule.get_rules
    - werkzeug.urls.BytesURL.encode_netloc
    - body.append
    - ast.walk
    - _converter_args_re.finditer
    - typing.NamedTuple.__init__
    - werkzeug.routing.Rule.get_converter
    - args.append
    - func_ast.args.defaults.append
    - typing.NamedTuple.encode
    - url_parts.extend
    - rv.append
    - regex_parts.append
    - <builtin>.exec
    - <builtin>.str
    - item.group
    - ast.Return
    - re.finditer
    - werkzeug.routing.Rule._compile_builder._parts
    - ast.JoinedStr
    - unsafe.encode
    - m.end
    - <builtin>.frozenset
    - werkzeug.routing.Rule._get_func_code
    - _CALL_CONVERTER_CODE_FMT.format
    - typing.NamedTuple.fragment.encode
    - ast.Tuple
    - opl.append
    - werkzeug.routing.Rule._compile_builder._join
    - ast.parse
    - werkzeug.urls.URL.encode
    - part.startswith
    - werkzeug.routing.Rule.compile._build_regex
    - typing.NamedTuple.path.encode
    - <builtin>.bytes
    - safe.encode
    - werkzeug.routing.Rule.bind
    - typing.NamedTuple.scheme.encode
    - <builtin>.isinstance
    - ast.Str
    - re.escape
    - http.server.BaseHTTPRequestHandler.path.encode
    - func_ast.args.args.append
    - werkzeug.urls.BaseURL.encode_netloc
    - werkzeug.urls.url_quote
    - <builtin>.set
    - <builtin>.filter
    - ret.append
    - werkzeug.routing.Rule._compile_builder
    - used_names.add
    - <builtin>.tuple
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - endpoint
    - arguments
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 1507
    functionName: werkzeug.routing.Map.is_endpoint_expecting
    functionSourceFile: werkzeug.routing
    functionUses: 0
    functionsReached:
    - rules.sort
    - werkzeug.routing.Map.update
    - <builtin>.set
    - arguments.issubset
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1726
    functionName: werkzeug.routing.Map.update
    functionSourceFile: werkzeug.routing
    functionUses: 14
    functionsReached:
    - rules.sort
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: arguments.issubset
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe1072e80>
    argNames:
    - self
    - endpoint
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 1527
    functionName: werkzeug.routing.Map.iter_rules
    functionSourceFile: werkzeug.routing
    functionUses: 1
    functionsReached:
    - <builtin>.iter
    - werkzeug.routing.Map.update
    - rules.sort
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 1
    IfCount: 5
    argCount: 8
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe1077880>
    - <ast.Constant object at 0x7fcfe1077850>
    - <ast.Constant object at 0x7fcfe1077820>
    - <ast.Constant object at 0x7fcfe10777f0>
    - <ast.Constant object at 0x7fcfe10777c0>
    - <ast.Constant object at 0x7fcfe1077790>
    argNames:
    - self
    - server_name
    - script_name
    - subdomain
    - url_scheme
    - default_method
    - path_info
    - query_args
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 7
    functionLinenumber: 1551
    functionName: werkzeug.routing.Map.bind
    functionSourceFile: werkzeug.routing
    functionUses: 12
    functionsReached:
    - server_name.lower
    - werkzeug._internal._to_str
    - p.encode
    - typing.NamedTuple.scheme.decode
    - werkzeug._internal._encode_idna
    - http.server.BaseHTTPRequestHandler.path.decode
    - werkzeug.urls.BytesURL.decode
    - typing.NamedTuple.query.decode
    - typing.NamedTuple.fragment.decode
    - typing.NamedTuple.decode
    - werkzeug._internal._decode_idna
    - typing.NamedTuple.__init__
    - werkzeug.urls.BaseURL.decode_netloc
    - <builtin>.str
    - werkzeug.routing.MapAdapter.__init__
    - typing.NamedTuple.endswith
    - domain.encode
    - werkzeug._internal._decode_idna.decode_part
    - domain.split
    - part.decode
    - typing.NamedTuple.path.decode
    - <builtin>.isinstance
    - <builtin>.filter
    - http.server.BaseHTTPRequestHandler.path.endswith
    linkageType: pythonLinkage
    raised:
    - RuntimeError
    - BadHost
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: server_name.lower
    functionSourceFile: <builtin>
    functionUses: 13
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 9
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe104be20>
    argNames:
    - self
    - map
    - server_name
    - script_name
    - subdomain
    - url_scheme
    - path_info
    - default_method
    - query_args
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 1753
    functionName: werkzeug.routing.MapAdapter.__init__
    functionSourceFile: werkzeug.routing
    functionUses: 13
    functionsReached:
    - werkzeug._internal._to_str
    - typing.NamedTuple.scheme.decode
    - http.server.BaseHTTPRequestHandler.path.decode
    - werkzeug.urls.BytesURL.decode
    - typing.NamedTuple.query.decode
    - typing.NamedTuple.fragment.decode
    - typing.NamedTuple.decode
    - werkzeug._internal._decode_idna
    - typing.NamedTuple.__init__
    - werkzeug.urls.BaseURL.decode_netloc
    - <builtin>.str
    - typing.NamedTuple.endswith
    - domain.encode
    - werkzeug._internal._decode_idna.decode_part
    - domain.split
    - part.decode
    - typing.NamedTuple.path.decode
    - <builtin>.isinstance
    - <builtin>.filter
    - http.server.BaseHTTPRequestHandler.path.endswith
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 9
    ICount: 2
    IfCount: 6
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe105d910>
    - <ast.Constant object at 0x7fcfe105d940>
    argNames:
    - self
    - environ
    - server_name
    - subdomain
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 8
    functionLinenumber: 1617
    functionName: werkzeug.routing.Map.bind_to_environ
    functionSourceFile: werkzeug.routing
    functionUses: 11
    functionsReached:
    - server_name.lower
    - werkzeug._internal._to_str
    - werkzeug.routing.Map.bind
    - p.encode
    - typing.NamedTuple.scheme.decode
    - werkzeug._internal._encode_idna
    - http.server.BaseHTTPRequestHandler.path.decode
    - <builtin>.len
    - werkzeug._internal._get_environ
    - werkzeug.urls.BytesURL.decode
    - typing.NamedTuple.query.decode
    - typing.NamedTuple.fragment.decode
    - typing.NamedTuple.decode
    - werkzeug._internal._decode_idna
    - v.strip
    - typing.NamedTuple.__init__
    - werkzeug.sansio.utils.host_is_trusted._normalize
    - werkzeug.urls.BaseURL.decode_netloc
    - werkzeug._internal._wsgi_decoding_dance
    - werkzeug.wsgi.get_host
    - s.encode
    - warnings.warn
    - <builtin>.str
    - werkzeug.routing.MapAdapter.__init__
    - typing.NamedTuple.endswith
    - env.get
    - <builtin>.int
    - domain.encode
    - werkzeug._internal._decode_idna.decode_part
    - wsgi_server_name.split
    - domain.split
    - environ.get
    - <builtin>.getattr
    - part.decode
    - <builtin>.any
    - hostname.rsplit
    - typing.NamedTuple.path.decode
    - werkzeug.wsgi._get_server
    - server_name.split
    - werkzeug.routing.Map.bind_to_environ._get_wsgi_string
    - <builtin>.type
    - server_name.endswith
    - <builtin>.isinstance
    - <builtin>.filter
    - werkzeug.sansio.utils.get_host
    - werkzeug.sansio.utils.host_is_trusted
    - http.server.BaseHTTPRequestHandler.path.endswith
    - host.endswith
    - ref.startswith
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: v.strip
    functionSourceFile: <builtin>
    functionUses: 12
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: env.get
    functionSourceFile: <builtin>
    functionUses: 13
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: server_name.endswith
    functionSourceFile: <builtin>
    functionUses: 12
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: wsgi_server_name.split
    functionSourceFile: <builtin>
    functionUses: 12
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: server_name.split
    functionSourceFile: <builtin>
    functionUses: 12
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - name
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 1706
    functionName: werkzeug.routing.Map.bind_to_environ._get_wsgi_string
    functionSourceFile: werkzeug.routing
    functionUses: 12
    functionsReached:
    - werkzeug._internal._wsgi_decoding_dance
    - env.get
    - s.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: werkzeug.routing.Map.update.<lambda1>
    functionSourceFile: werkzeug.routing
    functionUses: 0
    functionsReached:
    - x.match_compare_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: x.match_compare_key
    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: werkzeug.routing.Map.update.<lambda2>
    functionSourceFile: werkzeug.routing
    functionUses: 0
    functionsReached:
    - x.build_compare_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: x.build_compare_key
    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: rules.sort
    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: 3
    functionLinenumber: 1742
    functionName: werkzeug.routing.Map.__repr__
    functionSourceFile: werkzeug.routing
    functionUses: 0
    functionsReached:
    - <builtin>.type
    - werkzeug.routing.Map.update
    - pprint.pformat
    - <builtin>.list
    - <builtin>.iter
    - werkzeug.routing.Map.iter_rules
    - rules.sort
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: pprint.pformat
    functionSourceFile: pprint
    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: http.server.BaseHTTPRequestHandler.path.endswith
    functionSourceFile: http
    functionUses: 14
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: typing.NamedTuple.endswith
    functionSourceFile: typing
    functionUses: 14
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 5
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe1043100>
    - <ast.Constant object at 0x7fcfe1043130>
    - <ast.Constant object at 0x7fcfe1043160>
    argNames:
    - self
    - view_func
    - path_info
    - method
    - catch_http_exceptions
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 10
    functionLinenumber: 1777
    functionName: werkzeug.routing.MapAdapter.dispatch
    functionSourceFile: werkzeug.routing
    functionUses: 0
    functionsReached:
    - werkzeug.routing.MapAdapter.make_redirect_url
    - werkzeug._internal._to_str
    - werkzeug.urls.BaseURL.join
    - werkzeug._internal._check_str_tuple
    - path_info.lstrip
    - typing.NamedTuple.scheme.decode
    - http.server.BaseHTTPRequestHandler.path.lstrip
    - http.server.BaseHTTPRequestHandler.path.decode
    - d.items
    - <builtin>.len
    - werkzeug.routing.MapAdapter.get_host
    - werkzeug.urls._make_fast_url_quote.quote
    - werkzeug.urls.url_unparse
    - werkzeug.urls.BytesURL.decode
    - typing.NamedTuple.query.decode
    - http.server.BaseHTTPRequestHandler.path.strip
    - _simple_rule_re.sub
    - r.build
    - werkzeug._internal._make_encode_wrapper.<lambda1>
    - werkzeug.datastructures.CombinedMultiDict.items
    - typing.NamedTuple.fragment.decode
    - rule.match
    - typing.NamedTuple.decode
    - path.split
    - bpath.split
    - werkzeug.urls.url_encode
    - werkzeug._internal._decode_idna
    - typing.NamedTuple.__init__
    - r.provides_defaults_for
    - werkzeug.routing.MapAdapter.encode_query_args
    - werkzeug.routing.MapAdapter.get_default_redirect
    - path.startswith
    - values.update
    - posixpath.join
    - werkzeug.urls.BaseURL.decode_netloc
    - werkzeug.routing.Map.update
    - typing.NamedTuple.split
    - <builtin>.sorted
    - _scheme_re.match
    - <builtin>.str
    - typing.NamedTuple.find
    - http.server.BaseHTTPRequestHandler.path.split
    - r.suitable_for
    - http.server.BaseHTTPRequestHandler.path.join
    - typing.NamedTuple.lstrip
    - werkzeug._internal._decode_idna.decode_part
    - werkzeug.urls._url_encode_impl
    - domain.split
    - domain.encode
    - http.server.BaseHTTPRequestHandler.path.find
    - rules.sort
    - <builtin>.min
    - returned_keys.add
    - werkzeug.urls._fast_url_quote_plus
    - werkzeug.routing.MapAdapter.match
    - <builtin>.any
    - typing.NamedTuple.path.decode
    - part.decode
    - rule.redirect_to
    - have_match_for.update
    - found.add
    - dict.items
    - operator.methodcaller
    - <builtin>.isinstance
    - werkzeug.urls.url_parse
    - werkzeug.urls.url_join
    - <builtin>.filter
    - werkzeug.datastructures.OrderedMultiDict.items
    - <builtin>.set
    - werkzeug.datastructures.iter_multi_items
    - werkzeug._internal._make_encode_wrapper
    - typing.NamedTuple.strip
    - werkzeug.datastructures.MultiDict.items
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 15
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 22
    ICount: 3
    IfCount: 15
    argCount: 6
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe1039610>
    - <ast.Constant object at 0x7fcfe1039640>
    - <ast.Constant object at 0x7fcfe1039670>
    - <ast.Constant object at 0x7fcfe10396a0>
    - <ast.Constant object at 0x7fcfe10396d0>
    argNames:
    - self
    - path_info
    - method
    - return_rule
    - query_args
    - websocket
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 9
    functionLinenumber: 1859
    functionName: werkzeug.routing.MapAdapter.match
    functionSourceFile: werkzeug.routing
    functionUses: 8
    functionsReached:
    - werkzeug.routing.MapAdapter.make_redirect_url
    - werkzeug._internal._to_str
    - werkzeug.urls.BaseURL.join
    - werkzeug._internal._check_str_tuple
    - path_info.lstrip
    - typing.NamedTuple.scheme.decode
    - http.server.BaseHTTPRequestHandler.path.lstrip
    - http.server.BaseHTTPRequestHandler.path.decode
    - d.items
    - <builtin>.len
    - werkzeug.routing.MapAdapter.get_host
    - werkzeug.urls._make_fast_url_quote.quote
    - werkzeug.urls.url_unparse
    - werkzeug.urls.BytesURL.decode
    - typing.NamedTuple.query.decode
    - http.server.BaseHTTPRequestHandler.path.strip
    - _simple_rule_re.sub
    - r.build
    - werkzeug._internal._make_encode_wrapper.<lambda1>
    - werkzeug.datastructures.CombinedMultiDict.items
    - typing.NamedTuple.fragment.decode
    - rule.match
    - typing.NamedTuple.decode
    - path.split
    - bpath.split
    - werkzeug.urls.url_encode
    - werkzeug._internal._decode_idna
    - typing.NamedTuple.__init__
    - r.provides_defaults_for
    - werkzeug.routing.MapAdapter.encode_query_args
    - werkzeug.routing.MapAdapter.get_default_redirect
    - path.startswith
    - values.update
    - posixpath.join
    - werkzeug.urls.BaseURL.decode_netloc
    - werkzeug.routing.Map.update
    - typing.NamedTuple.split
    - <builtin>.sorted
    - _scheme_re.match
    - <builtin>.str
    - typing.NamedTuple.find
    - http.server.BaseHTTPRequestHandler.path.split
    - r.suitable_for
    - http.server.BaseHTTPRequestHandler.path.join
    - typing.NamedTuple.lstrip
    - werkzeug._internal._decode_idna.decode_part
    - werkzeug.urls._url_encode_impl
    - domain.split
    - domain.encode
    - http.server.BaseHTTPRequestHandler.path.find
    - rules.sort
    - <builtin>.min
    - returned_keys.add
    - werkzeug.urls._fast_url_quote_plus
    - <builtin>.any
    - typing.NamedTuple.path.decode
    - part.decode
    - rule.redirect_to
    - have_match_for.update
    - found.add
    - dict.items
    - operator.methodcaller
    - <builtin>.isinstance
    - werkzeug.urls.url_parse
    - werkzeug.urls.url_join
    - <builtin>.filter
    - werkzeug.datastructures.OrderedMultiDict.items
    - <builtin>.set
    - werkzeug.datastructures.iter_multi_items
    - werkzeug._internal._make_encode_wrapper
    - typing.NamedTuple.strip
    - werkzeug.datastructures.MultiDict.items
    linkageType: pythonLinkage
    raised:
    - NotFound
    - MethodNotAllowed
    - WebsocketMismatch
    - RequestRedirect
    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: werkzeug.routing.MapAdapter
    functionSourceFile: werkzeug.routing
    functionUses: 0
    functionsReached:
    - typing.overload
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: http.server.BaseHTTPRequestHandler.path.lstrip
    functionSourceFile: http
    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: typing.NamedTuple.lstrip
    functionSourceFile: typing
    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: rule.match
    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: have_match_for.update
    functionSourceFile: <builtin>
    functionUses: 9
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    IfCount: 2
    argCount: 5
    argDefaultValues: []
    argNames:
    - self
    - rule
    - method
    - values
    - query_args
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 9
    functionLinenumber: 2101
    functionName: werkzeug.routing.MapAdapter.get_default_redirect
    functionSourceFile: werkzeug.routing
    functionUses: 9
    functionsReached:
    - werkzeug.routing.MapAdapter.make_redirect_url
    - werkzeug._internal._to_str
    - werkzeug.urls.BaseURL.join
    - werkzeug._internal._check_str_tuple
    - path_info.lstrip
    - typing.NamedTuple.scheme.decode
    - http.server.BaseHTTPRequestHandler.path.decode
    - d.items
    - <builtin>.len
    - werkzeug.routing.MapAdapter.get_host
    - werkzeug.urls.url_unparse
    - werkzeug.urls._make_fast_url_quote.quote
    - werkzeug.urls.BytesURL.decode
    - typing.NamedTuple.query.decode
    - http.server.BaseHTTPRequestHandler.path.strip
    - r.build
    - werkzeug._internal._make_encode_wrapper.<lambda1>
    - werkzeug.datastructures.CombinedMultiDict.items
    - typing.NamedTuple.fragment.decode
    - typing.NamedTuple.decode
    - path.split
    - bpath.split
    - werkzeug._internal._decode_idna
    - werkzeug.urls.url_encode
    - typing.NamedTuple.__init__
    - r.provides_defaults_for
    - werkzeug.routing.MapAdapter.encode_query_args
    - path.startswith
    - values.update
    - posixpath.join
    - werkzeug.urls.BaseURL.decode_netloc
    - typing.NamedTuple.split
    - <builtin>.sorted
    - _scheme_re.match
    - <builtin>.str
    - typing.NamedTuple.find
    - http.server.BaseHTTPRequestHandler.path.split
    - r.suitable_for
    - http.server.BaseHTTPRequestHandler.path.join
    - werkzeug._internal._decode_idna.decode_part
    - domain.encode
    - werkzeug.urls._url_encode_impl
    - domain.split
    - http.server.BaseHTTPRequestHandler.path.find
    - returned_keys.add
    - <builtin>.min
    - part.decode
    - werkzeug.urls._fast_url_quote_plus
    - <builtin>.any
    - typing.NamedTuple.path.decode
    - found.add
    - dict.items
    - operator.methodcaller
    - <builtin>.isinstance
    - werkzeug.urls.url_parse
    - werkzeug.urls.url_join
    - <builtin>.filter
    - werkzeug.datastructures.OrderedMultiDict.items
    - <builtin>.set
    - werkzeug.datastructures.iter_multi_items
    - werkzeug._internal._make_encode_wrapper
    - typing.NamedTuple.strip
    - werkzeug.datastructures.MultiDict.items
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - match
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 2009
    functionName: werkzeug.routing.MapAdapter.match._handle_match
    functionSourceFile: werkzeug.routing
    functionUses: 0
    functionsReached:
    - match.group
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: _simple_rule_re.sub
    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: rule.redirect_to
    functionSourceFile: <builtin>
    functionUses: 9
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe178e340>
    - <ast.Constant object at 0x7fcfe178e310>
    argNames:
    - self
    - path_info
    - method
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 10
    functionLinenumber: 2049
    functionName: werkzeug.routing.MapAdapter.test
    functionSourceFile: werkzeug.routing
    functionUses: 0
    functionsReached:
    - werkzeug.routing.MapAdapter.make_redirect_url
    - werkzeug._internal._to_str
    - werkzeug.urls.BaseURL.join
    - werkzeug._internal._check_str_tuple
    - path_info.lstrip
    - typing.NamedTuple.scheme.decode
    - http.server.BaseHTTPRequestHandler.path.lstrip
    - http.server.BaseHTTPRequestHandler.path.decode
    - d.items
    - <builtin>.len
    - werkzeug.routing.MapAdapter.get_host
    - werkzeug.urls._make_fast_url_quote.quote
    - werkzeug.urls.url_unparse
    - werkzeug.urls.BytesURL.decode
    - typing.NamedTuple.query.decode
    - http.server.BaseHTTPRequestHandler.path.strip
    - _simple_rule_re.sub
    - r.build
    - werkzeug._internal._make_encode_wrapper.<lambda1>
    - werkzeug.datastructures.CombinedMultiDict.items
    - typing.NamedTuple.fragment.decode
    - rule.match
    - typing.NamedTuple.decode
    - path.split
    - bpath.split
    - werkzeug.urls.url_encode
    - werkzeug._internal._decode_idna
    - typing.NamedTuple.__init__
    - r.provides_defaults_for
    - werkzeug.routing.MapAdapter.encode_query_args
    - werkzeug.routing.MapAdapter.get_default_redirect
    - path.startswith
    - values.update
    - posixpath.join
    - werkzeug.urls.BaseURL.decode_netloc
    - werkzeug.routing.Map.update
    - typing.NamedTuple.split
    - <builtin>.sorted
    - _scheme_re.match
    - <builtin>.str
    - typing.NamedTuple.find
    - http.server.BaseHTTPRequestHandler.path.split
    - r.suitable_for
    - http.server.BaseHTTPRequestHandler.path.join
    - typing.NamedTuple.lstrip
    - werkzeug._internal._decode_idna.decode_part
    - werkzeug.urls._url_encode_impl
    - domain.split
    - domain.encode
    - http.server.BaseHTTPRequestHandler.path.find
    - rules.sort
    - <builtin>.min
    - returned_keys.add
    - werkzeug.urls._fast_url_quote_plus
    - werkzeug.routing.MapAdapter.match
    - <builtin>.any
    - typing.NamedTuple.path.decode
    - part.decode
    - rule.redirect_to
    - have_match_for.update
    - found.add
    - dict.items
    - operator.methodcaller
    - <builtin>.isinstance
    - werkzeug.urls.url_parse
    - werkzeug.urls.url_join
    - <builtin>.filter
    - werkzeug.datastructures.OrderedMultiDict.items
    - <builtin>.set
    - werkzeug.datastructures.iter_multi_items
    - werkzeug._internal._make_encode_wrapper
    - typing.NamedTuple.strip
    - werkzeug.datastructures.MultiDict.items
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe1781ca0>
    argNames:
    - self
    - path_info
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 10
    functionLinenumber: 2068
    functionName: werkzeug.routing.MapAdapter.allowed_methods
    functionSourceFile: werkzeug.routing
    functionUses: 0
    functionsReached:
    - werkzeug.routing.MapAdapter.make_redirect_url
    - werkzeug._internal._to_str
    - werkzeug.urls.BaseURL.join
    - werkzeug._internal._check_str_tuple
    - path_info.lstrip
    - typing.NamedTuple.scheme.decode
    - http.server.BaseHTTPRequestHandler.path.lstrip
    - http.server.BaseHTTPRequestHandler.path.decode
    - d.items
    - <builtin>.len
    - werkzeug.routing.MapAdapter.get_host
    - werkzeug.urls._make_fast_url_quote.quote
    - werkzeug.urls.url_unparse
    - werkzeug.urls.BytesURL.decode
    - typing.NamedTuple.query.decode
    - http.server.BaseHTTPRequestHandler.path.strip
    - _simple_rule_re.sub
    - r.build
    - werkzeug._internal._make_encode_wrapper.<lambda1>
    - werkzeug.datastructures.CombinedMultiDict.items
    - typing.NamedTuple.fragment.decode
    - rule.match
    - typing.NamedTuple.decode
    - path.split
    - bpath.split
    - werkzeug.urls.url_encode
    - werkzeug._internal._decode_idna
    - typing.NamedTuple.__init__
    - r.provides_defaults_for
    - werkzeug.routing.MapAdapter.encode_query_args
    - werkzeug.routing.MapAdapter.get_default_redirect
    - path.startswith
    - values.update
    - posixpath.join
    - werkzeug.urls.BaseURL.decode_netloc
    - werkzeug.routing.Map.update
    - typing.NamedTuple.split
    - <builtin>.sorted
    - _scheme_re.match
    - <builtin>.str
    - typing.NamedTuple.find
    - http.server.BaseHTTPRequestHandler.path.split
    - r.suitable_for
    - http.server.BaseHTTPRequestHandler.path.join
    - typing.NamedTuple.lstrip
    - werkzeug._internal._decode_idna.decode_part
    - werkzeug.urls._url_encode_impl
    - domain.split
    - domain.encode
    - http.server.BaseHTTPRequestHandler.path.find
    - rules.sort
    - <builtin>.min
    - returned_keys.add
    - werkzeug.urls._fast_url_quote_plus
    - werkzeug.routing.MapAdapter.match
    - <builtin>.any
    - typing.NamedTuple.path.decode
    - part.decode
    - rule.redirect_to
    - have_match_for.update
    - found.add
    - dict.items
    - operator.methodcaller
    - <builtin>.isinstance
    - werkzeug.urls.url_parse
    - werkzeug.urls.url_join
    - <builtin>.filter
    - werkzeug.datastructures.OrderedMultiDict.items
    - <builtin>.set
    - werkzeug.datastructures.iter_multi_items
    - werkzeug._internal._make_encode_wrapper
    - typing.NamedTuple.strip
    - werkzeug.datastructures.MultiDict.items
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 1
    IfCount: 4
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - domain_part
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 2081
    functionName: werkzeug.routing.MapAdapter.get_host
    functionSourceFile: werkzeug.routing
    functionUses: 13
    functionsReached:
    - werkzeug._internal._to_str
    - typing.NamedTuple.fragment.decode
    - <builtin>.str
    - typing.NamedTuple.scheme.decode
    - typing.NamedTuple.decode
    - <builtin>.isinstance
    - werkzeug._internal._decode_idna
    - <builtin>.filter
    - domain.encode
    - domain.split
    - typing.NamedTuple.__init__
    - typing.NamedTuple.path.decode
    - werkzeug._internal._decode_idna.decode_part
    - http.server.BaseHTTPRequestHandler.path.decode
    - part.decode
    - werkzeug.urls.BaseURL.decode_netloc
    - werkzeug.urls.BytesURL.decode
    - typing.NamedTuple.query.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: r.provides_defaults_for
    functionSourceFile: <builtin>
    functionUses: 10
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: r.suitable_for
    functionSourceFile: <builtin>
    functionUses: 10
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: values.update
    functionSourceFile: <builtin>
    functionUses: 10
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: r.build
    functionSourceFile: <builtin>
    functionUses: 10
    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 0x7fcfe179fdc0>
    - <ast.Constant object at 0x7fcfe179fd90>
    argNames:
    - self
    - path_info
    - query_args
    - domain_part
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 8
    functionLinenumber: 2131
    functionName: werkzeug.routing.MapAdapter.make_redirect_url
    functionSourceFile: werkzeug.routing
    functionUses: 10
    functionsReached:
    - werkzeug._internal._to_str
    - werkzeug.urls.BaseURL.join
    - werkzeug._internal._check_str_tuple
    - path_info.lstrip
    - typing.NamedTuple.scheme.decode
    - http.server.BaseHTTPRequestHandler.path.decode
    - d.items
    - <builtin>.len
    - werkzeug.routing.MapAdapter.get_host
    - werkzeug.urls.url_unparse
    - werkzeug.urls._make_fast_url_quote.quote
    - werkzeug.urls.BytesURL.decode
    - typing.NamedTuple.query.decode
    - http.server.BaseHTTPRequestHandler.path.strip
    - werkzeug._internal._make_encode_wrapper.<lambda1>
    - werkzeug.datastructures.CombinedMultiDict.items
    - typing.NamedTuple.fragment.decode
    - typing.NamedTuple.decode
    - path.split
    - bpath.split
    - werkzeug._internal._decode_idna
    - werkzeug.urls.url_encode
    - typing.NamedTuple.__init__
    - werkzeug.routing.MapAdapter.encode_query_args
    - path.startswith
    - posixpath.join
    - werkzeug.urls.BaseURL.decode_netloc
    - typing.NamedTuple.split
    - <builtin>.sorted
    - _scheme_re.match
    - <builtin>.str
    - typing.NamedTuple.find
    - http.server.BaseHTTPRequestHandler.path.split
    - http.server.BaseHTTPRequestHandler.path.join
    - domain.encode
    - werkzeug._internal._decode_idna.decode_part
    - werkzeug.urls._url_encode_impl
    - domain.split
    - http.server.BaseHTTPRequestHandler.path.find
    - returned_keys.add
    - <builtin>.min
    - part.decode
    - werkzeug.urls._fast_url_quote_plus
    - <builtin>.any
    - typing.NamedTuple.path.decode
    - found.add
    - dict.items
    - operator.methodcaller
    - <builtin>.isinstance
    - werkzeug.urls.url_parse
    - werkzeug.urls.url_join
    - <builtin>.filter
    - werkzeug.datastructures.OrderedMultiDict.items
    - <builtin>.set
    - werkzeug.datastructures.iter_multi_items
    - werkzeug._internal._make_encode_wrapper
    - typing.NamedTuple.strip
    - werkzeug.datastructures.MultiDict.items
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - query_args
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 7
    functionLinenumber: 2126
    functionName: werkzeug.routing.MapAdapter.encode_query_args
    functionSourceFile: werkzeug.routing
    functionUses: 12
    functionsReached:
    - werkzeug.urls.BaseURL.join
    - werkzeug._internal._to_str
    - werkzeug._internal._check_str_tuple
    - typing.NamedTuple.scheme.decode
    - http.server.BaseHTTPRequestHandler.path.decode
    - d.items
    - <builtin>.len
    - werkzeug.urls._make_fast_url_quote.quote
    - werkzeug.urls.url_unparse
    - werkzeug.urls.BytesURL.decode
    - typing.NamedTuple.query.decode
    - werkzeug._internal._make_encode_wrapper.<lambda1>
    - werkzeug.datastructures.CombinedMultiDict.items
    - typing.NamedTuple.fragment.decode
    - typing.NamedTuple.decode
    - path.split
    - bpath.split
    - werkzeug._internal._decode_idna
    - werkzeug.urls.url_encode
    - typing.NamedTuple.__init__
    - path.startswith
    - werkzeug.urls.BaseURL.decode_netloc
    - <builtin>.sorted
    - typing.NamedTuple.split
    - _scheme_re.match
    - <builtin>.str
    - typing.NamedTuple.find
    - http.server.BaseHTTPRequestHandler.path.split
    - http.server.BaseHTTPRequestHandler.path.join
    - domain.encode
    - werkzeug._internal._decode_idna.decode_part
    - werkzeug.urls._url_encode_impl
    - domain.split
    - http.server.BaseHTTPRequestHandler.path.find
    - returned_keys.add
    - <builtin>.min
    - part.decode
    - werkzeug.urls._fast_url_quote_plus
    - <builtin>.any
    - typing.NamedTuple.path.decode
    - found.add
    - dict.items
    - operator.methodcaller
    - <builtin>.isinstance
    - werkzeug.urls.url_parse
    - werkzeug.urls.url_join
    - <builtin>.filter
    - werkzeug.datastructures.OrderedMultiDict.items
    - <builtin>.set
    - werkzeug.datastructures.iter_multi_items
    - werkzeug._internal._make_encode_wrapper
    - werkzeug.datastructures.MultiDict.items
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: path_info.lstrip
    functionSourceFile: <builtin>
    functionUses: 11
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 6
    argDefaultValues: []
    argNames:
    - self
    - path
    - endpoint
    - values
    - method
    - query_args
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 8
    functionLinenumber: 2151
    functionName: werkzeug.routing.MapAdapter.make_alias_redirect_url
    functionSourceFile: werkzeug.routing
    functionUses: 0
    functionsReached:
    - werkzeug.urls.BaseURL.join
    - werkzeug._internal._to_str
    - rule.suitable_for
    - werkzeug._internal._check_str_tuple
    - typing.NamedTuple.scheme.decode
    - http.server.BaseHTTPRequestHandler.path.decode
    - d.items
    - <builtin>.len
    - werkzeug.routing.MapAdapter.get_host
    - werkzeug.urls._make_fast_url_quote.quote
    - werkzeug.urls.url_unparse
    - werkzeug.urls.BytesURL.decode
    - typing.NamedTuple.query.decode
    - werkzeug.routing.MapAdapter.build
    - werkzeug._internal._make_encode_wrapper.<lambda1>
    - werkzeug.datastructures.CombinedMultiDict.items
    - typing.NamedTuple.fragment.decode
    - typing.NamedTuple.decode
    - path.split
    - bpath.split
    - werkzeug._internal._decode_idna
    - werkzeug.urls.url_encode
    - path.lstrip
    - typing.NamedTuple.__init__
    - werkzeug.routing.MapAdapter.encode_query_args
    - path.startswith
    - werkzeug.urls.BaseURL.decode_netloc
    - werkzeug.routing.Map.update
    - <builtin>.sorted
    - typing.NamedTuple.split
    - _scheme_re.match
    - <builtin>.str
    - http.server.BaseHTTPRequestHandler.path.rstrip
    - typing.NamedTuple.find
    - http.server.BaseHTTPRequestHandler.path.join
    - http.server.BaseHTTPRequestHandler.path.split
    - rule.build
    - werkzeug._internal._decode_idna.decode_part
    - werkzeug.urls._url_encode_impl
    - domain.split
    - domain.encode
    - http.server.BaseHTTPRequestHandler.path.find
    - rules.sort
    - <builtin>.min
    - returned_keys.add
    - werkzeug.urls._fast_url_quote_plus
    - <builtin>.any
    - typing.NamedTuple.path.decode
    - part.decode
    - typing.NamedTuple.rstrip
    - values.items
    - dict.items
    - found.add
    - operator.methodcaller
    - <builtin>.isinstance
    - werkzeug.urls.url_parse
    - werkzeug.urls.url_join
    - werkzeug.routing.MapAdapter._partial_build
    - <builtin>.filter
    - werkzeug.datastructures.OrderedMultiDict.items
    - <builtin>.set
    - werkzeug.datastructures.iter_multi_items
    - werkzeug._internal._make_encode_wrapper
    - werkzeug.datastructures.MultiDict.items
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 11
    ICount: 2
    IfCount: 7
    argCount: 7
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe1794790>
    - <ast.Constant object at 0x7fcfe1794760>
    - <ast.Constant object at 0x7fcfe1794730>
    - <ast.Constant object at 0x7fcfe1794700>
    - <ast.Constant object at 0x7fcfe17946d0>
    argNames:
    - self
    - endpoint
    - values
    - method
    - force_external
    - append_unknown
    - url_scheme
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 7
    functionLinenumber: 2209
    functionName: werkzeug.routing.MapAdapter.build
    functionSourceFile: werkzeug.routing
    functionUses: 1
    functionsReached:
    - werkzeug._internal._to_str
    - rule.suitable_for
    - typing.NamedTuple.scheme.decode
    - http.server.BaseHTTPRequestHandler.path.decode
    - <builtin>.len
    - werkzeug.routing.MapAdapter.get_host
    - werkzeug.urls.BytesURL.decode
    - typing.NamedTuple.query.decode
    - typing.NamedTuple.fragment.decode
    - typing.NamedTuple.decode
    - werkzeug._internal._decode_idna
    - path.lstrip
    - typing.NamedTuple.__init__
    - werkzeug.urls.BaseURL.decode_netloc
    - werkzeug.routing.Map.update
    - <builtin>.str
    - http.server.BaseHTTPRequestHandler.path.rstrip
    - domain.encode
    - rule.build
    - werkzeug._internal._decode_idna.decode_part
    - domain.split
    - rules.sort
    - part.decode
    - typing.NamedTuple.path.decode
    - typing.NamedTuple.rstrip
    - values.items
    - dict.items
    - <builtin>.isinstance
    - <builtin>.filter
    - werkzeug.routing.MapAdapter._partial_build
    linkageType: pythonLinkage
    raised:
    - BuildError
    returnType: N/A
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 11
    ICount: 1
    IfCount: 7
    argCount: 5
    argDefaultValues: []
    argNames:
    - self
    - endpoint
    - values
    - method
    - append_unknown
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 2168
    functionName: werkzeug.routing.MapAdapter._partial_build
    functionSourceFile: werkzeug.routing
    functionUses: 2
    functionsReached:
    - werkzeug.routing.MapAdapter._partial_build
    - rule.suitable_for
    - rule.build
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: rule.suitable_for
    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: rule.build
    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: values.items
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: http.server.BaseHTTPRequestHandler.path.rstrip
    functionSourceFile: http
    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: typing.NamedTuple.rstrip
    functionSourceFile: typing
    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: flask.debughelpers
    functionSourceFile: flask.debughelpers
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - request
    - key
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 21
    functionName: flask.debughelpers.DebugFilesKeyError.__init__
    functionSourceFile: flask.debughelpers
    functionUses: 0
    functionsReached:
    - <builtin>.repr
    - buf.append
    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: 39
    functionName: flask.debughelpers.DebugFilesKeyError.__str__
    functionSourceFile: flask.debughelpers
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - request
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 50
    functionName: flask.debughelpers.FormDataRoutingRedirect.__init__
    functionSourceFile: flask.debughelpers
    functionUses: 0
    functionsReached:
    - <builtin>.super
    - buf.append
    - exc.new_url.partition
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: exc.new_url.partition
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - key
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 83
    functionName: flask.debughelpers.attach_enctype_error_multidict.newcls.__getitem__
    functionSourceFile: flask.debughelpers
    functionUses: 0
    functionsReached:
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 4
    IfCount: 4
    argCount: 1
    argDefaultValues: []
    argNames:
    - loader
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 99
    functionName: flask.debughelpers._dump_loader_info
    functionSourceFile: flask.debughelpers
    functionUses: 3
    functionsReached:
    - <builtin>.type
    - loader.__dict__.items
    - <builtin>.sorted
    - key.startswith
    - <builtin>.isinstance
    - <builtin>.all
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: loader.__dict__.items
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 11
    ICount: 10
    IfCount: 7
    argCount: 3
    argDefaultValues: []
    argNames:
    - app
    - template
    - attempts
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 116
    functionName: flask.debughelpers.explain_template_loading_attempts
    functionSourceFile: flask.debughelpers
    functionUses: 2
    functionsReached:
    - <builtin>.type
    - info.append
    - loader.__dict__.items
    - <builtin>.sorted
    - key.startswith
    - flask.debughelpers._dump_loader_info
    - <builtin>.enumerate
    - <builtin>.isinstance
    - <builtin>.repr
    - <builtin>.all
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: info.append
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 164
    functionName: flask.debughelpers.explain_ignored_app_run
    functionSourceFile: flask.debughelpers
    functionUses: 1
    functionsReached:
    - os.environ.get
    - warnings.warn
    - <builtin>.Warning
    linkageType: pythonLinkage
    raised: []
    returnType: N/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>.Warning
    functionSourceFile: <builtin>
    functionUses: 20
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: flask.blueprints
    functionSourceFile: flask.blueprints
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 5
    argDefaultValues: []
    argNames:
    - self
    - blueprint
    - app
    - options
    - first_registration
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 24
    functionName: flask.blueprints.BlueprintSetupState.__init__
    functionSourceFile: flask.blueprints
    functionUses: 2
    functionsReached:
    - <builtin>.dict
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 3
    IfCount: 4
    argCount: 5
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe17e7b20>
    - <ast.Constant object at 0x7fcfe17e7af0>
    argNames:
    - self
    - rule
    - endpoint
    - view_func
    - options
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 70
    functionName: flask.blueprints.BlueprintSetupState.add_url_rule
    functionSourceFile: flask.blueprints
    functionUses: 1
    functionsReached:
    - rule.lstrip
    - options.setdefault
    - flask.scaffold._endpoint_from_view_func
    - <builtin>.dict
    - options.pop
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: rule.lstrip
    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.setdefault
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - view_func
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 751
    functionName: flask.scaffold._endpoint_from_view_func
    functionSourceFile: ''
    functionUses: 10
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: options.pop
    functionSourceFile: <builtin>
    functionUses: 10
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 11
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe3d283d0>
    - <ast.Constant object at 0x7fcfe3d28370>
    - <ast.Constant object at 0x7fcfe3d28520>
    - <ast.Constant object at 0x7fcfe3d28550>
    - <ast.Constant object at 0x7fcfe3d283a0>
    - <ast.Constant object at 0x7fcfe3d28a30>
    - <ast.Constant object at 0x7fcfe3d28a00>
    - <ast.Name object at 0x7fcfe3d28940>
    argNames:
    - self
    - name
    - import_name
    - static_folder
    - static_url_path
    - template_folder
    - url_prefix
    - subdomain
    - url_defaults
    - root_path
    - cli_group
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 165
    functionName: flask.blueprints.Blueprint.__init__
    functionSourceFile: flask.blueprints
    functionUses: 0
    functionsReached:
    - <builtin>.super
    linkageType: pythonLinkage
    raised:
    - ValueError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 201
    functionName: flask.blueprints.Blueprint._is_setup_finished
    functionSourceFile: flask.blueprints
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - func
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 204
    functionName: flask.blueprints.Blueprint.record
    functionSourceFile: flask.blueprints
    functionUses: 17
    functionsReached:
    - <builtin>.Warning
    - warnings.warn
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - func
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 222
    functionName: flask.blueprints.Blueprint.record_once
    functionSourceFile: flask.blueprints
    functionUses: 15
    functionsReached:
    - functools.update_wrapper
    - flask.blueprints.Blueprint.record
    - warnings.warn
    - <builtin>.Warning
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - state
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 229
    functionName: flask.blueprints.Blueprint.record_once.wrapper
    functionSourceFile: flask.blueprints
    functionUses: 0
    functionsReached:
    - flask.blueprints.Blueprint.add_app_template_filter.register_template
    - flask.blueprints.Blueprint.add_app_template_test.register_template
    - flask.blueprints.Blueprint.add_app_template_global.register_template
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - state
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 509
    functionName: flask.blueprints.Blueprint.add_app_template_global.register_template
    functionSourceFile: ''
    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:
    - state
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 473
    functionName: flask.blueprints.Blueprint.add_app_template_test.register_template
    functionSourceFile: ''
    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:
    - state
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 437
    functionName: flask.blueprints.Blueprint.add_app_template_filter.register_template
    functionSourceFile: ''
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe3f4cca0>
    argNames:
    - self
    - app
    - options
    - first_registration
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 235
    functionName: flask.blueprints.Blueprint.make_setup_state
    functionSourceFile: flask.blueprints
    functionUses: 1
    functionsReached:
    - flask.blueprints.BlueprintSetupState.__init__
    - <builtin>.dict
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - blueprint
    - options
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 244
    functionName: flask.blueprints.Blueprint.register_blueprint
    functionSourceFile: flask.blueprints
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - ValueError
    returnType: N/A
  - BBCount: 10
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 15
    ICount: 13
    IfCount: 10
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - app
    - options
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 261
    functionName: flask.blueprints.Blueprint.register
    functionSourceFile: flask.blueprints
    functionUses: 0
    functionsReached:
    - bp_dict.items
    - flask.blueprints.BlueprintSetupState.__init__
    - app.cli.add_command
    - state.url_prefix.rstrip
    - <builtin>.dict
    - flask.blueprints.Blueprint.register.extend
    - flask.blueprints.BlueprintSetupState.add_url_rule
    - app.cli.commands.update
    - collections.defaultdict.items
    - options.setdefault
    - flask.scaffold._endpoint_from_view_func
    - collections.defaultdict
    - bp_options.get
    - app.blueprints.values
    - <builtin>.any
    - options.pop
    - code_values.items
    - bp_options.copy
    - options.get
    - flask.blueprints.Blueprint.make_setup_state
    - blueprint.register
    - rule.lstrip
    - bp_url_prefix.lstrip
    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: app.blueprints.values
    functionSourceFile: <builtin>
    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:
    - bp_dict
    - parent_dict
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 318
    functionName: flask.blueprints.Blueprint.register.extend
    functionSourceFile: flask.blueprints
    functionUses: 1
    functionsReached:
    - bp_dict.items
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: bp_dict.items
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: code_values.items
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: app.cli.commands.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: app.cli.add_command
    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: bp_options.copy
    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: bp_options.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: state.url_prefix.rstrip
    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: bp_url_prefix.lstrip
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: blueprint.register
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    IfCount: 2
    argCount: 6
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe17f17c0>
    - <ast.Constant object at 0x7fcfe17f1790>
    - <ast.Constant object at 0x7fcfe17f1760>
    argNames:
    - self
    - rule
    - endpoint
    - view_func
    - provide_automatic_options
    - options
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 383
    functionName: flask.blueprints.Blueprint.add_url_rule
    functionSourceFile: flask.blueprints
    functionUses: 0
    functionsReached:
    - <builtin>.Warning
    - <builtin>.hasattr
    - flask.blueprints.Blueprint.record
    - warnings.warn
    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: 1
    functionLinenumber: -1
    functionName: flask.blueprints.Blueprint.add_url_rule.<lambda1>
    functionSourceFile: flask.blueprints
    functionUses: 0
    functionsReached:
    - s.add_url_rule
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.add_url_rule
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe17eeca0>
    argNames:
    - self
    - name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 410
    functionName: flask.blueprints.Blueprint.app_template_filter
    functionSourceFile: flask.blueprints
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - f
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 420
    functionName: flask.blueprints.Blueprint.app_template_filter.decorator
    functionSourceFile: flask.blueprints
    functionUses: 0
    functionsReached:
    - flask.blueprints.Blueprint.record
    - <builtin>.Warning
    - warnings.warn
    - flask.blueprints.Blueprint.record_once
    - flask.blueprints.Blueprint.add_app_template_filter
    - functools.update_wrapper
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe17ee430>
    argNames:
    - self
    - f
    - name
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 426
    functionName: flask.blueprints.Blueprint.add_app_template_filter
    functionSourceFile: flask.blueprints
    functionUses: 1
    functionsReached:
    - flask.blueprints.Blueprint.record
    - warnings.warn
    - <builtin>.Warning
    - flask.blueprints.Blueprint.record_once
    - functools.update_wrapper
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe17ebd60>
    argNames:
    - self
    - name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 442
    functionName: flask.blueprints.Blueprint.app_template_test
    functionSourceFile: flask.blueprints
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - f
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 454
    functionName: flask.blueprints.Blueprint.app_template_test.decorator
    functionSourceFile: flask.blueprints
    functionUses: 0
    functionsReached:
    - flask.blueprints.Blueprint.record
    - <builtin>.Warning
    - flask.blueprints.Blueprint.add_app_template_test
    - warnings.warn
    - flask.blueprints.Blueprint.record_once
    - functools.update_wrapper
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe17eb4f0>
    argNames:
    - self
    - f
    - name
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 460
    functionName: flask.blueprints.Blueprint.add_app_template_test
    functionSourceFile: flask.blueprints
    functionUses: 1
    functionsReached:
    - flask.blueprints.Blueprint.record
    - warnings.warn
    - <builtin>.Warning
    - flask.blueprints.Blueprint.record_once
    - functools.update_wrapper
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe17e9e20>
    argNames:
    - self
    - name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 478
    functionName: flask.blueprints.Blueprint.app_template_global
    functionSourceFile: flask.blueprints
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - f
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 490
    functionName: flask.blueprints.Blueprint.app_template_global.decorator
    functionSourceFile: flask.blueprints
    functionUses: 0
    functionsReached:
    - flask.blueprints.Blueprint.record
    - <builtin>.Warning
    - flask.blueprints.Blueprint.add_app_template_global
    - warnings.warn
    - flask.blueprints.Blueprint.record_once
    - functools.update_wrapper
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe17e95b0>
    argNames:
    - self
    - f
    - name
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 496
    functionName: flask.blueprints.Blueprint.add_app_template_global
    functionSourceFile: flask.blueprints
    functionUses: 2
    functionsReached:
    - flask.blueprints.Blueprint.record
    - warnings.warn
    - <builtin>.Warning
    - flask.blueprints.Blueprint.record_once
    - functools.update_wrapper
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - f
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 514
    functionName: flask.blueprints.Blueprint.before_app_request
    functionSourceFile: flask.blueprints
    functionUses: 0
    functionsReached:
    - flask.blueprints.Blueprint.record
    - warnings.warn
    - <builtin>.Warning
    - flask.blueprints.Blueprint.record_once
    - functools.update_wrapper
    linkageType: 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: flask.blueprints.Blueprint.before_app_request.<lambda1>
    functionSourceFile: flask.blueprints
    functionUses: 0
    functionsReached:
    - s.app.before_request_funcs.setdefault
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.app.before_request_funcs.setdefault
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - f
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 525
    functionName: flask.blueprints.Blueprint.before_app_first_request
    functionSourceFile: flask.blueprints
    functionUses: 0
    functionsReached:
    - flask.blueprints.Blueprint.record
    - warnings.warn
    - <builtin>.Warning
    - flask.blueprints.Blueprint.record_once
    - functools.update_wrapper
    linkageType: 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: flask.blueprints.Blueprint.before_app_first_request.<lambda1>
    functionSourceFile: flask.blueprints
    functionUses: 0
    functionsReached:
    - s.app.before_first_request_funcs.append
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: s.app.before_first_request_funcs.append
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - f
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 534
    functionName: flask.blueprints.Blueprint.after_app_request
    functionSourceFile: flask.blueprints
    functionUses: 0
    functionsReached:
    - flask.blueprints.Blueprint.record
    - warnings.warn
    - <builtin>.Warning
    - flask.blueprints.Blueprint.record_once
    - functools.update_wrapper
    linkageType: 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: flask.blueprints.Blueprint.after_app_request.<lambda1>
    functionSourceFile: flask.blueprints
    functionUses: 0
    functionsReached:
    - s.app.after_request_funcs.setdefault
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.app.after_request_funcs.setdefault
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - f
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 543
    functionName: flask.blueprints.Blueprint.teardown_app_request
    functionSourceFile: flask.blueprints
    functionUses: 0
    functionsReached:
    - flask.blueprints.Blueprint.record
    - warnings.warn
    - <builtin>.Warning
    - flask.blueprints.Blueprint.record_once
    - functools.update_wrapper
    linkageType: 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: flask.blueprints.Blueprint.teardown_app_request.<lambda1>
    functionSourceFile: flask.blueprints
    functionUses: 0
    functionsReached:
    - s.app.teardown_request_funcs.setdefault
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.app.teardown_request_funcs.setdefault
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - f
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 553
    functionName: flask.blueprints.Blueprint.app_context_processor
    functionSourceFile: flask.blueprints
    functionUses: 0
    functionsReached:
    - flask.blueprints.Blueprint.record
    - warnings.warn
    - <builtin>.Warning
    - flask.blueprints.Blueprint.record_once
    - functools.update_wrapper
    linkageType: 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: flask.blueprints.Blueprint.app_context_processor.<lambda1>
    functionSourceFile: flask.blueprints
    functionUses: 0
    functionsReached:
    - s.app.template_context_processors.setdefault
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.app.template_context_processors.setdefault
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - code
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 564
    functionName: flask.blueprints.Blueprint.app_errorhandler
    functionSourceFile: flask.blueprints
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - f
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 571
    functionName: flask.blueprints.Blueprint.app_errorhandler.decorator
    functionSourceFile: flask.blueprints
    functionUses: 0
    functionsReached:
    - flask.blueprints.Blueprint.record
    - warnings.warn
    - <builtin>.Warning
    - flask.blueprints.Blueprint.record_once
    - functools.update_wrapper
    linkageType: 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: flask.blueprints.Blueprint.app_errorhandler.decorator.<lambda1>
    functionSourceFile: flask.blueprints
    functionUses: 0
    functionsReached:
    - s.app.errorhandler
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.app.errorhandler
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - f
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 577
    functionName: flask.blueprints.Blueprint.app_url_value_preprocessor
    functionSourceFile: flask.blueprints
    functionUses: 0
    functionsReached:
    - flask.blueprints.Blueprint.record
    - warnings.warn
    - <builtin>.Warning
    - flask.blueprints.Blueprint.record_once
    - functools.update_wrapper
    linkageType: 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: flask.blueprints.Blueprint.app_url_value_preprocessor.<lambda1>
    functionSourceFile: flask.blueprints
    functionUses: 0
    functionsReached:
    - s.app.url_value_preprocessors.setdefault
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.app.url_value_preprocessors.setdefault
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - f
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 586
    functionName: flask.blueprints.Blueprint.app_url_defaults
    functionSourceFile: flask.blueprints
    functionUses: 0
    functionsReached:
    - flask.blueprints.Blueprint.record
    - warnings.warn
    - <builtin>.Warning
    - flask.blueprints.Blueprint.record_once
    - functools.update_wrapper
    linkageType: 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: flask.blueprints.Blueprint.app_url_defaults.<lambda1>
    functionSourceFile: flask.blueprints
    functionUses: 0
    functionsReached:
    - s.app.url_default_functions.setdefault
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.app.url_default_functions.setdefault
    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: flask.typing
    functionSourceFile: flask.typing
    functionUses: 0
    functionsReached:
    - typing.TypeVar
    linkageType: 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: flask.scaffold
    functionSourceFile: flask.scaffold
    functionUses: 0
    functionsReached:
    - <builtin>.object
    - typing.TypeVar
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - f
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 33
    functionName: flask.scaffold.setupmethod
    functionSourceFile: flask.scaffold
    functionUses: 2
    functionsReached:
    - functools.update_wrapper
    - typing.cast
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 9
    functionLinenumber: 38
    functionName: flask.scaffold.setupmethod.wrapper_func
    functionSourceFile: flask.scaffold
    functionUses: 0
    functionsReached:
    - http.server.BaseHTTPRequestHandler.path.fragment.encode
    - flask.scaffold.Scaffold.errorhandler
    - werkzeug.routing.Rule.compile
    - werkzeug.routing._pythonize
    - flask.app.Flask.shell_context_processor
    - ast.Load
    - re.compile
    - http.server.BaseHTTPRequestHandler.path.query.encode
    - body.append
    - flask.app.Flask.add_url_rule
    - typing.NamedTuple.encode
    - <builtin>.exec
    - <builtin>.str
    - re.finditer
    - <builtin>.frozenset
    - typing.NamedTuple.fragment.encode
    - flask.app.Flask.add_template_filter
    - ast.parse
    - flask.scaffold.Scaffold.url_value_preprocessor
    - typing.NamedTuple.path.encode
    - werkzeug.routing.Rule.compile._build_regex
    - safe.encode
    - ast.Str
    - <builtin>.set
    - ret.append
    - required_methods.add
    - werkzeug._internal._to_bytes
    - werkzeug.routing.parse_converter_args
    - typing.NamedTuple.query.encode
    - flask.app.Flask.template_filter
    - werkzeug.routing.Rule.get_converter
    - args.append
    - flask.scaffold._endpoint_from_view_func
    - flask.scaffold.Scaffold.before_request
    - <builtin>.issubclass
    - rv.append
    - ast.Return
    - werkzeug.routing.Rule._compile_builder._parts
    - ast.JoinedStr
    - unsafe.encode
    - m.end
    - _CALL_CONVERTER_CODE_FMT.format
    - flask.scaffold.Scaffold.url_defaults
    - werkzeug.routing.Rule._compile_builder._join
    - options.pop
    - flask.scaffold.Scaffold.teardown_request
    - part.startswith
    - <builtin>.bytes
    - http.server.BaseHTTPRequestHandler.path.encode
    - func_ast.args.args.append
    - werkzeug.routing.Rule._compile_builder
    - <builtin>.tuple
    - ast.arg
    - werkzeug.routing.parse_rule
    - match.group
    - flask.app.Flask.register_blueprint
    - <builtin>.len
    - ast.Name
    - rv.extend
    - m.groupdict
    - werkzeug.urls.BytesURL.encode_netloc
    - ast.walk
    - typing.NamedTuple.__init__
    - flask.app.Flask.template_global
    - func_ast.args.defaults.append
    - string.startswith
    - flask.scaffold.Scaffold._get_exc_class_and_code
    - flask.scaffold.Scaffold.context_processor
    - werkzeug.routing.Rule._get_func_code
    - <builtin>.getattr
    - ast.Tuple
    - opl.append
    - flask.scaffold.Scaffold.add_url_rule
    - flask.scaffold.Scaffold.after_request
    - werkzeug.routing.Rule.bind
    - werkzeug.urls.BaseURL.encode_netloc
    - item.upper
    - blueprint.register
    - used_names.add
    - <builtin>.bytearray
    - x.upper
    - flask.app.Flask.add_template_test
    - flask.app.Flask.template_test
    - werkzeug.routing.Rule._compile_builder._convert
    - werkzeug.routing._prefix_names
    - flask.scaffold.Scaffold.register_error_handler
    - werkzeug.routing.Map.add
    - werkzeug.routing.Rule.get_rules
    - flask.app.Flask.add_template_global
    - url_parts.extend
    - regex_parts.append
    - item.group
    - flask.app.Flask.teardown_appcontext
    - string.endswith
    - methods.add
    - flask.app.Flask.before_first_request
    - werkzeug.routing.Rule.__init__
    - typing.NamedTuple.scheme.encode
    - <builtin>.isinstance
    - re.escape
    - <builtin>.filter
    - werkzeug.urls.url_quote
    - werkzeug.urls.URL.encode
    - _converter_args_re.finditer
    linkageType: pythonLinkage
    raised:
    - AssertionError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - code_or_exception
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 656
    functionName: flask.scaffold.Scaffold.errorhandler
    functionSourceFile: ''
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe33d4a00>
    argNames:
    - self
    - f
    - name
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1154
    functionName: flask.app.Flask.add_template_test
    functionSourceFile: ''
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe33e02e0>
    argNames:
    - self
    - name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1125
    functionName: flask.app.Flask.template_test
    functionSourceFile: ''
    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
    - blueprint
    - options
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 997
    functionName: flask.app.Flask.register_blueprint
    functionSourceFile: flask.app
    functionUses: 1
    functionsReached:
    - blueprint.register
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - f
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1221
    functionName: flask.app.Flask.teardown_appcontext
    functionSourceFile: ''
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - f
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 620
    functionName: flask.scaffold.Scaffold.context_processor
    functionSourceFile: ''
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - f
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1254
    functionName: flask.app.Flask.shell_context_processor
    functionSourceFile: ''
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - f
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 647
    functionName: flask.scaffold.Scaffold.url_defaults
    functionSourceFile: ''
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe33e0760>
    argNames:
    - self
    - f
    - name
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1113
    functionName: flask.app.Flask.add_template_filter
    functionSourceFile: ''
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - code_or_exception
    - f
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 695
    functionName: flask.scaffold.Scaffold.register_error_handler
    functionSourceFile: flask.scaffold
    functionUses: 2
    functionsReached:
    - <builtin>.isinstance
    - flask.scaffold.Scaffold._get_exc_class_and_code
    - <builtin>.issubclass
    linkageType: pythonLinkage
    raised:
    - ValueError
    - KeyError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - f
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 628
    functionName: flask.scaffold.Scaffold.url_value_preprocessor
    functionSourceFile: ''
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 6
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe4263ac0>
    - <ast.Constant object at 0x7fcfe4263a90>
    - <ast.Constant object at 0x7fcfe4263a60>
    argNames:
    - self
    - rule
    - endpoint
    - view_func
    - provide_automatic_options
    - options
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 452
    functionName: flask.scaffold.Scaffold.add_url_rule
    functionSourceFile: ''
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - f
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 581
    functionName: flask.scaffold.Scaffold.teardown_request
    functionSourceFile: ''
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - f
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 565
    functionName: flask.scaffold.Scaffold.after_request
    functionSourceFile: ''
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - f
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1206
    functionName: flask.app.Flask.before_first_request
    functionSourceFile: ''
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe3124040>
    argNames:
    - self
    - name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1091
    functionName: flask.app.Flask.template_filter
    functionSourceFile: ''
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe33f4ca0>
    argNames:
    - self
    - f
    - name
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1192
    functionName: flask.app.Flask.add_template_global
    functionSourceFile: ''
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe33d4580>
    argNames:
    - self
    - name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1168
    functionName: flask.app.Flask.template_global
    functionSourceFile: ''
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - f
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 543
    functionName: flask.scaffold.Scaffold.before_request
    functionSourceFile: ''
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 12
    ICount: 2
    IfCount: 8
    argCount: 6
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe3127f40>
    - <ast.Constant object at 0x7fcfe3127f10>
    - <ast.Constant object at 0x7fcfe3127ee0>
    argNames:
    - self
    - rule
    - endpoint
    - view_func
    - provide_automatic_options
    - options
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 8
    functionLinenumber: 1032
    functionName: flask.app.Flask.add_url_rule
    functionSourceFile: flask.app
    functionUses: 6
    functionsReached:
    - http.server.BaseHTTPRequestHandler.path.fragment.encode
    - werkzeug.routing.Rule.compile
    - werkzeug.routing._pythonize
    - ast.Load
    - re.compile
    - http.server.BaseHTTPRequestHandler.path.query.encode
    - body.append
    - typing.NamedTuple.encode
    - <builtin>.exec
    - <builtin>.str
    - re.finditer
    - <builtin>.frozenset
    - typing.NamedTuple.fragment.encode
    - ast.parse
    - typing.NamedTuple.path.encode
    - werkzeug.routing.Rule.compile._build_regex
    - safe.encode
    - ast.Str
    - <builtin>.set
    - ret.append
    - required_methods.add
    - werkzeug._internal._to_bytes
    - werkzeug.routing.parse_converter_args
    - typing.NamedTuple.query.encode
    - werkzeug.routing.Rule.get_converter
    - args.append
    - flask.scaffold._endpoint_from_view_func
    - rv.append
    - ast.Return
    - werkzeug.routing.Rule._compile_builder._parts
    - ast.JoinedStr
    - unsafe.encode
    - m.end
    - _CALL_CONVERTER_CODE_FMT.format
    - werkzeug.routing.Rule._compile_builder._join
    - options.pop
    - part.startswith
    - <builtin>.bytes
    - http.server.BaseHTTPRequestHandler.path.encode
    - func_ast.args.args.append
    - werkzeug.routing.Rule._compile_builder
    - <builtin>.tuple
    - ast.arg
    - werkzeug.routing.parse_rule
    - match.group
    - <builtin>.len
    - ast.Name
    - rv.extend
    - m.groupdict
    - werkzeug.urls.BytesURL.encode_netloc
    - ast.walk
    - typing.NamedTuple.__init__
    - func_ast.args.defaults.append
    - string.startswith
    - werkzeug.routing.Rule._get_func_code
    - <builtin>.getattr
    - ast.Tuple
    - opl.append
    - werkzeug.routing.Rule.bind
    - werkzeug.urls.BaseURL.encode_netloc
    - item.upper
    - used_names.add
    - <builtin>.bytearray
    - x.upper
    - werkzeug.routing.Rule._compile_builder._convert
    - werkzeug.routing._prefix_names
    - werkzeug.routing.Map.add
    - werkzeug.routing.Rule.get_rules
    - url_parts.extend
    - regex_parts.append
    - item.group
    - string.endswith
    - methods.add
    - werkzeug.routing.Rule.__init__
    - typing.NamedTuple.scheme.encode
    - <builtin>.isinstance
    - re.escape
    - <builtin>.filter
    - werkzeug.urls.url_quote
    - werkzeug.urls.URL.encode
    - _converter_args_re.finditer
    linkageType: pythonLinkage
    raised:
    - AssertionError
    - TypeError
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 6
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe424a940>
    - <ast.Constant object at 0x7fcfe424a910>
    - <ast.Constant object at 0x7fcfe424a8e0>
    - <ast.Constant object at 0x7fcfe424a8b0>
    argNames:
    - self
    - import_name
    - static_folder
    - static_url_path
    - template_folder
    - root_path
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 85
    functionName: flask.scaffold.Scaffold.__init__
    functionSourceFile: flask.scaffold
    functionUses: 0
    functionsReached:
    - pkgutil.get_loader
    - <builtin>.getattr
    - <builtin>.__import__
    - os.getcwd
    - click.Group.__init__
    - sys.modules.get
    - os.path.dirname
    - <builtin>.hasattr
    - flask.helpers.get_root_path
    - loader.get_filename
    - collections.defaultdict
    - os.path.abspath
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 2
    IfCount: 4
    argCount: 1
    argDefaultValues: []
    argNames:
    - import_name
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 681
    functionName: flask.helpers.get_root_path
    functionSourceFile: flask.helpers
    functionUses: 1
    functionsReached:
    - pkgutil.get_loader
    - <builtin>.__import__
    - os.getcwd
    - sys.modules.get
    - os.path.dirname
    - <builtin>.hasattr
    - loader.get_filename
    - <builtin>.getattr
    - os.path.abspath
    linkageType: pythonLinkage
    raised:
    - RuntimeError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: click.Group.__init__
    functionSourceFile: ''
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: flask.scaffold.Scaffold.__init__.<lambda1>
    functionSourceFile: flask.scaffold
    functionUses: 0
    functionsReached:
    - collections.defaultdict
    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: 233
    functionName: flask.scaffold.Scaffold.__repr__
    functionSourceFile: flask.scaffold
    functionUses: 0
    functionsReached:
    - <builtin>.type
    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: 236
    functionName: flask.scaffold.Scaffold._is_setup_finished
    functionSourceFile: flask.scaffold
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - value
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 250
    functionName: flask.scaffold.Scaffold.static_folder
    functionSourceFile: flask.scaffold
    functionUses: 0
    functionsReached:
    - os.fspath
    - os.path.join
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 257
    functionName: flask.scaffold.Scaffold.has_static_folder
    functionSourceFile: flask.scaffold
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - value
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 281
    functionName: flask.scaffold.Scaffold.static_url_path
    functionSourceFile: flask.scaffold
    functionUses: 0
    functionsReached:
    - os.path.basename
    - value.rstrip
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: value.rstrip
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - filename
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 287
    functionName: flask.scaffold.Scaffold.get_send_file_max_age
    functionSourceFile: flask.scaffold
    functionUses: 1
    functionsReached:
    - value.total_seconds
    - <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: value.total_seconds
    functionSourceFile: <builtin>
    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
    - filename
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 10
    functionLinenumber: 308
    functionName: flask.scaffold.Scaffold.send_static_file
    functionSourceFile: flask.scaffold
    functionUses: 0
    functionsReached:
    - http.server.BaseHTTPRequestHandler.path.fragment.encode
    - <builtin>.enumerate
    - value.decode
    - werkzeug.datastructures.Headers._validate_value
    - http.server.BaseHTTPRequestHandler.path.query.encode
    - posixpath.join
    - typing.NamedTuple.encode
    - warnings.warn
    - <builtin>.str
    - <builtin>.int
    - <builtin>.frozenset
    - options.items
    - typing.NamedTuple.fragment.encode
    - <builtin>.any
    - werkzeug.http.quote_header_value
    - posixpath.normpath
    - typing.NamedTuple.path.encode
    - io.BytesIO.close
    - dict.items
    - safe.encode
    - rv.headers.pop
    - <builtin>.super
    - <builtin>.set
    - os.path.abspath
    - time.time
    - os.fspath
    - d.items
    - kw.items
    - io.BytesIO.getbuffer
    - mimetypes.guess_type
    - old_key.lower
    - path.encode
    - typing.NamedTuple.query.encode
    - werkzeug.datastructures.CombinedMultiDict.items
    - value.replace
    - werkzeug.datastructures._unicodify_header_value
    - segments.append
    - werkzeug.wrappers.response.Response.__init__
    - rv.append
    - <builtin>.iter
    - _key.lower
    - unsafe.encode
    - flask.scaffold.Scaffold.get_send_file_max_age
    - environ.get
    - os.stat
    - found.add
    - <builtin>.bytes
    - http.server.BaseHTTPRequestHandler.path.encode
    - werkzeug.utils.send_from_directory
    - werkzeug.datastructures.OrderedMultiDict.items
    - werkzeug.datastructures.iter_multi_items
    - werkzeug.datastructures.MultiDict.items
    - werkzeug.http.dump_options_header
    - <builtin>.hasattr
    - werkzeug.datastructures.Headers.extend
    - <builtin>.len
    - simple.encode
    - rv.extend
    - werkzeug.urls.BytesURL.encode_netloc
    - zlib.adler32
    - flask.helpers.send_from_directory
    - value.encode
    - typing.NamedTuple.__init__
    - k.replace
    - rv.set_etag
    - unicodedata.normalize
    - werkzeug.utils.send_file
    - <builtin>.callable
    - werkzeug.urls.BaseURL.encode_netloc
    - <builtin>.open
    - os.path.basename
    - parts.append
    - os.path.join
    - os.path.isabs
    - werkzeug.datastructures.Headers.add
    - <builtin>.bytearray
    - os.path.isfile
    - werkzeug.wsgi.wrap_file
    - value.total_seconds
    - rv.make_conditional
    - filename.startswith
    - werkzeug.security.safe_join
    - download_name.encode
    - returned_keys.add
    - werkzeug.datastructures._options_header_vkw
    - werkzeug.datastructures.Headers.__init__
    - werkzeug.datastructures.Headers.set
    - werkzeug.wrappers.response.Response.set_data
    - typing.cast
    - typing.NamedTuple.scheme.encode
    - <builtin>.isinstance
    - <builtin>.filter
    - werkzeug.urls.url_quote
    - flask.helpers._prepare_send_file_kwargs
    - werkzeug.urls.URL.encode
    - kwargs.update
    linkageType: pythonLinkage
    raised:
    - RuntimeError
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe09af0d0>
    argNames:
    - directory
    - path
    - filename
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 9
    functionLinenumber: 628
    functionName: flask.helpers.send_from_directory
    functionSourceFile: flask.helpers
    functionUses: 1
    functionsReached:
    - http.server.BaseHTTPRequestHandler.path.fragment.encode
    - <builtin>.enumerate
    - value.decode
    - werkzeug.datastructures.Headers._validate_value
    - http.server.BaseHTTPRequestHandler.path.query.encode
    - posixpath.join
    - typing.NamedTuple.encode
    - warnings.warn
    - <builtin>.str
    - <builtin>.int
    - <builtin>.frozenset
    - options.items
    - typing.NamedTuple.fragment.encode
    - <builtin>.any
    - werkzeug.http.quote_header_value
    - posixpath.normpath
    - typing.NamedTuple.path.encode
    - io.BytesIO.close
    - dict.items
    - safe.encode
    - rv.headers.pop
    - <builtin>.super
    - <builtin>.set
    - os.path.abspath
    - time.time
    - os.fspath
    - d.items
    - kw.items
    - io.BytesIO.getbuffer
    - mimetypes.guess_type
    - old_key.lower
    - path.encode
    - typing.NamedTuple.query.encode
    - werkzeug.datastructures.CombinedMultiDict.items
    - value.replace
    - werkzeug.datastructures._unicodify_header_value
    - segments.append
    - werkzeug.wrappers.response.Response.__init__
    - rv.append
    - <builtin>.iter
    - _key.lower
    - unsafe.encode
    - environ.get
    - os.stat
    - found.add
    - <builtin>.bytes
    - http.server.BaseHTTPRequestHandler.path.encode
    - werkzeug.utils.send_from_directory
    - werkzeug.datastructures.OrderedMultiDict.items
    - werkzeug.datastructures.iter_multi_items
    - werkzeug.datastructures.MultiDict.items
    - werkzeug.http.dump_options_header
    - <builtin>.hasattr
    - werkzeug.datastructures.Headers.extend
    - <builtin>.len
    - simple.encode
    - rv.extend
    - werkzeug.urls.BytesURL.encode_netloc
    - zlib.adler32
    - value.encode
    - typing.NamedTuple.__init__
    - k.replace
    - rv.set_etag
    - unicodedata.normalize
    - werkzeug.utils.send_file
    - <builtin>.callable
    - werkzeug.urls.BaseURL.encode_netloc
    - <builtin>.open
    - os.path.basename
    - parts.append
    - os.path.join
    - werkzeug.datastructures.Headers.add
    - os.path.isabs
    - <builtin>.bytearray
    - os.path.isfile
    - werkzeug.wsgi.wrap_file
    - rv.make_conditional
    - filename.startswith
    - werkzeug.security.safe_join
    - download_name.encode
    - returned_keys.add
    - werkzeug.datastructures._options_header_vkw
    - werkzeug.datastructures.Headers.__init__
    - werkzeug.datastructures.Headers.set
    - werkzeug.wrappers.response.Response.set_data
    - typing.cast
    - typing.NamedTuple.scheme.encode
    - <builtin>.isinstance
    - <builtin>.filter
    - werkzeug.urls.url_quote
    - flask.helpers._prepare_send_file_kwargs
    - werkzeug.urls.URL.encode
    - kwargs.update
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: -1
    functionName: flask.scaffold.Scaffold
    functionSourceFile: flask.scaffold
    functionUses: 0
    functionsReached:
    - flask.helpers.locked_cached_property
    - functools.update_wrapper
    - flask.scaffold.setupmethod
    - typing.cast
    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: flask.helpers.locked_cached_property
    functionSourceFile: ''
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 327
    functionName: flask.scaffold.Scaffold.jinja_loader
    functionSourceFile: flask.scaffold
    functionUses: 0
    functionsReached:
    - jinja2.FileSystemLoader
    - os.path.join
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: jinja2.FileSystemLoader
    functionSourceFile: jinja2
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe25e0c10>
    argNames:
    - self
    - resource
    - mode
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 339
    functionName: flask.scaffold.Scaffold.open_resource
    functionSourceFile: flask.scaffold
    functionUses: 0
    functionsReached:
    - <builtin>.open
    - os.path.join
    linkageType: pythonLinkage
    raised:
    - ValueError
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - method
    - rule
    - options
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 362
    functionName: flask.scaffold.Scaffold._method_route
    functionSourceFile: flask.scaffold
    functionUses: 5
    functionsReached:
    - flask.scaffold.Scaffold.route
    linkageType: pythonLinkage
    raised:
    - TypeError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - rule
    - options
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 418
    functionName: flask.scaffold.Scaffold.route
    functionSourceFile: ''
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - rule
    - options
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 373
    functionName: flask.scaffold.Scaffold.get
    functionSourceFile: flask.scaffold
    functionUses: 0
    functionsReached:
    - flask.scaffold.Scaffold._method_route
    - flask.scaffold.Scaffold.route
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - rule
    - options
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 382
    functionName: flask.scaffold.Scaffold.post
    functionSourceFile: flask.scaffold
    functionUses: 0
    functionsReached:
    - flask.scaffold.Scaffold._method_route
    - flask.scaffold.Scaffold.route
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - rule
    - options
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 391
    functionName: flask.scaffold.Scaffold.put
    functionSourceFile: flask.scaffold
    functionUses: 0
    functionsReached:
    - flask.scaffold.Scaffold._method_route
    - flask.scaffold.Scaffold.route
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - rule
    - options
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 400
    functionName: flask.scaffold.Scaffold.delete
    functionSourceFile: flask.scaffold
    functionUses: 0
    functionsReached:
    - flask.scaffold.Scaffold._method_route
    - flask.scaffold.Scaffold.route
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - rule
    - options
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 409
    functionName: flask.scaffold.Scaffold.patch
    functionSourceFile: flask.scaffold
    functionUses: 0
    functionsReached:
    - flask.scaffold.Scaffold._method_route
    - flask.scaffold.Scaffold.route
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - f
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 9
    functionLinenumber: 444
    functionName: flask.scaffold.Scaffold.route.decorator
    functionSourceFile: flask.scaffold
    functionUses: 0
    functionsReached:
    - http.server.BaseHTTPRequestHandler.path.fragment.encode
    - werkzeug.routing.Rule.compile
    - werkzeug.routing._pythonize
    - ast.Load
    - re.compile
    - http.server.BaseHTTPRequestHandler.path.query.encode
    - body.append
    - flask.app.Flask.add_url_rule
    - typing.NamedTuple.encode
    - <builtin>.exec
    - <builtin>.str
    - re.finditer
    - <builtin>.frozenset
    - typing.NamedTuple.fragment.encode
    - ast.parse
    - typing.NamedTuple.path.encode
    - werkzeug.routing.Rule.compile._build_regex
    - safe.encode
    - ast.Str
    - <builtin>.set
    - ret.append
    - required_methods.add
    - werkzeug._internal._to_bytes
    - werkzeug.routing.parse_converter_args
    - typing.NamedTuple.query.encode
    - werkzeug.routing.Rule.get_converter
    - args.append
    - flask.scaffold._endpoint_from_view_func
    - rv.append
    - ast.Return
    - werkzeug.routing.Rule._compile_builder._parts
    - ast.JoinedStr
    - unsafe.encode
    - m.end
    - _CALL_CONVERTER_CODE_FMT.format
    - werkzeug.routing.Rule._compile_builder._join
    - options.pop
    - part.startswith
    - <builtin>.bytes
    - http.server.BaseHTTPRequestHandler.path.encode
    - func_ast.args.args.append
    - werkzeug.routing.Rule._compile_builder
    - <builtin>.tuple
    - ast.arg
    - werkzeug.routing.parse_rule
    - match.group
    - <builtin>.len
    - ast.Name
    - rv.extend
    - m.groupdict
    - werkzeug.urls.BytesURL.encode_netloc
    - ast.walk
    - typing.NamedTuple.__init__
    - func_ast.args.defaults.append
    - string.startswith
    - werkzeug.routing.Rule._get_func_code
    - <builtin>.getattr
    - ast.Tuple
    - opl.append
    - flask.scaffold.Scaffold.add_url_rule
    - werkzeug.routing.Rule.bind
    - werkzeug.urls.BaseURL.encode_netloc
    - item.upper
    - used_names.add
    - <builtin>.bytearray
    - x.upper
    - werkzeug.routing.Rule._compile_builder._convert
    - werkzeug.routing._prefix_names
    - werkzeug.routing.Map.add
    - werkzeug.routing.Rule.get_rules
    - url_parts.extend
    - regex_parts.append
    - item.group
    - string.endswith
    - methods.add
    - werkzeug.routing.Rule.__init__
    - typing.NamedTuple.scheme.encode
    - <builtin>.isinstance
    - re.escape
    - <builtin>.filter
    - werkzeug.urls.url_quote
    - werkzeug.urls.URL.encode
    - _converter_args_re.finditer
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - endpoint
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 519
    functionName: flask.scaffold.Scaffold.endpoint
    functionSourceFile: flask.scaffold
    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:
    - f
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 536
    functionName: flask.scaffold.Scaffold.endpoint.decorator
    functionSourceFile: flask.scaffold
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - f
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 688
    functionName: flask.scaffold.Scaffold.errorhandler.decorator
    functionSourceFile: flask.scaffold
    functionUses: 0
    functionsReached:
    - flask.scaffold.Scaffold.register_error_handler
    - <builtin>.isinstance
    - flask.scaffold.Scaffold._get_exc_class_and_code
    - <builtin>.issubclass
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - exc_class_or_code
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 725
    functionName: flask.scaffold.Scaffold._get_exc_class_and_code
    functionSourceFile: flask.scaffold
    functionUses: 10
    functionsReached:
    - <builtin>.isinstance
    - <builtin>.issubclass
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - loader
    - mod_name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 759
    functionName: flask.scaffold._matching_loader_thinks_module_is_package
    functionSourceFile: flask.scaffold
    functionUses: 7
    functionsReached:
    - loader.is_package
    - <builtin>.hasattr
    - <builtin>.type
    linkageType: pythonLinkage
    raised:
    - AttributeError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: loader.is_package
    functionSourceFile: <builtin>
    functionUses: 8
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - path
    - base
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 784
    functionName: flask.scaffold._path_is_relative_to
    functionSourceFile: flask.scaffold
    functionUses: 7
    functionsReached:
    - path.relative_to
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: path.relative_to
    functionSourceFile: <builtin>
    functionUses: 8
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 12
    ICount: 1
    IfCount: 8
    argCount: 1
    argDefaultValues: []
    argNames:
    - import_name
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 793
    functionName: flask.scaffold._find_package_path
    functionSourceFile: flask.scaffold
    functionUses: 6
    functionsReached:
    - <builtin>.next
    - <builtin>.type
    - flask.scaffold._matching_loader_thinks_module_is_package
    - os.path.commonpath
    - pkgutil.get_loader
    - path.relative_to
    - <builtin>.iter
    - flask.scaffold._path_is_relative_to
    - importlib.import_module
    - os.getcwd
    - pathlib.Path
    - os.path.dirname
    - <builtin>.hasattr
    - loader.get_filename
    - loader.is_package
    - importlib.util.find_spec
    - import_name.partition
    - os.path.abspath
    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: import_name.partition
    functionSourceFile: <builtin>
    functionUses: 7
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: importlib.util.find_spec
    functionSourceFile: <builtin>
    functionUses: 7
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: os.path.commonpath
    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: pathlib.Path
    functionSourceFile: pathlib
    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: os.getcwd
    functionSourceFile: os
    functionUses: 12
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: loader.get_filename
    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: importlib.import_module
    functionSourceFile: <builtin>
    functionUses: 7
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 1
    IfCount: 4
    argCount: 1
    argDefaultValues: []
    argNames:
    - import_name
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 861
    functionName: flask.scaffold.find_package
    functionSourceFile: flask.scaffold
    functionUses: 5
    functionsReached:
    - flask.scaffold._matching_loader_thinks_module_is_package
    - os.path.split
    - importlib.import_module
    - <builtin>.hasattr
    - loader.is_package
    - import_name.partition
    - site_folder.lower
    - <builtin>.next
    - folder.lower
    - path.relative_to
    - flask.scaffold._find_package_path
    - os.getcwd
    - pathlib.Path
    - pathlib.PurePath
    - loader.get_filename
    - os.path.commonpath
    - <builtin>.iter
    - flask.scaffold._path_is_relative_to
    - <builtin>.type
    - pkgutil.get_loader
    - os.path.basename
    - os.path.dirname
    - importlib.util.find_spec
    - os.path.abspath
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: os.path.split
    functionSourceFile: os
    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: site_folder.lower
    functionSourceFile: <builtin>
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: folder.lower
    functionSourceFile: <builtin>
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: flask.templating
    functionSourceFile: flask.templating
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 18
    functionName: flask.templating._default_template_ctx_processor
    functionSourceFile: flask.templating
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - app
    - options
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 39
    functionName: flask.templating.Environment.__init__
    functionSourceFile: flask.templating
    functionUses: 2
    functionsReached:
    - jinja2.Environment.__init__
    - flask.templating.DispatchingJinjaLoader.__init__
    - flask.app.Flask.create_global_jinja_loader
    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: 703
    functionName: flask.app.Flask.create_global_jinja_loader
    functionSourceFile: flask.app
    functionUses: 3
    functionsReached:
    - flask.templating.DispatchingJinjaLoader.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: jinja2.Environment.__init__
    functionSourceFile: jinja2
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - app
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 51
    functionName: flask.templating.DispatchingJinjaLoader.__init__
    functionSourceFile: flask.templating
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - environment
    - template
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 54
    functionName: flask.templating.DispatchingJinjaLoader.get_source
    functionSourceFile: flask.templating
    functionUses: 0
    functionsReached:
    - <builtin>.type
    - info.append
    - attempts.append
    - loader.__dict__.items
    - <builtin>.sorted
    - key.startswith
    - flask.debughelpers._dump_loader_info
    - flask.templating.DispatchingJinjaLoader._get_source_fast
    - <builtin>.enumerate
    - <builtin>.isinstance
    - loader.get_source
    - <builtin>.repr
    - flask.debughelpers.explain_template_loading_attempts
    - flask.templating.DispatchingJinjaLoader._iter_loaders
    - <builtin>.all
    - flask.app.Flask.iter_blueprints
    - flask.templating.DispatchingJinjaLoader._get_source_explained
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    IfCount: 2
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - environment
    - template
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 61
    functionName: flask.templating.DispatchingJinjaLoader._get_source_explained
    functionSourceFile: flask.templating
    functionUses: 1
    functionsReached:
    - <builtin>.type
    - info.append
    - attempts.append
    - loader.__dict__.items
    - <builtin>.sorted
    - key.startswith
    - flask.debughelpers._dump_loader_info
    - <builtin>.enumerate
    - <builtin>.isinstance
    - loader.get_source
    - <builtin>.repr
    - flask.debughelpers.explain_template_loading_attempts
    - flask.templating.DispatchingJinjaLoader._iter_loaders
    - flask.app.Flask.iter_blueprints
    - <builtin>.all
    linkageType: pythonLinkage
    raised:
    - TemplateNotFound
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - environment
    - template
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 87
    functionName: flask.templating.DispatchingJinjaLoader._get_source_fast
    functionSourceFile: flask.templating
    functionUses: 1
    functionsReached:
    - flask.templating.DispatchingJinjaLoader._iter_loaders
    - loader.get_source
    - flask.app.Flask.iter_blueprints
    linkageType: pythonLinkage
    raised:
    - TemplateNotFound
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - template
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 97
    functionName: flask.templating.DispatchingJinjaLoader._iter_loaders
    functionSourceFile: flask.templating
    functionUses: 3
    functionsReached:
    - flask.app.Flask.iter_blueprints
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: loader.get_source
    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: attempts.append
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1024
    functionName: flask.app.Flask.iter_blueprints
    functionSourceFile: ''
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 109
    functionName: flask.templating.DispatchingJinjaLoader.list_templates
    functionSourceFile: flask.templating
    functionUses: 0
    functionsReached:
    - <builtin>.list
    - result.update
    - <builtin>.set
    - result.add
    - flask.app.Flask.iter_blueprints
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: result.add
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 3
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - template
    - context
    - app
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 124
    functionName: flask.templating._render
    functionSourceFile: flask.templating
    functionUses: 3
    functionsReached:
    - before_render_template.send
    - template_rendered.send
    - template.render
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: before_render_template.send
    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: template.render
    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: template_rendered.send
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - template_name_or_list
    - context
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 133
    functionName: flask.templating.render_template
    functionSourceFile: flask.templating
    functionUses: 1
    functionsReached:
    - ctx.app.jinja_env.get_or_select_template
    - before_render_template.send
    - ctx.app.update_template_context
    - flask.templating._render
    - template_rendered.send
    - template.render
    linkageType: pythonLinkage
    raised:
    - RuntimeError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: ctx.app.update_template_context
    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: ctx.app.jinja_env.get_or_select_template
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - source
    - context
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 161
    functionName: flask.templating.render_template_string
    functionSourceFile: flask.templating
    functionUses: 0
    functionsReached:
    - before_render_template.send
    - ctx.app.jinja_env.from_string
    - ctx.app.update_template_context
    - flask.templating._render
    - template_rendered.send
    - template.render
    linkageType: pythonLinkage
    raised:
    - RuntimeError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: ctx.app.jinja_env.from_string
    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: flask.app
    functionSourceFile: flask.app
    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:
    - func
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 75
    functionName: flask.app.iscoroutinefunction
    functionSourceFile: flask.app
    functionUses: 0
    functionsReached:
    - inspect.iscoroutinefunction
    - inspect.ismethod
    - <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: inspect.ismethod
    functionSourceFile: inspect
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: inspect.iscoroutinefunction
    functionSourceFile: inspect
    functionUses: 20
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - value
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 85
    functionName: flask.app._make_timedelta
    functionSourceFile: flask.app
    functionUses: 1
    functionsReached:
    - datetime.timedelta
    - <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: 2
    functionLinenumber: -1
    functionName: flask.app.Flask
    functionSourceFile: flask.app
    functionUses: 0
    functionsReached:
    - flask.config.ConfigAttribute.__init__
    - flask.scaffold.setupmethod
    - typing.cast
    - flask.helpers.locked_cached_property
    - functools.update_wrapper
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe14295b0>
    argNames:
    - self
    - name
    - get_converter
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 13
    functionName: flask.config.ConfigAttribute.__init__
    functionSourceFile: ''
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 624
    functionName: flask.app.Flask.auto_find_instance_path
    functionSourceFile: flask.app
    functionUses: 4
    functionsReached:
    - flask.scaffold._matching_loader_thinks_module_is_package
    - os.path.split
    - importlib.import_module
    - <builtin>.hasattr
    - loader.is_package
    - import_name.partition
    - site_folder.lower
    - <builtin>.next
    - flask.scaffold.find_package
    - folder.lower
    - path.relative_to
    - flask.scaffold._find_package_path
    - os.getcwd
    - pathlib.Path
    - pathlib.PurePath
    - loader.get_filename
    - os.path.commonpath
    - <builtin>.iter
    - flask.scaffold._path_is_relative_to
    - <builtin>.type
    - pkgutil.get_loader
    - os.path.basename
    - os.path.dirname
    - os.path.join
    - importlib.util.find_spec
    - os.path.abspath
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe3123730>
    argNames:
    - self
    - instance_relative
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 607
    functionName: flask.app.Flask.make_config
    functionSourceFile: flask.app
    functionUses: 4
    functionsReached:
    - flask.helpers.get_env
    - flask.helpers.get_debug_flag
    - <builtin>.super
    - flask.config.Config.__init__
    - os.environ.get
    - <builtin>.dict
    - val.lower
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: weakref.ref
    functionSourceFile: weakref
    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: flask.app.Flask.__init__.<lambda1>
    functionSourceFile: flask.app
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 516
    functionName: flask.app.Flask._is_setup_finished
    functionSourceFile: flask.app
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 520
    functionName: flask.app.Flask.name
    functionSourceFile: flask.app
    functionUses: 0
    functionsReached:
    - os.path.basename
    - <builtin>.getattr
    - os.path.splitext
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 537
    functionName: flask.app.Flask.propagate_exceptions
    functionSourceFile: flask.app
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 549
    functionName: flask.app.Flask.preserve_context_on_exception
    functionSourceFile: flask.app
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 562
    functionName: flask.app.Flask.logger
    functionSourceFile: flask.app
    functionUses: 0
    functionsReached:
    - flask.logging.has_level_handler
    - logger.getEffectiveLevel
    - logger.addHandler
    - logging.getLogger
    - logger.setLevel
    - <builtin>.any
    - flask.logging.create_logger
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - app
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 53
    functionName: flask.logging.create_logger
    functionSourceFile: flask.logging
    functionUses: 1
    functionsReached:
    - flask.logging.has_level_handler
    - logger.getEffectiveLevel
    - logging.getLogger
    - logger.setLevel
    - <builtin>.any
    - logger.addHandler
    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: 4
    functionLinenumber: 589
    functionName: flask.app.Flask.jinja_env
    functionSourceFile: flask.app
    functionUses: 0
    functionsReached:
    - jinja2.Environment.__init__
    - flask.templating.Environment.__init__
    - flask.app.Flask.create_jinja_environment
    - flask.templating.DispatchingJinjaLoader.__init__
    - flask.app.Flask.create_global_jinja_loader
    - <builtin>.dict
    - jinja2.Environment.globals.update
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 668
    functionName: flask.app.Flask.create_jinja_environment
    functionSourceFile: flask.app
    functionUses: 1
    functionsReached:
    - jinja2.Environment.__init__
    - flask.templating.Environment.__init__
    - flask.templating.DispatchingJinjaLoader.__init__
    - flask.app.Flask.create_global_jinja_loader
    - <builtin>.dict
    - jinja2.Environment.globals.update
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 599
    functionName: flask.app.Flask.got_first_request
    functionSourceFile: flask.app
    functionUses: 0
    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: 27
    functionName: flask.helpers.get_env
    functionSourceFile: flask.helpers
    functionUses: 9
    functionsReached:
    - os.environ.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 35
    functionName: flask.helpers.get_debug_flag
    functionSourceFile: flask.helpers
    functionUses: 8
    functionsReached:
    - flask.helpers.get_env
    - os.environ.get
    - val.lower
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe14060d0>
    argNames:
    - self
    - root_path
    - defaults
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 73
    functionName: flask.config.Config.__init__
    functionSourceFile: flask.config
    functionUses: 5
    functionsReached:
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe3111670>
    argNames:
    - self
    - resource
    - mode
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 637
    functionName: flask.app.Flask.open_instance_resource
    functionSourceFile: flask.app
    functionUses: 0
    functionsReached:
    - <builtin>.open
    - os.path.join
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - value
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 665
    functionName: flask.app.Flask.templates_auto_reload
    functionSourceFile: flask.app
    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: jinja2.Environment.globals.update
    functionSourceFile: jinja2
    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
    - filename
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 716
    functionName: flask.app.Flask.select_jinja_autoescape
    functionSourceFile: flask.app
    functionUses: 0
    functionsReached:
    - filename.endswith
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: filename.endswith
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - context
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 726
    functionName: flask.app.Flask.update_template_context
    functionSourceFile: flask.app
    functionUses: 0
    functionsReached:
    - context.update
    - itertools.chain
    - <builtin>.reversed
    - context.copy
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: context.copy
    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: context.update
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 754
    functionName: flask.app.Flask.make_shell_context
    functionSourceFile: flask.app
    functionUses: 0
    functionsReached:
    - rv.update
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - value
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 795
    functionName: flask.app.Flask.debug
    functionSourceFile: flask.app
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 10
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 15
    ICount: 8
    IfCount: 10
    argCount: 6
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe30fd910>
    - <ast.Constant object at 0x7fcfe30fd8e0>
    - <ast.Constant object at 0x7fcfe30fd8b0>
    - <ast.Constant object at 0x7fcfe30fd880>
    argNames:
    - self
    - host
    - port
    - debug
    - load_dotenv
    - options
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 799
    functionName: flask.app.Flask.run
    functionSourceFile: flask.app
    functionUses: 0
    functionsReached:
    - <builtin>.Warning
    - server_name.partition
    - sys.stdin.isatty
    - ctx.load_cert_chain
    - host.startswith
    - socket.getaddrinfo
    - flask.helpers.get_load_dotenv
    - datetime.timedelta
    - werkzeug.serving.make_server
    - cryptography.hazmat.primitives.asymmetric.rsa.generate_private_key
    - reloader.run
    - click.Group.show_server_banner
    - sys.exit
    - warnings.warn
    - <builtin>.str
    - <builtin>.int
    - werkzeug._internal._log
    - provider.get_resource_reader
    - werkzeug._internal._has_level_handler
    - atexit.register
    - <builtin>.any
    - pkgutil.get_loader
    - <builtin>.super
    - datetime.datetime.now
    - os.write
    - werkzeug.serving.BaseWSGIServer.__init__
    - werkzeug.serving.is_running_from_reloader
    - s.set_inheritable
    - werkzeug.serving.select_address_family
    - termios.tcgetattr
    - messages.append
    - http.server.HTTPServer.server_activate
    - colorama.AnsiToWin32
    - cryptography.x509.NameAttribute
    - logger.getEffectiveLevel
    - ssl.SSLContext
    - logging.getLogger
    - s.connect
    - options.setdefault
    - werkzeug._reloader.run_with_reloader
    - <builtin>.vars
    - secrets.choice
    - os.path.exists
    - pkey.public_key
    - cryptography.x509.SubjectAlternativeName
    - cryptography.hazmat.primitives.serialization.NoEncryption
    - werkzeug._reloader.ensure_echo_on
    - werkzeug.serving.prepare_socket
    - threading.Thread
    - <builtin>.print
    - werkzeug.serving.generate_adhoc_ssl_context
    - socket.fromfd
    - cryptography.x509.random_serial_number
    - flask.helpers.get_env
    - socket.socket
    - werkzeug.middleware.shared_data.SharedDataMiddleware.get_file_loader
    - reloader.restart_with_reloader
    - _logger.addHandler
    - <builtin>.hasattr
    - werkzeug.serving.ForkingWSGIServer.__init__
    - cryptography.hazmat.backends.default_backend
    - signal.signal
    - werkzeug.serving.BaseWSGIServer.log_startup
    - werkzeug.security.gen_salt
    - t.start
    - cert.public_bytes
    - werkzeug.serving.get_interface_ip
    - os.unlink
    - <builtin>.getattr
    - werkzeug._internal._ColorStreamHandler.__init__
    - _logger.setLevel
    - http.server.HTTPServer.server_close
    - pkey.private_bytes
    - http.server.HTTPServer.server_bind
    - tempfile.mkstemp
    - exports.items
    - s.getsockname
    - werkzeug.serving.load_ssl_context
    - os.path.isfile
    - <builtin>.bool
    - message.rstrip
    - cryptography.x509.Name
    - flask.debughelpers.explain_ignored_app_run
    - werkzeug.debug.DebuggedApplication.__init__
    - werkzeug.serving.BaseWSGIServer.serve_forever
    - werkzeug.serving.get_sockaddr
    - werkzeug.middleware.shared_data.SharedDataMiddleware.get_directory_loader
    - host.split
    - cryptography.hazmat.primitives.hashes.SHA256
    - cryptography.x509.CertificateBuilder
    - werkzeug.middleware.shared_data.SharedDataMiddleware.__init__
    - werkzeug.serving.generate_adhoc_ssl_pair
    - werkzeug.serving.run_simple
    - os.close
    - s.setsockopt
    - s.listen
    - flask.helpers.get_debug_flag
    - typing.cast
    - ssl_context.wrap_socket
    - s.bind
    - <builtin>.isinstance
    - s.fileno
    - <builtin>.range
    - cryptography.x509.ExtendedKeyUsage
    - werkzeug.middleware.shared_data.SharedDataMiddleware.get_package_loader
    - os.environ.get
    - val.lower
    - termios.tcsetattr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 1
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe099c6d0>
    argNames:
    - default
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 49
    functionName: flask.helpers.get_load_dotenv
    functionSourceFile: flask.helpers
    functionUses: 5
    functionsReached:
    - os.environ.get
    - val.lower
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: server_name.partition
    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: click.Group.show_server_banner
    functionSourceFile: click
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe3103580>
    argNames:
    - self
    - use_cookies
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 921
    functionName: flask.app.Flask.test_client
    functionSourceFile: flask.app
    functionUses: 0
    functionsReached:
    - <builtin>.super
    - flask.testing.FlaskClient.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 113
    functionName: flask.testing.FlaskClient.__init__
    functionSourceFile: flask.testing
    functionUses: 1
    functionsReached:
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 979
    functionName: flask.app.Flask.test_cli_runner
    functionSourceFile: flask.app
    functionUses: 0
    functionsReached:
    - flask.testing.FlaskCliRunner.__init__
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - app
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 256
    functionName: flask.testing.FlaskCliRunner.__init__
    functionSourceFile: flask.testing
    functionUses: 1
    functionsReached:
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: item.upper
    functionSourceFile: <builtin>
    functionUses: 7
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: required_methods.add
    functionSourceFile: <builtin>
    functionUses: 7
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - f
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1106
    functionName: flask.app.Flask.template_filter.decorator
    functionSourceFile: flask.app
    functionUses: 0
    functionsReached:
    - flask.app.Flask.add_template_filter
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - f
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1147
    functionName: flask.app.Flask.template_test.decorator
    functionSourceFile: flask.app
    functionUses: 0
    functionsReached:
    - flask.app.Flask.add_template_test
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - f
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1185
    functionName: flask.app.Flask.template_global.decorator
    functionSourceFile: flask.app
    functionUses: 0
    functionsReached:
    - flask.app.Flask.add_template_global
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - e
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 1262
    functionName: flask.app.Flask._find_error_handler
    functionSourceFile: flask.app
    functionUses: 6
    functionsReached:
    - <builtin>.type
    - flask.scaffold.Scaffold._get_exc_class_and_code
    - <builtin>.isinstance
    - handler_map.get
    - <builtin>.issubclass
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: handler_map.get
    functionSourceFile: <builtin>
    functionUses: 7
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 1
    IfCount: 3
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - e
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 1285
    functionName: flask.app.Flask.handle_http_exception
    functionSourceFile: flask.app
    functionUses: 4
    functionsReached:
    - <builtin>.type
    - flask.app.Flask._find_error_handler
    - inspect.iscoroutinefunction
    - flask.app.Flask.ensure_sync
    - flask.scaffold.Scaffold._get_exc_class_and_code
    - <builtin>.isinstance
    - handler_map.get
    - flask.app.Flask.async_to_sync
    - asgiref.sync.async_to_sync
    - <builtin>.issubclass
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - func
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 1590
    functionName: flask.app.Flask.ensure_sync
    functionSourceFile: flask.app
    functionUses: 18
    functionsReached:
    - inspect.iscoroutinefunction
    - flask.app.Flask.async_to_sync
    - asgiref.sync.async_to_sync
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: asgiref.sync.async_to_sync
    functionSourceFile: asgiref
    functionUses: 20
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 1
    IfCount: 3
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - e
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1320
    functionName: flask.app.Flask.trap_http_exception
    functionSourceFile: flask.app
    functionUses: 4
    functionsReached:
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 1
    IfCount: 3
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - e
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 1355
    functionName: flask.app.Flask.handle_user_exception
    functionSourceFile: flask.app
    functionUses: 3
    functionsReached:
    - <builtin>.type
    - flask.app.Flask._find_error_handler
    - inspect.iscoroutinefunction
    - flask.app.Flask.ensure_sync
    - flask.app.Flask.trap_http_exception
    - <builtin>.isinstance
    - flask.scaffold.Scaffold._get_exc_class_and_code
    - flask.app.Flask.handle_http_exception
    - handler_map.get
    - flask.app.Flask.async_to_sync
    - asgiref.sync.async_to_sync
    - <builtin>.issubclass
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 3
    IfCount: 3
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - e
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 11
    functionLinenumber: 1387
    functionName: flask.app.Flask.handle_exception
    functionSourceFile: flask.app
    functionUses: 2
    functionsReached:
    - kwargs.items
    - buffer.append
    - werkzeug.datastructures.Headers.update
    - <builtin>.enumerate
    - werkzeug.wsgi.ClosingIterator.__iter__
    - value.decode
    - json.dumps
    - inspect.iscoroutinefunction
    - <builtin>.next
    - werkzeug.datastructures.Headers._validate_value
    - <builtin>.str
    - werkzeug.datastructures.Headers.__delitem__
    - options.items
    - new.append
    - werkzeug.wrappers.response.Response.force_type
    - werkzeug.http.quote_header_value
    - dict.items
    - flask.app.Flask.log_exception
    - <builtin>.super
    - <builtin>.set
    - mapping.keys
    - key.lower
    - werkzeug.datastructures.Headers.setlist
    - d.items
    - asgiref.sync.async_to_sync
    - kw.items
    - old_key.lower
    - itertools.chain
    - <builtin>.list
    - werkzeug.datastructures.CombinedMultiDict.items
    - <builtin>.reversed
    - value.replace
    - werkzeug.test.run_wsgi_app
    - werkzeug.datastructures._unicodify_header_value
    - mapping.getlist
    - werkzeug.exceptions.InternalServerError.__init__
    - <builtin>.issubclass
    - segments.append
    - werkzeug.wsgi.ClosingIterator.__next__
    - werkzeug.wrappers.response.Response.__init__
    - <builtin>.iter
    - _key.lower
    - flask.app.Flask.async_to_sync
    - <builtin>.type
    - found.add
    - <builtin>.bytes
    - werkzeug.datastructures.OrderedMultiDict.items
    - werkzeug.datastructures.iter_multi_items
    - werkzeug.datastructures.MultiDict.items
    - werkzeug.http.dump_options_header
    - werkzeug.datastructures.Headers.extend
    - <builtin>.len
    - current_app.response_class
    - flask.json.dumps
    - sys.exc_info
    - value.encode
    - functools.partial
    - k.replace
    - flask.scaffold.Scaffold._get_exc_class_and_code
    - flask.json._dump_arg_defaults
    - <builtin>.getattr
    - k.lower
    - <builtin>.callable
    - kwargs.setdefault
    - werkzeug.datastructures.Headers.add
    - flask.app.Flask._find_error_handler
    - handler_map.get
    - app.blueprints.get
    - werkzeug._internal._get_environ
    - werkzeug.datastructures.Headers.remove
    - flask.app.Flask.process_response
    - flask.json.jsonify
    - werkzeug.wsgi.ClosingIterator.__init__
    - got_request_exception.send
    - returned_keys.add
    - werkzeug.datastructures._options_header_vkw
    - werkzeug.datastructures.Headers.__init__
    - werkzeug.datastructures.Headers.set
    - werkzeug.wrappers.response.Response.set_data
    - flask.app.Flask.make_response
    - flask.app.Flask.finalize_request
    - flask.app.Flask.ensure_sync
    - typing.cast
    - <builtin>.isinstance
    - request_finished.send
    - mapping.items
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: got_request_exception.send
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - exc_info
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1436
    functionName: flask.app.Flask.log_exception
    functionSourceFile: ''
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe33da610>
    argNames:
    - self
    - rv
    - from_error_handler
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 10
    functionLinenumber: 1522
    functionName: flask.app.Flask.finalize_request
    functionSourceFile: flask.app
    functionUses: 4
    functionsReached:
    - kwargs.items
    - buffer.append
    - werkzeug.datastructures.Headers.update
    - <builtin>.enumerate
    - werkzeug.wsgi.ClosingIterator.__iter__
    - value.decode
    - json.dumps
    - inspect.iscoroutinefunction
    - <builtin>.next
    - werkzeug.datastructures.Headers._validate_value
    - <builtin>.str
    - werkzeug.datastructures.Headers.__delitem__
    - options.items
    - new.append
    - werkzeug.wrappers.response.Response.force_type
    - werkzeug.http.quote_header_value
    - dict.items
    - <builtin>.super
    - <builtin>.set
    - mapping.keys
    - key.lower
    - werkzeug.datastructures.Headers.setlist
    - d.items
    - asgiref.sync.async_to_sync
    - kw.items
    - old_key.lower
    - itertools.chain
    - <builtin>.list
    - werkzeug.datastructures.CombinedMultiDict.items
    - <builtin>.reversed
    - value.replace
    - werkzeug.test.run_wsgi_app
    - werkzeug.datastructures._unicodify_header_value
    - mapping.getlist
    - werkzeug.wsgi.ClosingIterator.__next__
    - werkzeug.exceptions.InternalServerError.__init__
    - segments.append
    - werkzeug.wrappers.response.Response.__init__
    - <builtin>.iter
    - _key.lower
    - flask.app.Flask.async_to_sync
    - <builtin>.type
    - found.add
    - <builtin>.bytes
    - werkzeug.datastructures.OrderedMultiDict.items
    - werkzeug.datastructures.iter_multi_items
    - werkzeug.datastructures.MultiDict.items
    - werkzeug.http.dump_options_header
    - werkzeug.datastructures.Headers.extend
    - <builtin>.len
    - current_app.response_class
    - flask.json.dumps
    - value.encode
    - functools.partial
    - k.replace
    - flask.json._dump_arg_defaults
    - <builtin>.getattr
    - k.lower
    - <builtin>.callable
    - kwargs.setdefault
    - werkzeug.datastructures.Headers.add
    - app.blueprints.get
    - werkzeug._internal._get_environ
    - werkzeug.datastructures.Headers.remove
    - flask.app.Flask.process_response
    - flask.json.jsonify
    - werkzeug.wsgi.ClosingIterator.__init__
    - returned_keys.add
    - werkzeug.datastructures._options_header_vkw
    - werkzeug.datastructures.Headers.__init__
    - werkzeug.datastructures.Headers.set
    - werkzeug.wrappers.response.Response.set_data
    - flask.app.Flask.make_response
    - flask.app.Flask.ensure_sync
    - typing.cast
    - <builtin>.isinstance
    - request_finished.send
    - mapping.items
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - request
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1453
    functionName: flask.app.Flask.raise_routing_exception
    functionSourceFile: flask.app
    functionUses: 4
    functionsReached:
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised:
    - FormDataRoutingRedirect
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 1481
    functionName: flask.app.Flask.dispatch_request
    functionSourceFile: flask.app
    functionUses: 3
    functionsReached:
    - inspect.iscoroutinefunction
    - werkzeug.wrappers.response.Response.__init__
    - flask.app.Flask.ensure_sync
    - asgiref.sync.async_to_sync
    - <builtin>.str
    - <builtin>.bytes
    - flask.app.Flask.raise_routing_exception
    - <builtin>.isinstance
    - value.encode
    - flask.app.Flask.make_default_options_response
    - <builtin>.super
    - rv.allow.update
    - flask.app.Flask.async_to_sync
    - <builtin>.getattr
    - <builtin>.len
    - werkzeug.wrappers.response.Response.set_data
    - adapter.allowed_methods
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 1567
    functionName: flask.app.Flask.make_default_options_response
    functionSourceFile: flask.app
    functionUses: 4
    functionsReached:
    - werkzeug.wrappers.response.Response.__init__
    - <builtin>.str
    - <builtin>.bytes
    - <builtin>.isinstance
    - value.encode
    - <builtin>.super
    - rv.allow.update
    - <builtin>.len
    - werkzeug.wrappers.response.Response.set_data
    - adapter.allowed_methods
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 11
    functionLinenumber: 1505
    functionName: flask.app.Flask.full_dispatch_request
    functionSourceFile: flask.app
    functionUses: 2
    functionsReached:
    - kwargs.items
    - buffer.append
    - werkzeug.datastructures.Headers.update
    - <builtin>.enumerate
    - werkzeug.wsgi.ClosingIterator.__iter__
    - value.decode
    - <builtin>.next
    - inspect.iscoroutinefunction
    - werkzeug.datastructures.Headers._validate_value
    - json.dumps
    - <builtin>.str
    - werkzeug.datastructures.Headers.__delitem__
    - rv.allow.update
    - options.items
    - new.append
    - werkzeug.wrappers.response.Response.force_type
    - werkzeug.http.quote_header_value
    - dict.items
    - flask.app.Flask.raise_routing_exception
    - <builtin>.super
    - <builtin>.set
    - mapping.keys
    - key.lower
    - werkzeug.datastructures.Headers.setlist
    - d.items
    - asgiref.sync.async_to_sync
    - kw.items
    - old_key.lower
    - itertools.chain
    - <builtin>.list
    - werkzeug.datastructures.CombinedMultiDict.items
    - <builtin>.reversed
    - werkzeug.test.run_wsgi_app
    - value.replace
    - werkzeug.datastructures._unicodify_header_value
    - mapping.getlist
    - werkzeug.wsgi.ClosingIterator.__next__
    - <builtin>.issubclass
    - segments.append
    - werkzeug.exceptions.InternalServerError.__init__
    - werkzeug.wrappers.response.Response.__init__
    - <builtin>.iter
    - _key.lower
    - flask.app.Flask.async_to_sync
    - <builtin>.type
    - flask.app.Flask.try_trigger_before_first_request_functions
    - found.add
    - flask.app.Flask.trap_http_exception
    - <builtin>.bytes
    - werkzeug.datastructures.OrderedMultiDict.items
    - werkzeug.datastructures.iter_multi_items
    - werkzeug.datastructures.MultiDict.items
    - werkzeug.http.dump_options_header
    - flask.app.Flask.make_default_options_response
    - werkzeug.datastructures.Headers.extend
    - <builtin>.len
    - current_app.response_class
    - flask.json.dumps
    - value.encode
    - functools.partial
    - request_started.send
    - k.replace
    - flask.scaffold.Scaffold._get_exc_class_and_code
    - flask.json._dump_arg_defaults
    - flask.app.Flask.preprocess_request
    - <builtin>.getattr
    - k.lower
    - <builtin>.callable
    - kwargs.setdefault
    - werkzeug.datastructures.Headers.add
    - flask.app.Flask._find_error_handler
    - handler_map.get
    - app.blueprints.get
    - flask.app.Flask.dispatch_request
    - werkzeug._internal._get_environ
    - werkzeug.datastructures.Headers.remove
    - flask.app.Flask.handle_http_exception
    - flask.app.Flask.process_response
    - flask.json.jsonify
    - werkzeug.wsgi.ClosingIterator.__init__
    - returned_keys.add
    - flask.app.Flask.handle_user_exception
    - werkzeug.datastructures._options_header_vkw
    - werkzeug.datastructures.Headers.set
    - werkzeug.datastructures.Headers.__init__
    - werkzeug.wrappers.response.Response.set_data
    - adapter.allowed_methods
    - flask.app.Flask.make_response
    - flask.app.Flask.ensure_sync
    - flask.app.Flask.finalize_request
    - typing.cast
    - <builtin>.isinstance
    - request_finished.send
    - mapping.items
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 1551
    functionName: flask.app.Flask.try_trigger_before_first_request_functions
    functionSourceFile: flask.app
    functionUses: 3
    functionsReached:
    - inspect.iscoroutinefunction
    - flask.app.Flask.async_to_sync
    - flask.app.Flask.ensure_sync
    - asgiref.sync.async_to_sync
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: request_started.send
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 2
    IfCount: 3
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 1837
    functionName: flask.app.Flask.preprocess_request
    functionSourceFile: flask.app
    functionUses: 3
    functionsReached:
    - inspect.iscoroutinefunction
    - flask.app.Flask.ensure_sync
    - <builtin>.reversed
    - flask.app.Flask.async_to_sync
    - asgiref.sync.async_to_sync
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 12
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 18
    ICount: 2
    IfCount: 12
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - rv
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 9
    functionLinenumber: 1627
    functionName: flask.app.Flask.make_response
    functionSourceFile: flask.app
    functionUses: 5
    functionsReached:
    - werkzeug.datastructures.Headers.add
    - kwargs.items
    - buffer.append
    - mapping.keys
    - key.lower
    - werkzeug.http.dump_options_header
    - werkzeug.datastructures.Headers.update
    - <builtin>.enumerate
    - werkzeug.datastructures.Headers.setlist
    - werkzeug.wsgi.ClosingIterator.__iter__
    - app.blueprints.get
    - werkzeug.datastructures.Headers.extend
    - <builtin>.len
    - kw.items
    - d.items
    - werkzeug._internal._get_environ
    - current_app.response_class
    - value.decode
    - old_key.lower
    - json.dumps
    - flask.json.dumps
    - <builtin>.next
    - werkzeug.datastructures.Headers._validate_value
    - itertools.chain
    - werkzeug.datastructures.Headers.remove
    - <builtin>.list
    - werkzeug.datastructures.CombinedMultiDict.items
    - value.replace
    - werkzeug.test.run_wsgi_app
    - value.encode
    - werkzeug.datastructures._unicodify_header_value
    - flask.json.jsonify
    - mapping.getlist
    - werkzeug.wsgi.ClosingIterator.__next__
    - segments.append
    - functools.partial
    - werkzeug.exceptions.InternalServerError.__init__
    - k.replace
    - werkzeug.wrappers.response.Response.__init__
    - <builtin>.iter
    - <builtin>.str
    - werkzeug.wsgi.ClosingIterator.__init__
    - _key.lower
    - werkzeug.datastructures.Headers.__delitem__
    - options.items
    - flask.json._dump_arg_defaults
    - werkzeug.datastructures._options_header_vkw
    - werkzeug.datastructures.Headers.__init__
    - k.lower
    - werkzeug.datastructures.Headers.set
    - new.append
    - werkzeug.wrappers.response.Response.force_type
    - returned_keys.add
    - werkzeug.http.quote_header_value
    - <builtin>.getattr
    - werkzeug.wrappers.response.Response.set_data
    - <builtin>.type
    - <builtin>.callable
    - typing.cast
    - found.add
    - dict.items
    - <builtin>.bytes
    - <builtin>.isinstance
    - kwargs.setdefault
    - werkzeug.datastructures.OrderedMultiDict.items
    - <builtin>.super
    - <builtin>.set
    - werkzeug.datastructures.iter_multi_items
    - mapping.items
    - werkzeug.datastructures.MultiDict.items
    linkageType: pythonLinkage
    raised:
    - TypeError
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - response
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 1864
    functionName: flask.app.Flask.process_response
    functionSourceFile: flask.app
    functionUses: 5
    functionsReached:
    - inspect.iscoroutinefunction
    - itertools.chain
    - flask.app.Flask.ensure_sync
    - <builtin>.reversed
    - flask.app.Flask.async_to_sync
    - asgiref.sync.async_to_sync
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: request_finished.send
    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: adapter.allowed_methods
    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: rv.allow.update
    functionSourceFile: <builtin>
    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
    - error
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1580
    functionName: flask.app.Flask.should_ignore_error
    functionSourceFile: flask.app
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - func
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1604
    functionName: flask.app.Flask.async_to_sync
    functionSourceFile: flask.app
    functionUses: 19
    functionsReached:
    - asgiref.sync.async_to_sync
    linkageType: pythonLinkage
    raised:
    - RuntimeError
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 1
    IfCount: 3
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - request
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 9
    functionLinenumber: 1751
    functionName: flask.app.Flask.create_url_adapter
    functionSourceFile: flask.app
    functionUses: 10
    functionsReached:
    - server_name.lower
    - werkzeug._internal._to_str
    - werkzeug.routing.Map.bind
    - p.encode
    - typing.NamedTuple.scheme.decode
    - werkzeug._internal._encode_idna
    - http.server.BaseHTTPRequestHandler.path.decode
    - <builtin>.len
    - werkzeug._internal._get_environ
    - werkzeug.urls.BytesURL.decode
    - typing.NamedTuple.query.decode
    - typing.NamedTuple.fragment.decode
    - typing.NamedTuple.decode
    - werkzeug._internal._decode_idna
    - v.strip
    - typing.NamedTuple.__init__
    - werkzeug.sansio.utils.host_is_trusted._normalize
    - werkzeug.urls.BaseURL.decode_netloc
    - werkzeug._internal._wsgi_decoding_dance
    - werkzeug.wsgi.get_host
    - s.encode
    - warnings.warn
    - <builtin>.str
    - werkzeug.routing.MapAdapter.__init__
    - typing.NamedTuple.endswith
    - env.get
    - <builtin>.int
    - domain.encode
    - werkzeug._internal._decode_idna.decode_part
    - wsgi_server_name.split
    - domain.split
    - environ.get
    - <builtin>.getattr
    - werkzeug.routing.Map.bind_to_environ
    - <builtin>.any
    - hostname.rsplit
    - typing.NamedTuple.path.decode
    - part.decode
    - werkzeug.wsgi._get_server
    - server_name.split
    - werkzeug.routing.Map.bind_to_environ._get_wsgi_string
    - <builtin>.type
    - server_name.endswith
    - <builtin>.isinstance
    - <builtin>.filter
    - werkzeug.sansio.utils.get_host
    - werkzeug.sansio.utils.host_is_trusted
    - http.server.BaseHTTPRequestHandler.path.endswith
    - host.endswith
    - ref.startswith
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    IfCount: 2
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - endpoint
    - values
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 1793
    functionName: flask.app.Flask.inject_url_defaults
    functionSourceFile: flask.app
    functionUses: 0
    functionsReached:
    - flask.helpers._split_blueprint_path
    - itertools.chain
    - out.extend
    - <builtin>.reversed
    - endpoint.rpartition
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: endpoint.rpartition
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - error
    - endpoint
    - values
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1814
    functionName: flask.app.Flask.handle_url_build_error
    functionSourceFile: flask.app
    functionUses: 0
    functionsReached:
    - sys.exc_info
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    IfCount: 2
    argCount: 2
    argDefaultValues:
    - <ast.Name object at 0x7fcfe3d7e880>
    argNames:
    - self
    - exc
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 1892
    functionName: flask.app.Flask.do_teardown_request
    functionSourceFile: flask.app
    functionUses: 5
    functionsReached:
    - inspect.iscoroutinefunction
    - itertools.chain
    - request_tearing_down.send
    - flask.app.Flask.ensure_sync
    - <builtin>.reversed
    - sys.exc_info
    - flask.app.Flask.async_to_sync
    - asgiref.sync.async_to_sync
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: request_tearing_down.send
    functionSourceFile: <builtin>
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 2
    argDefaultValues:
    - <ast.Name object at 0x7fcfe3da9cd0>
    argNames:
    - self
    - exc
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 1925
    functionName: flask.app.Flask.do_teardown_appcontext
    functionSourceFile: flask.app
    functionUses: 2
    functionsReached:
    - inspect.iscoroutinefunction
    - appcontext_tearing_down.send
    - flask.app.Flask.ensure_sync
    - <builtin>.reversed
    - sys.exc_info
    - flask.app.Flask.async_to_sync
    - asgiref.sync.async_to_sync
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: appcontext_tearing_down.send
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - app
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 10
    functionLinenumber: 237
    functionName: flask.ctx.AppContext.__init__
    functionSourceFile: flask.ctx
    functionUses: 6
    functionsReached:
    - server_name.lower
    - werkzeug._internal._to_str
    - werkzeug.routing.Map.bind
    - p.encode
    - typing.NamedTuple.scheme.decode
    - werkzeug._internal._encode_idna
    - http.server.BaseHTTPRequestHandler.path.decode
    - <builtin>.len
    - werkzeug._internal._get_environ
    - werkzeug.urls.BytesURL.decode
    - typing.NamedTuple.query.decode
    - typing.NamedTuple.fragment.decode
    - typing.NamedTuple.decode
    - werkzeug._internal._decode_idna
    - v.strip
    - typing.NamedTuple.__init__
    - werkzeug.sansio.utils.host_is_trusted._normalize
    - werkzeug.urls.BaseURL.decode_netloc
    - werkzeug._internal._wsgi_decoding_dance
    - werkzeug.wsgi.get_host
    - s.encode
    - warnings.warn
    - <builtin>.str
    - flask.app.Flask.create_url_adapter
    - werkzeug.routing.MapAdapter.__init__
    - typing.NamedTuple.endswith
    - env.get
    - <builtin>.int
    - domain.encode
    - werkzeug._internal._decode_idna.decode_part
    - wsgi_server_name.split
    - domain.split
    - environ.get
    - <builtin>.getattr
    - werkzeug.routing.Map.bind_to_environ
    - <builtin>.any
    - hostname.rsplit
    - typing.NamedTuple.path.decode
    - part.decode
    - werkzeug.wsgi._get_server
    - server_name.split
    - werkzeug.routing.Map.bind_to_environ._get_wsgi_string
    - <builtin>.type
    - server_name.endswith
    - <builtin>.isinstance
    - <builtin>.filter
    - werkzeug.sansio.utils.get_host
    - werkzeug.sansio.utils.host_is_trusted
    - http.server.BaseHTTPRequestHandler.path.endswith
    - host.endswith
    - ref.startswith
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - environ
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 11
    functionLinenumber: 1971
    functionName: flask.app.Flask.request_context
    functionSourceFile: flask.app
    functionUses: 3
    functionsReached:
    - server_name.lower
    - werkzeug._internal._to_str
    - werkzeug.routing.Map.bind
    - p.encode
    - typing.NamedTuple.scheme.decode
    - werkzeug._internal._encode_idna
    - http.server.BaseHTTPRequestHandler.path.decode
    - <builtin>.len
    - werkzeug._internal._get_environ
    - werkzeug.urls.BytesURL.decode
    - typing.NamedTuple.query.decode
    - typing.NamedTuple.fragment.decode
    - typing.NamedTuple.decode
    - werkzeug._internal._decode_idna
    - v.strip
    - typing.NamedTuple.__init__
    - werkzeug.sansio.utils.host_is_trusted._normalize
    - werkzeug.urls.BaseURL.decode_netloc
    - werkzeug._internal._wsgi_decoding_dance
    - flask.ctx.RequestContext.__init__
    - s.encode
    - werkzeug.wsgi.get_host
    - warnings.warn
    - <builtin>.str
    - flask.app.Flask.create_url_adapter
    - werkzeug.routing.MapAdapter.__init__
    - typing.NamedTuple.endswith
    - env.get
    - <builtin>.int
    - domain.encode
    - werkzeug._internal._decode_idna.decode_part
    - wsgi_server_name.split
    - domain.split
    - environ.get
    - <builtin>.getattr
    - werkzeug.routing.Map.bind_to_environ
    - <builtin>.any
    - hostname.rsplit
    - typing.NamedTuple.path.decode
    - part.decode
    - werkzeug.wsgi._get_server
    - server_name.split
    - werkzeug.routing.Map.bind_to_environ._get_wsgi_string
    - <builtin>.type
    - server_name.endswith
    - <builtin>.isinstance
    - <builtin>.filter
    - werkzeug.sansio.utils.get_host
    - werkzeug.sansio.utils.host_is_trusted
    - <builtin>.super
    - http.server.BaseHTTPRequestHandler.path.endswith
    - host.endswith
    - werkzeug.datastructures.EnvironHeaders.__init__
    - werkzeug.wrappers.request.Request.__init__
    - ref.startswith
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 5
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe47ed2b0>
    - <ast.Constant object at 0x7fcfe47ed7c0>
    argNames:
    - self
    - app
    - environ
    - request
    - session
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 10
    functionLinenumber: 308
    functionName: flask.ctx.RequestContext.__init__
    functionSourceFile: flask.ctx
    functionUses: 4
    functionsReached:
    - server_name.lower
    - werkzeug._internal._to_str
    - werkzeug.routing.Map.bind
    - p.encode
    - typing.NamedTuple.scheme.decode
    - werkzeug._internal._encode_idna
    - http.server.BaseHTTPRequestHandler.path.decode
    - <builtin>.len
    - werkzeug._internal._get_environ
    - werkzeug.urls.BytesURL.decode
    - typing.NamedTuple.query.decode
    - typing.NamedTuple.fragment.decode
    - typing.NamedTuple.decode
    - werkzeug._internal._decode_idna
    - v.strip
    - typing.NamedTuple.__init__
    - werkzeug.sansio.utils.host_is_trusted._normalize
    - werkzeug.urls.BaseURL.decode_netloc
    - werkzeug._internal._wsgi_decoding_dance
    - s.encode
    - werkzeug.wsgi.get_host
    - warnings.warn
    - <builtin>.str
    - flask.app.Flask.create_url_adapter
    - werkzeug.routing.MapAdapter.__init__
    - typing.NamedTuple.endswith
    - env.get
    - <builtin>.int
    - domain.encode
    - werkzeug._internal._decode_idna.decode_part
    - wsgi_server_name.split
    - domain.split
    - environ.get
    - <builtin>.getattr
    - werkzeug.routing.Map.bind_to_environ
    - <builtin>.any
    - hostname.rsplit
    - typing.NamedTuple.path.decode
    - part.decode
    - werkzeug.wsgi._get_server
    - server_name.split
    - werkzeug.routing.Map.bind_to_environ._get_wsgi_string
    - <builtin>.type
    - server_name.endswith
    - <builtin>.isinstance
    - <builtin>.filter
    - werkzeug.sansio.utils.get_host
    - werkzeug.sansio.utils.host_is_trusted
    - <builtin>.super
    - http.server.BaseHTTPRequestHandler.path.endswith
    - host.endswith
    - werkzeug.datastructures.EnvironHeaders.__init__
    - werkzeug.wrappers.request.Request.__init__
    - ref.startswith
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 10
    functionLinenumber: 1987
    functionName: flask.app.Flask.test_request_context
    functionSourceFile: flask.app
    functionUses: 0
    functionsReached:
    - server_name.lower
    - werkzeug._internal._to_str
    - werkzeug.routing.Map.bind
    - p.encode
    - typing.NamedTuple.scheme.decode
    - werkzeug._internal._encode_idna
    - http.server.BaseHTTPRequestHandler.path.decode
    - <builtin>.len
    - werkzeug._internal._get_environ
    - werkzeug.urls.BytesURL.decode
    - typing.NamedTuple.query.decode
    - <builtin>.bool
    - werkzeug._internal._make_encode_wrapper.<lambda1>
    - typing.NamedTuple.fragment.decode
    - builder.close
    - typing.NamedTuple.decode
    - flask.app.Flask.request_context
    - werkzeug._internal._decode_idna
    - v.strip
    - typing.NamedTuple.__init__
    - builder.get_environ
    - werkzeug.sansio.utils.host_is_trusted._normalize
    - werkzeug.urls.BaseURL.decode_netloc
    - werkzeug._internal._wsgi_decoding_dance
    - flask.ctx.RequestContext.__init__
    - typing.NamedTuple.split
    - s.encode
    - flask.testing.EnvironBuilder.__init__
    - werkzeug.wsgi.get_host
    - _scheme_re.match
    - <builtin>.str
    - flask.app.Flask.create_url_adapter
    - werkzeug.routing.MapAdapter.__init__
    - typing.NamedTuple.endswith
    - typing.NamedTuple.find
    - http.server.BaseHTTPRequestHandler.path.split
    - warnings.warn
    - env.get
    - wsgi_server_name.split
    - werkzeug._internal._decode_idna.decode_part
    - domain.split
    - <builtin>.int
    - http.server.BaseHTTPRequestHandler.path.find
    - domain.encode
    - environ.get
    - <builtin>.min
    - werkzeug.routing.Map.bind_to_environ
    - <builtin>.getattr
    - hostname.rsplit
    - <builtin>.any
    - typing.NamedTuple.path.decode
    - part.decode
    - werkzeug.wsgi._get_server
    - app_root.lstrip
    - server_name.split
    - werkzeug.routing.Map.bind_to_environ._get_wsgi_string
    - <builtin>.type
    - server_name.endswith
    - app.config.get
    - operator.methodcaller
    - <builtin>.isinstance
    - werkzeug.urls.url_parse
    - <builtin>.filter
    - werkzeug.sansio.utils.get_host
    - werkzeug.sansio.utils.host_is_trusted
    - <builtin>.super
    - http.server.BaseHTTPRequestHandler.path.endswith
    - host.endswith
    - werkzeug.datastructures.EnvironHeaders.__init__
    - werkzeug._internal._make_encode_wrapper
    - werkzeug.wrappers.request.Request.__init__
    - ref.startswith
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 1
    IfCount: 4
    argCount: 8
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe4384340>
    - <ast.Constant object at 0x7fcfe4384310>
    - <ast.Constant object at 0x7fcfe43842e0>
    - <ast.Constant object at 0x7fcfe43842b0>
    argNames:
    - self
    - app
    - path
    - base_url
    - subdomain
    - url_scheme
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 7
    functionLinenumber: 45
    functionName: flask.testing.EnvironBuilder.__init__
    functionSourceFile: flask.testing
    functionUses: 13
    functionsReached:
    - werkzeug._internal._to_str
    - typing.NamedTuple.scheme.decode
    - http.server.BaseHTTPRequestHandler.path.decode
    - <builtin>.len
    - werkzeug.urls.BytesURL.decode
    - typing.NamedTuple.query.decode
    - <builtin>.bool
    - werkzeug._internal._make_encode_wrapper.<lambda1>
    - typing.NamedTuple.fragment.decode
    - typing.NamedTuple.decode
    - werkzeug._internal._decode_idna
    - typing.NamedTuple.__init__
    - werkzeug.urls.BaseURL.decode_netloc
    - typing.NamedTuple.split
    - _scheme_re.match
    - <builtin>.str
    - typing.NamedTuple.find
    - http.server.BaseHTTPRequestHandler.path.split
    - domain.encode
    - werkzeug._internal._decode_idna.decode_part
    - domain.split
    - http.server.BaseHTTPRequestHandler.path.find
    - <builtin>.min
    - part.decode
    - <builtin>.any
    - typing.NamedTuple.path.decode
    - app_root.lstrip
    - app.config.get
    - operator.methodcaller
    - <builtin>.isinstance
    - werkzeug.urls.url_parse
    - <builtin>.filter
    - <builtin>.super
    - werkzeug._internal._make_encode_wrapper
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: builder.get_environ
    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: builder.close
    functionSourceFile: <builtin>
    functionUses: 13
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - environ
    - start_response
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 12
    functionLinenumber: 2043
    functionName: flask.app.Flask.wsgi_app
    functionSourceFile: flask.app
    functionUses: 1
    functionsReached:
    - kwargs.items
    - buffer.append
    - server_name.lower
    - flask.ctx.AppContext.push
    - werkzeug.datastructures.Headers.update
    - p.encode
    - <builtin>.enumerate
    - werkzeug.wsgi.ClosingIterator.__iter__
    - flask.app.Flask.do_teardown_request
    - typing.NamedTuple.query.decode
    - value.decode
    - http.server.BaseHTTPRequestHandler.path.strip
    - <builtin>.next
    - inspect.iscoroutinefunction
    - werkzeug.datastructures.Headers._validate_value
    - json.dumps
    - typing.NamedTuple.fragment.decode
    - werkzeug._internal._make_encode_wrapper.<lambda1>
    - werkzeug._internal._decode_idna
    - posixpath.join
    - werkzeug.urls.BaseURL.decode_netloc
    - warnings.warn
    - <builtin>.str
    - flask.app.Flask.create_url_adapter
    - werkzeug.routing.MapAdapter.__init__
    - env.get
    - <builtin>.int
    - werkzeug._internal._decode_idna.decode_part
    - typing.NamedTuple.lstrip
    - werkzeug.datastructures.Headers.__delitem__
    - rv.allow.update
    - options.items
    - http.server.BaseHTTPRequestHandler.path.find
    - <builtin>.min
    - new.append
    - <builtin>.any
    - werkzeug.wrappers.response.Response.force_type
    - werkzeug.http.quote_header_value
    - server_name.split
    - werkzeug.routing.Map.bind_to_environ._get_wsgi_string
    - have_match_for.update
    - dict.items
    - flask.app.Flask.log_exception
    - server_name.endswith
    - flask.app.Flask.raise_routing_exception
    - <builtin>.super
    - http.server.BaseHTTPRequestHandler.path.endswith
    - <builtin>.set
    - flask.ctx.AppContext.__init__
    - flask.ctx.RequestContext.match_request
    - mapping.keys
    - key.lower
    - werkzeug.urls.BaseURL.join
    - werkzeug._internal._encode_idna
    - werkzeug.datastructures.Headers.setlist
    - http.server.BaseHTTPRequestHandler.path.lstrip
    - _request_ctx_stack.pop
    - asgiref.sync.async_to_sync
    - d.items
    - kw.items
    - werkzeug.routing.MapAdapter.get_host
    - werkzeug.urls.url_unparse
    - werkzeug.urls.BytesURL.decode
    - old_key.lower
    - flask.app.Flask.full_dispatch_request
    - itertools.chain
    - appcontext_pushed.send
    - r.build
    - <builtin>.list
    - werkzeug.datastructures.CombinedMultiDict.items
    - <builtin>.reversed
    - path.split
    - werkzeug.test.run_wsgi_app
    - v.strip
    - value.replace
    - bpath.split
    - werkzeug.datastructures._unicodify_header_value
    - values.update
    - path.startswith
    - mapping.getlist
    - werkzeug.exceptions.InternalServerError.__init__
    - <builtin>.issubclass
    - segments.append
    - werkzeug.wsgi.ClosingIterator.__next__
    - flask.ctx.RequestContext.__init__
    - werkzeug.routing.Map.update
    - werkzeug.wrappers.response.Response.__init__
    - <builtin>.sorted
    - _scheme_re.match
    - <builtin>.iter
    - typing.NamedTuple.endswith
    - _key.lower
    - r.suitable_for
    - domain.encode
    - domain.split
    - werkzeug.urls._url_encode_impl
    - flask.app.Flask.async_to_sync
    - environ.get
    - part.decode
    - werkzeug.routing.Map.bind_to_environ
    - werkzeug.urls._fast_url_quote_plus
    - <builtin>.type
    - rule.redirect_to
    - flask.app.Flask.try_trigger_before_first_request_functions
    - found.add
    - flask.app.Flask.trap_http_exception
    - <builtin>.bytes
    - operator.methodcaller
    - werkzeug.datastructures.OrderedMultiDict.items
    - werkzeug.datastructures.iter_multi_items
    - werkzeug.datastructures.EnvironHeaders.__init__
    - typing.NamedTuple.strip
    - werkzeug.datastructures.MultiDict.items
    - werkzeug.http.dump_options_header
    - werkzeug.routing.Map.bind
    - werkzeug._internal._check_str_tuple
    - path_info.lstrip
    - flask.app.Flask.make_default_options_response
    - flask.ctx.RequestContext.pop
    - werkzeug.datastructures.Headers.extend
    - <builtin>.len
    - current_app.response_class
    - _simple_rule_re.sub
    - flask.json.dumps
    - sys.exc_info
    - _app_ctx_stack.push
    - value.encode
    - typing.NamedTuple.__init__
    - r.provides_defaults_for
    - werkzeug.sansio.utils.host_is_trusted._normalize
    - functools.partial
    - request_started.send
    - k.replace
    - typing.NamedTuple.split
    - flask.app.Flask.app_context
    - http.server.BaseHTTPRequestHandler.path.split
    - flask.scaffold.Scaffold._get_exc_class_and_code
    - http.server.BaseHTTPRequestHandler.path.join
    - flask.json._dump_arg_defaults
    - flask.app.Flask.preprocess_request
    - <builtin>.getattr
    - k.lower
    - rules.sort
    - werkzeug.routing.MapAdapter.match
    - typing.NamedTuple.path.decode
    - flask.ctx.RequestContext.push
    - flask.app.Flask.should_ignore_error
    - hostname.rsplit
    - <builtin>.callable
    - kwargs.setdefault
    - werkzeug.sansio.utils.get_host
    - werkzeug._internal._make_encode_wrapper
    - session_interface.make_null_session
    - werkzeug.datastructures.Headers.add
    - flask.app.Flask._find_error_handler
    - werkzeug.routing.MapAdapter.make_redirect_url
    - werkzeug._internal._to_str
    - _request_ctx_stack.push
    - typing.NamedTuple.scheme.decode
    - session_interface.open_session
    - flask.ctx.RequestContext.auto_pop
    - handler_map.get
    - http.server.BaseHTTPRequestHandler.path.decode
    - flask.app.Flask.dispatch_request
    - app.blueprints.get
    - werkzeug.urls._make_fast_url_quote.quote
    - werkzeug._internal._get_environ
    - werkzeug.datastructures.Headers.remove
    - typing.NamedTuple.decode
    - flask.app.Flask.request_context
    - rule.match
    - werkzeug.urls.url_encode
    - flask.app.Flask.handle_http_exception
    - flask.app.Flask.process_response
    - werkzeug.routing.MapAdapter.get_default_redirect
    - werkzeug.routing.MapAdapter.encode_query_args
    - flask.json.jsonify
    - werkzeug._internal._wsgi_decoding_dance
    - werkzeug.wsgi.get_host
    - s.encode
    - flask.app.Flask.handle_exception
    - werkzeug.wsgi.ClosingIterator.__init__
    - typing.NamedTuple.find
    - got_request_exception.send
    - wsgi_server_name.split
    - top.pop
    - returned_keys.add
    - flask.app.Flask.handle_user_exception
    - werkzeug.datastructures._options_header_vkw
    - werkzeug.datastructures.Headers.set
    - werkzeug.datastructures.Headers.__init__
    - werkzeug.wrappers.response.Response.set_data
    - app_ctx.pop
    - flask.app.Flask.make_response
    - werkzeug.wsgi._get_server
    - adapter.allowed_methods
    - request_tearing_down.send
    - flask.app.Flask.finalize_request
    - flask.app.Flask.ensure_sync
    - typing.cast
    - <builtin>.isinstance
    - request_finished.send
    - <builtin>.filter
    - werkzeug.urls.url_parse
    - werkzeug.urls.url_join
    - werkzeug.sansio.utils.host_is_trusted
    - host.endswith
    - mapping.items
    - werkzeug.wrappers.request.Request.__init__
    - ref.startswith
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 7
    IfCount: 5
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 12
    functionLinenumber: 402
    functionName: flask.ctx.RequestContext.push
    functionSourceFile: flask.ctx
    functionUses: 3
    functionsReached:
    - server_name.lower
    - flask.ctx.AppContext.push
    - p.encode
    - typing.NamedTuple.query.decode
    - http.server.BaseHTTPRequestHandler.path.strip
    - typing.NamedTuple.fragment.decode
    - werkzeug._internal._make_encode_wrapper.<lambda1>
    - werkzeug._internal._decode_idna
    - posixpath.join
    - werkzeug.urls.BaseURL.decode_netloc
    - warnings.warn
    - <builtin>.str
    - flask.app.Flask.create_url_adapter
    - werkzeug.routing.MapAdapter.__init__
    - env.get
    - <builtin>.int
    - typing.NamedTuple.lstrip
    - werkzeug._internal._decode_idna.decode_part
    - http.server.BaseHTTPRequestHandler.path.find
    - <builtin>.min
    - <builtin>.any
    - server_name.split
    - werkzeug.routing.Map.bind_to_environ._get_wsgi_string
    - have_match_for.update
    - dict.items
    - server_name.endswith
    - <builtin>.set
    - http.server.BaseHTTPRequestHandler.path.endswith
    - flask.ctx.AppContext.__init__
    - flask.ctx.RequestContext.match_request
    - werkzeug.urls.BaseURL.join
    - werkzeug._internal._encode_idna
    - http.server.BaseHTTPRequestHandler.path.lstrip
    - d.items
    - werkzeug.routing.MapAdapter.get_host
    - werkzeug.urls.url_unparse
    - werkzeug.urls.BytesURL.decode
    - appcontext_pushed.send
    - r.build
    - werkzeug.datastructures.CombinedMultiDict.items
    - path.split
    - bpath.split
    - v.strip
    - path.startswith
    - values.update
    - werkzeug.routing.Map.update
    - <builtin>.sorted
    - _scheme_re.match
    - typing.NamedTuple.endswith
    - r.suitable_for
    - domain.encode
    - domain.split
    - werkzeug.urls._url_encode_impl
    - environ.get
    - part.decode
    - werkzeug.routing.Map.bind_to_environ
    - werkzeug.urls._fast_url_quote_plus
    - <builtin>.type
    - rule.redirect_to
    - found.add
    - operator.methodcaller
    - werkzeug.datastructures.OrderedMultiDict.items
    - werkzeug.datastructures.iter_multi_items
    - typing.NamedTuple.strip
    - werkzeug.datastructures.MultiDict.items
    - werkzeug.routing.Map.bind
    - werkzeug._internal._check_str_tuple
    - path_info.lstrip
    - <builtin>.len
    - _simple_rule_re.sub
    - _app_ctx_stack.push
    - typing.NamedTuple.__init__
    - r.provides_defaults_for
    - werkzeug.sansio.utils.host_is_trusted._normalize
    - typing.NamedTuple.split
    - flask.app.Flask.app_context
    - http.server.BaseHTTPRequestHandler.path.split
    - http.server.BaseHTTPRequestHandler.path.join
    - rules.sort
    - <builtin>.getattr
    - werkzeug.routing.MapAdapter.match
    - typing.NamedTuple.path.decode
    - hostname.rsplit
    - werkzeug.sansio.utils.get_host
    - werkzeug._internal._make_encode_wrapper
    - session_interface.make_null_session
    - werkzeug.routing.MapAdapter.make_redirect_url
    - werkzeug._internal._to_str
    - _request_ctx_stack.push
    - typing.NamedTuple.scheme.decode
    - session_interface.open_session
    - http.server.BaseHTTPRequestHandler.path.decode
    - werkzeug.urls._make_fast_url_quote.quote
    - werkzeug._internal._get_environ
    - rule.match
    - typing.NamedTuple.decode
    - werkzeug.urls.url_encode
    - werkzeug.routing.MapAdapter.encode_query_args
    - werkzeug.routing.MapAdapter.get_default_redirect
    - werkzeug._internal._wsgi_decoding_dance
    - werkzeug.wsgi.get_host
    - s.encode
    - typing.NamedTuple.find
    - wsgi_server_name.split
    - top.pop
    - returned_keys.add
    - werkzeug.wsgi._get_server
    - <builtin>.isinstance
    - <builtin>.filter
    - werkzeug.urls.url_parse
    - werkzeug.urls.url_join
    - werkzeug.sansio.utils.host_is_trusted
    - host.endswith
    - ref.startswith
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - exc
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 483
    functionName: flask.ctx.RequestContext.auto_pop
    functionSourceFile: flask.ctx
    functionUses: 3
    functionsReached:
    - inspect.iscoroutinefunction
    - itertools.chain
    - request_tearing_down.send
    - flask.app.Flask.ensure_sync
    - asgiref.sync.async_to_sync
    - <builtin>.reversed
    - sys.exc_info
    - flask.ctx.RequestContext.pop
    - _request_ctx_stack.pop
    - <builtin>.getattr
    - flask.app.Flask.do_teardown_request
    - flask.app.Flask.async_to_sync
    - app_ctx.pop
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - environ
    - start_response
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 13
    functionLinenumber: 2086
    functionName: flask.app.Flask.__call__
    functionSourceFile: flask.app
    functionUses: 0
    functionsReached:
    - kwargs.items
    - buffer.append
    - server_name.lower
    - flask.ctx.AppContext.push
    - werkzeug.datastructures.Headers.update
    - p.encode
    - <builtin>.enumerate
    - werkzeug.wsgi.ClosingIterator.__iter__
    - flask.app.Flask.do_teardown_request
    - typing.NamedTuple.query.decode
    - value.decode
    - http.server.BaseHTTPRequestHandler.path.strip
    - <builtin>.next
    - inspect.iscoroutinefunction
    - werkzeug.datastructures.Headers._validate_value
    - json.dumps
    - typing.NamedTuple.fragment.decode
    - werkzeug._internal._make_encode_wrapper.<lambda1>
    - werkzeug._internal._decode_idna
    - posixpath.join
    - werkzeug.urls.BaseURL.decode_netloc
    - warnings.warn
    - <builtin>.str
    - flask.app.Flask.create_url_adapter
    - werkzeug.routing.MapAdapter.__init__
    - env.get
    - <builtin>.int
    - werkzeug._internal._decode_idna.decode_part
    - typing.NamedTuple.lstrip
    - werkzeug.datastructures.Headers.__delitem__
    - rv.allow.update
    - options.items
    - http.server.BaseHTTPRequestHandler.path.find
    - <builtin>.min
    - new.append
    - <builtin>.any
    - werkzeug.wrappers.response.Response.force_type
    - werkzeug.http.quote_header_value
    - server_name.split
    - werkzeug.routing.Map.bind_to_environ._get_wsgi_string
    - have_match_for.update
    - dict.items
    - flask.app.Flask.log_exception
    - server_name.endswith
    - flask.app.Flask.raise_routing_exception
    - <builtin>.super
    - http.server.BaseHTTPRequestHandler.path.endswith
    - <builtin>.set
    - flask.ctx.AppContext.__init__
    - flask.ctx.RequestContext.match_request
    - mapping.keys
    - key.lower
    - werkzeug.urls.BaseURL.join
    - werkzeug._internal._encode_idna
    - werkzeug.datastructures.Headers.setlist
    - http.server.BaseHTTPRequestHandler.path.lstrip
    - _request_ctx_stack.pop
    - asgiref.sync.async_to_sync
    - d.items
    - kw.items
    - werkzeug.routing.MapAdapter.get_host
    - werkzeug.urls.url_unparse
    - werkzeug.urls.BytesURL.decode
    - old_key.lower
    - flask.app.Flask.full_dispatch_request
    - itertools.chain
    - appcontext_pushed.send
    - r.build
    - <builtin>.list
    - werkzeug.datastructures.CombinedMultiDict.items
    - <builtin>.reversed
    - path.split
    - werkzeug.test.run_wsgi_app
    - v.strip
    - value.replace
    - bpath.split
    - werkzeug.datastructures._unicodify_header_value
    - values.update
    - path.startswith
    - mapping.getlist
    - werkzeug.exceptions.InternalServerError.__init__
    - <builtin>.issubclass
    - segments.append
    - werkzeug.wsgi.ClosingIterator.__next__
    - flask.ctx.RequestContext.__init__
    - werkzeug.routing.Map.update
    - werkzeug.wrappers.response.Response.__init__
    - <builtin>.sorted
    - _scheme_re.match
    - <builtin>.iter
    - typing.NamedTuple.endswith
    - _key.lower
    - r.suitable_for
    - domain.encode
    - domain.split
    - werkzeug.urls._url_encode_impl
    - flask.app.Flask.async_to_sync
    - environ.get
    - part.decode
    - werkzeug.routing.Map.bind_to_environ
    - werkzeug.urls._fast_url_quote_plus
    - <builtin>.type
    - rule.redirect_to
    - flask.app.Flask.try_trigger_before_first_request_functions
    - found.add
    - flask.app.Flask.trap_http_exception
    - <builtin>.bytes
    - operator.methodcaller
    - werkzeug.datastructures.OrderedMultiDict.items
    - werkzeug.datastructures.iter_multi_items
    - werkzeug.datastructures.EnvironHeaders.__init__
    - typing.NamedTuple.strip
    - werkzeug.datastructures.MultiDict.items
    - werkzeug.http.dump_options_header
    - werkzeug.routing.Map.bind
    - werkzeug._internal._check_str_tuple
    - path_info.lstrip
    - flask.app.Flask.make_default_options_response
    - flask.ctx.RequestContext.pop
    - werkzeug.datastructures.Headers.extend
    - <builtin>.len
    - current_app.response_class
    - _simple_rule_re.sub
    - flask.json.dumps
    - sys.exc_info
    - _app_ctx_stack.push
    - value.encode
    - typing.NamedTuple.__init__
    - r.provides_defaults_for
    - werkzeug.sansio.utils.host_is_trusted._normalize
    - functools.partial
    - request_started.send
    - k.replace
    - typing.NamedTuple.split
    - flask.app.Flask.app_context
    - http.server.BaseHTTPRequestHandler.path.split
    - flask.scaffold.Scaffold._get_exc_class_and_code
    - http.server.BaseHTTPRequestHandler.path.join
    - flask.json._dump_arg_defaults
    - flask.app.Flask.preprocess_request
    - <builtin>.getattr
    - k.lower
    - rules.sort
    - werkzeug.routing.MapAdapter.match
    - typing.NamedTuple.path.decode
    - flask.ctx.RequestContext.push
    - flask.app.Flask.should_ignore_error
    - hostname.rsplit
    - <builtin>.callable
    - kwargs.setdefault
    - werkzeug.sansio.utils.get_host
    - werkzeug._internal._make_encode_wrapper
    - session_interface.make_null_session
    - flask.app.Flask.wsgi_app
    - werkzeug.datastructures.Headers.add
    - flask.app.Flask._find_error_handler
    - werkzeug.routing.MapAdapter.make_redirect_url
    - werkzeug._internal._to_str
    - _request_ctx_stack.push
    - typing.NamedTuple.scheme.decode
    - session_interface.open_session
    - flask.ctx.RequestContext.auto_pop
    - handler_map.get
    - http.server.BaseHTTPRequestHandler.path.decode
    - flask.app.Flask.dispatch_request
    - app.blueprints.get
    - werkzeug.urls._make_fast_url_quote.quote
    - werkzeug._internal._get_environ
    - werkzeug.datastructures.Headers.remove
    - typing.NamedTuple.decode
    - flask.app.Flask.request_context
    - rule.match
    - werkzeug.urls.url_encode
    - flask.app.Flask.handle_http_exception
    - flask.app.Flask.process_response
    - werkzeug.routing.MapAdapter.get_default_redirect
    - werkzeug.routing.MapAdapter.encode_query_args
    - flask.json.jsonify
    - werkzeug._internal._wsgi_decoding_dance
    - werkzeug.wsgi.get_host
    - s.encode
    - flask.app.Flask.handle_exception
    - werkzeug.wsgi.ClosingIterator.__init__
    - typing.NamedTuple.find
    - got_request_exception.send
    - wsgi_server_name.split
    - top.pop
    - returned_keys.add
    - flask.app.Flask.handle_user_exception
    - werkzeug.datastructures._options_header_vkw
    - werkzeug.datastructures.Headers.set
    - werkzeug.datastructures.Headers.__init__
    - werkzeug.wrappers.response.Response.set_data
    - app_ctx.pop
    - flask.app.Flask.make_response
    - werkzeug.wsgi._get_server
    - adapter.allowed_methods
    - request_tearing_down.send
    - flask.app.Flask.finalize_request
    - flask.app.Flask.ensure_sync
    - typing.cast
    - <builtin>.isinstance
    - request_finished.send
    - <builtin>.filter
    - werkzeug.urls.url_parse
    - werkzeug.urls.url_join
    - werkzeug.sansio.utils.host_is_trusted
    - host.endswith
    - mapping.items
    - werkzeug.wrappers.request.Request.__init__
    - ref.startswith
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: flask.config
    functionSourceFile: flask.config
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe1429220>
    argNames:
    - self
    - obj
    - owner
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 17
    functionName: flask.config.ConfigAttribute.__get__
    functionSourceFile: flask.config
    functionUses: 0
    functionsReached:
    - datetime.timedelta
    - flask.app._make_timedelta
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - obj
    - value
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 25
    functionName: flask.config.ConfigAttribute.__set__
    functionSourceFile: flask.config
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe1412c70>
    argNames:
    - self
    - variable_name
    - silent
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 77
    functionName: flask.config.Config.from_envvar
    functionSourceFile: flask.config
    functionUses: 0
    functionsReached:
    - import_name.rsplit
    - <builtin>.__import__
    - key.isupper
    - types.ModuleType
    - <builtin>.locals
    - <builtin>.compile
    - import_name.replace
    - config_file.read
    - <builtin>.globals
    - <builtin>.exec
    - <builtin>.dir
    - <builtin>.getattr
    - werkzeug.utils.import_string
    - flask.config.Config.from_pyfile
    - <builtin>.isinstance
    - <builtin>.open
    - flask.config.Config.from_object
    - os.path.join
    - os.environ.get
    linkageType: pythonLinkage
    raised:
    - RuntimeError
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe2c752e0>
    argNames:
    - self
    - filename
    - silent
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 165
    functionName: flask.config.Config.from_pyfile
    functionSourceFile: flask.config
    functionUses: 1
    functionsReached:
    - import_name.rsplit
    - <builtin>.exec
    - werkzeug.utils.import_string
    - import_name.replace
    - config_file.read
    - <builtin>.globals
    - <builtin>.isinstance
    - <builtin>.__import__
    - <builtin>.open
    - key.isupper
    - flask.config.Config.from_object
    - <builtin>.dir
    - os.path.join
    - types.ModuleType
    - <builtin>.locals
    - <builtin>.getattr
    - <builtin>.compile
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 1
    IfCount: 3
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe2cb4a00>
    argNames:
    - self
    - prefix
    - loads
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 101
    functionName: flask.config.Config.from_prefixed_env
    functionSourceFile: flask.config
    functionUses: 0
    functionsReached:
    - <builtin>.len
    - <builtin>.sorted
    - key.split
    - key.startswith
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: types.ModuleType
    functionSourceFile: types
    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: config_file.read
    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>.compile
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - obj
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 194
    functionName: flask.config.Config.from_object
    functionSourceFile: flask.config
    functionUses: 2
    functionsReached:
    - import_name.rsplit
    - werkzeug.utils.import_string
    - import_name.replace
    - <builtin>.globals
    - <builtin>.isinstance
    - <builtin>.__import__
    - key.isupper
    - <builtin>.dir
    - <builtin>.getattr
    - <builtin>.locals
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.isupper
    functionSourceFile: <builtin>
    functionUses: 5
    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 0x7fcfe11f9a60>
    argNames:
    - self
    - filename
    - load
    - silent
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 232
    functionName: flask.config.Config.from_file
    functionSourceFile: flask.config
    functionUses: 0
    functionsReached:
    - flask.config.Config.from_mapping
    - mappings.update
    - <builtin>.open
    - key.isupper
    - mappings.items
    - os.path.join
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    IfCount: 2
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe3f4c040>
    argNames:
    - self
    - mapping
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 275
    functionName: flask.config.Config.from_mapping
    functionSourceFile: flask.config
    functionUses: 1
    functionsReached:
    - key.isupper
    - mappings.update
    - mappings.items
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: mappings.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: mappings.items
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 1
    IfCount: 3
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe2aade50>
    - <ast.Constant object at 0x7fcfe2aadca0>
    argNames:
    - self
    - namespace
    - lowercase
    - trim_namespace
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 293
    functionName: flask.config.Config.get_namespace
    functionSourceFile: flask.config
    functionUses: 0
    functionsReached:
    - <builtin>.len
    - k.startswith
    - key.lower
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: k.startswith
    functionSourceFile: <builtin>
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 336
    functionName: flask.config.Config.__repr__
    functionSourceFile: flask.config
    functionUses: 0
    functionsReached:
    - <builtin>.type
    - dict.__repr__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: flask.ctx
    functionSourceFile: flask.ctx
    functionUses: 0
    functionsReached:
    - <builtin>.object
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 47
    functionName: flask.ctx._AppCtxGlobals.__getattr__
    functionSourceFile: flask.ctx
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - AttributeError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - name
    - value
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 53
    functionName: flask.ctx._AppCtxGlobals.__setattr__
    functionSourceFile: flask.ctx
    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
    - name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 56
    functionName: flask.ctx._AppCtxGlobals.__delattr__
    functionSourceFile: flask.ctx
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - AttributeError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe107b640>
    argNames:
    - self
    - name
    - default
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 62
    functionName: flask.ctx._AppCtxGlobals.get
    functionSourceFile: flask.ctx
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 3
    argDefaultValues:
    - <ast.Name object at 0x7fcfe3750e50>
    argNames:
    - self
    - name
    - default
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 73
    functionName: flask.ctx._AppCtxGlobals.pop
    functionSourceFile: flask.ctx
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe2cb4d60>
    argNames:
    - self
    - name
    - default
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 87
    functionName: flask.ctx._AppCtxGlobals.setdefault
    functionSourceFile: flask.ctx
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - item
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 99
    functionName: flask.ctx._AppCtxGlobals.__contains__
    functionSourceFile: flask.ctx
    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: 102
    functionName: flask.ctx._AppCtxGlobals.__iter__
    functionSourceFile: flask.ctx
    functionUses: 0
    functionsReached:
    - <builtin>.iter
    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: 105
    functionName: flask.ctx._AppCtxGlobals.__repr__
    functionSourceFile: flask.ctx
    functionUses: 0
    functionsReached:
    - object.__repr__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - f
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 112
    functionName: flask.ctx.after_this_request
    functionSourceFile: flask.ctx
    functionUses: 0
    functionsReached:
    - top._after_request_functions.append
    linkageType: pythonLinkage
    raised:
    - RuntimeError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: top._after_request_functions.append
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - f
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 145
    functionName: flask.ctx.copy_current_request_context
    functionSourceFile: flask.ctx
    functionUses: 0
    functionsReached:
    - functools.update_wrapper
    - top.copy
    linkageType: pythonLinkage
    raised:
    - RuntimeError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: top.copy
    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:
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 179
    functionName: flask.ctx.copy_current_request_context.wrapper
    functionSourceFile: flask.ctx
    functionUses: 0
    functionsReached:
    - reqctx.app.ensure_sync
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: reqctx.app.ensure_sync
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 186
    functionName: flask.ctx.has_request_context
    functionSourceFile: flask.ctx
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 3
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 246
    functionName: flask.ctx.AppContext.push
    functionSourceFile: flask.ctx
    functionUses: 5
    functionsReached:
    - _app_ctx_stack.push
    - appcontext_pushed.send
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: _app_ctx_stack.push
    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: appcontext_pushed.send
    functionSourceFile: <builtin>
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    IfCount: 2
    argCount: 2
    argDefaultValues:
    - <ast.Name object at 0x7fcfe3d28bb0>
    argNames:
    - self
    - exc
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 252
    functionName: flask.ctx.AppContext.pop
    functionSourceFile: flask.ctx
    functionUses: 1
    functionsReached:
    - _app_ctx_stack.pop
    - inspect.iscoroutinefunction
    - appcontext_tearing_down.send
    - appcontext_popped.send
    - flask.app.Flask.ensure_sync
    - flask.app.Flask.do_teardown_appcontext
    - <builtin>.reversed
    - sys.exc_info
    - flask.app.Flask.async_to_sync
    - asgiref.sync.async_to_sync
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: _app_ctx_stack.pop
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: appcontext_popped.send
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 265
    functionName: flask.ctx.AppContext.__enter__
    functionSourceFile: flask.ctx
    functionUses: 0
    functionsReached:
    - flask.ctx.AppContext.push
    - _app_ctx_stack.push
    - appcontext_pushed.send
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - exc_type
    - exc_value
    - tb
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 269
    functionName: flask.ctx.AppContext.__exit__
    functionSourceFile: flask.ctx
    functionUses: 0
    functionsReached:
    - _app_ctx_stack.pop
    - inspect.iscoroutinefunction
    - appcontext_tearing_down.send
    - appcontext_popped.send
    - flask.app.Flask.ensure_sync
    - flask.app.Flask.do_teardown_appcontext
    - <builtin>.reversed
    - sys.exc_info
    - flask.app.Flask.async_to_sync
    - asgiref.sync.async_to_sync
    - flask.ctx.AppContext.pop
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - value
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 360
    functionName: flask.ctx.RequestContext.g
    functionSourceFile: flask.ctx
    functionUses: 0
    functionsReached:
    - warnings.warn
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 372
    functionName: flask.ctx.RequestContext.copy
    functionSourceFile: flask.ctx
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 10
    functionLinenumber: 392
    functionName: flask.ctx.RequestContext.match_request
    functionSourceFile: flask.ctx
    functionUses: 4
    functionsReached:
    - werkzeug.routing.MapAdapter.make_redirect_url
    - werkzeug._internal._to_str
    - werkzeug.urls.BaseURL.join
    - werkzeug._internal._check_str_tuple
    - path_info.lstrip
    - typing.NamedTuple.scheme.decode
    - http.server.BaseHTTPRequestHandler.path.lstrip
    - http.server.BaseHTTPRequestHandler.path.decode
    - d.items
    - <builtin>.len
    - werkzeug.routing.MapAdapter.get_host
    - werkzeug.urls._make_fast_url_quote.quote
    - werkzeug.urls.url_unparse
    - werkzeug.urls.BytesURL.decode
    - typing.NamedTuple.query.decode
    - http.server.BaseHTTPRequestHandler.path.strip
    - _simple_rule_re.sub
    - r.build
    - werkzeug._internal._make_encode_wrapper.<lambda1>
    - werkzeug.datastructures.CombinedMultiDict.items
    - typing.NamedTuple.fragment.decode
    - rule.match
    - typing.NamedTuple.decode
    - path.split
    - bpath.split
    - werkzeug.urls.url_encode
    - werkzeug._internal._decode_idna
    - typing.NamedTuple.__init__
    - r.provides_defaults_for
    - werkzeug.routing.MapAdapter.encode_query_args
    - werkzeug.routing.MapAdapter.get_default_redirect
    - path.startswith
    - values.update
    - posixpath.join
    - werkzeug.urls.BaseURL.decode_netloc
    - werkzeug.routing.Map.update
    - typing.NamedTuple.split
    - <builtin>.sorted
    - _scheme_re.match
    - <builtin>.str
    - typing.NamedTuple.find
    - http.server.BaseHTTPRequestHandler.path.split
    - r.suitable_for
    - http.server.BaseHTTPRequestHandler.path.join
    - typing.NamedTuple.lstrip
    - werkzeug._internal._decode_idna.decode_part
    - werkzeug.urls._url_encode_impl
    - domain.split
    - domain.encode
    - http.server.BaseHTTPRequestHandler.path.find
    - rules.sort
    - <builtin>.min
    - returned_keys.add
    - werkzeug.urls._fast_url_quote_plus
    - werkzeug.routing.MapAdapter.match
    - <builtin>.any
    - typing.NamedTuple.path.decode
    - part.decode
    - rule.redirect_to
    - have_match_for.update
    - found.add
    - dict.items
    - operator.methodcaller
    - <builtin>.isinstance
    - werkzeug.urls.url_parse
    - werkzeug.urls.url_join
    - <builtin>.filter
    - werkzeug.datastructures.OrderedMultiDict.items
    - <builtin>.set
    - werkzeug.datastructures.iter_multi_items
    - werkzeug._internal._make_encode_wrapper
    - typing.NamedTuple.strip
    - werkzeug.datastructures.MultiDict.items
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: top.pop
    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: _request_ctx_stack.push
    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: session_interface.open_session
    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: session_interface.make_null_session
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 4
    IfCount: 5
    argCount: 2
    argDefaultValues:
    - <ast.Name object at 0x7fcfe0d15b50>
    argNames:
    - self
    - exc
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 444
    functionName: flask.ctx.RequestContext.pop
    functionSourceFile: flask.ctx
    functionUses: 4
    functionsReached:
    - inspect.iscoroutinefunction
    - itertools.chain
    - request_tearing_down.send
    - flask.app.Flask.ensure_sync
    - app_ctx.pop
    - asgiref.sync.async_to_sync
    - sys.exc_info
    - <builtin>.reversed
    - _request_ctx_stack.pop
    - flask.app.Flask.async_to_sync
    - flask.app.Flask.do_teardown_request
    - <builtin>.getattr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: _request_ctx_stack.pop
    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: app_ctx.pop
    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:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 13
    functionLinenumber: 492
    functionName: flask.ctx.RequestContext.__enter__
    functionSourceFile: flask.ctx
    functionUses: 0
    functionsReached:
    - server_name.lower
    - flask.ctx.AppContext.push
    - p.encode
    - typing.NamedTuple.query.decode
    - http.server.BaseHTTPRequestHandler.path.strip
    - typing.NamedTuple.fragment.decode
    - werkzeug._internal._make_encode_wrapper.<lambda1>
    - werkzeug._internal._decode_idna
    - posixpath.join
    - werkzeug.urls.BaseURL.decode_netloc
    - warnings.warn
    - <builtin>.str
    - flask.app.Flask.create_url_adapter
    - werkzeug.routing.MapAdapter.__init__
    - env.get
    - <builtin>.int
    - typing.NamedTuple.lstrip
    - werkzeug._internal._decode_idna.decode_part
    - http.server.BaseHTTPRequestHandler.path.find
    - <builtin>.min
    - <builtin>.any
    - server_name.split
    - werkzeug.routing.Map.bind_to_environ._get_wsgi_string
    - have_match_for.update
    - dict.items
    - server_name.endswith
    - <builtin>.set
    - http.server.BaseHTTPRequestHandler.path.endswith
    - flask.ctx.AppContext.__init__
    - flask.ctx.RequestContext.match_request
    - werkzeug.urls.BaseURL.join
    - werkzeug._internal._encode_idna
    - http.server.BaseHTTPRequestHandler.path.lstrip
    - d.items
    - werkzeug.routing.MapAdapter.get_host
    - werkzeug.urls.url_unparse
    - werkzeug.urls.BytesURL.decode
    - appcontext_pushed.send
    - r.build
    - werkzeug.datastructures.CombinedMultiDict.items
    - path.split
    - bpath.split
    - v.strip
    - path.startswith
    - values.update
    - werkzeug.routing.Map.update
    - <builtin>.sorted
    - _scheme_re.match
    - typing.NamedTuple.endswith
    - r.suitable_for
    - domain.encode
    - domain.split
    - werkzeug.urls._url_encode_impl
    - environ.get
    - part.decode
    - werkzeug.routing.Map.bind_to_environ
    - werkzeug.urls._fast_url_quote_plus
    - <builtin>.type
    - rule.redirect_to
    - found.add
    - operator.methodcaller
    - werkzeug.datastructures.OrderedMultiDict.items
    - werkzeug.datastructures.iter_multi_items
    - typing.NamedTuple.strip
    - werkzeug.datastructures.MultiDict.items
    - werkzeug.routing.Map.bind
    - werkzeug._internal._check_str_tuple
    - path_info.lstrip
    - <builtin>.len
    - _simple_rule_re.sub
    - _app_ctx_stack.push
    - typing.NamedTuple.__init__
    - r.provides_defaults_for
    - werkzeug.sansio.utils.host_is_trusted._normalize
    - typing.NamedTuple.split
    - flask.app.Flask.app_context
    - http.server.BaseHTTPRequestHandler.path.split
    - http.server.BaseHTTPRequestHandler.path.join
    - rules.sort
    - <builtin>.getattr
    - werkzeug.routing.MapAdapter.match
    - typing.NamedTuple.path.decode
    - flask.ctx.RequestContext.push
    - hostname.rsplit
    - werkzeug.sansio.utils.get_host
    - werkzeug._internal._make_encode_wrapper
    - session_interface.make_null_session
    - werkzeug.routing.MapAdapter.make_redirect_url
    - werkzeug._internal._to_str
    - _request_ctx_stack.push
    - typing.NamedTuple.scheme.decode
    - session_interface.open_session
    - http.server.BaseHTTPRequestHandler.path.decode
    - werkzeug.urls._make_fast_url_quote.quote
    - werkzeug._internal._get_environ
    - rule.match
    - typing.NamedTuple.decode
    - werkzeug.urls.url_encode
    - werkzeug.routing.MapAdapter.encode_query_args
    - werkzeug.routing.MapAdapter.get_default_redirect
    - werkzeug._internal._wsgi_decoding_dance
    - werkzeug.wsgi.get_host
    - s.encode
    - typing.NamedTuple.find
    - wsgi_server_name.split
    - top.pop
    - returned_keys.add
    - werkzeug.wsgi._get_server
    - <builtin>.isinstance
    - <builtin>.filter
    - werkzeug.urls.url_parse
    - werkzeug.urls.url_join
    - werkzeug.sansio.utils.host_is_trusted
    - host.endswith
    - ref.startswith
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - exc_type
    - exc_value
    - tb
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 496
    functionName: flask.ctx.RequestContext.__exit__
    functionSourceFile: flask.ctx
    functionUses: 0
    functionsReached:
    - inspect.iscoroutinefunction
    - itertools.chain
    - request_tearing_down.send
    - flask.app.Flask.ensure_sync
    - asgiref.sync.async_to_sync
    - <builtin>.reversed
    - sys.exc_info
    - flask.ctx.RequestContext.auto_pop
    - flask.ctx.RequestContext.pop
    - _request_ctx_stack.pop
    - <builtin>.getattr
    - flask.app.Flask.do_teardown_request
    - flask.app.Flask.async_to_sync
    - app_ctx.pop
    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: 509
    functionName: flask.ctx.RequestContext.__repr__
    functionSourceFile: flask.ctx
    functionUses: 0
    functionsReached:
    - <builtin>.type
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: -1
    functionName: flask.sessions
    functionSourceFile: flask.sessions
    functionUses: 0
    functionsReached:
    - flask.json.tag.TaggedJSONSerializer.__init__
    - flask.json.tag.TaggedJSONSerializer.register
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - value
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 29
    functionName: flask.sessions.SessionMixin.permanent
    functionSourceFile: flask.sessions
    functionUses: 0
    functionsReached:
    - flask.sessions.SecureCookieSession.get
    - collections.abc.MutableMapping.get
    - <builtin>.super
    - <builtin>.bool
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: collections.abc.MutableMapping.get
    functionSourceFile: collections
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe3e56370>
    argNames:
    - self
    - initial
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 70
    functionName: flask.sessions.SecureCookieSession.__init__
    functionSourceFile: flask.sessions
    functionUses: 2
    functionsReached:
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 71
    functionName: flask.sessions.SecureCookieSession.__init__.on_update
    functionSourceFile: flask.sessions
    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
    - key
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 77
    functionName: flask.sessions.SecureCookieSession.__getitem__
    functionSourceFile: flask.sessions
    functionUses: 0
    functionsReached:
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe0ab25e0>
    argNames:
    - self
    - key
    - default
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 85
    functionName: flask.sessions.SecureCookieSession.setdefault
    functionSourceFile: flask.sessions
    functionUses: 0
    functionsReached:
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - app
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 157
    functionName: flask.sessions.SessionInterface.make_null_session
    functionSourceFile: flask.sessions
    functionUses: 0
    functionsReached:
    - flask.sessions.SecureCookieSession.__init__
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - obj
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 169
    functionName: flask.sessions.SessionInterface.is_null_session
    functionSourceFile: flask.sessions
    functionUses: 0
    functionsReached:
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - app
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 178
    functionName: flask.sessions.SessionInterface.get_cookie_name
    functionSourceFile: flask.sessions
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 3
    IfCount: 5
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - app
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 185
    functionName: flask.sessions.SessionInterface.get_cookie_domain
    functionSourceFile: flask.sessions
    functionUses: 1
    functionsReached:
    - flask.helpers.is_ip
    - socket.inet_pton
    - flask.sessions.SessionInterface.get_cookie_path
    - warnings.warn
    - rv.rsplit
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: rv.rsplit
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - value
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 764
    functionName: flask.helpers.is_ip
    functionSourceFile: flask.helpers
    functionUses: 2
    functionsReached:
    - socket.inet_pton
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - app
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 243
    functionName: flask.sessions.SessionInterface.get_cookie_path
    functionSourceFile: ''
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - app
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 251
    functionName: flask.sessions.SessionInterface.get_cookie_httponly
    functionSourceFile: flask.sessions
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - app
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 258
    functionName: flask.sessions.SessionInterface.get_cookie_secure
    functionSourceFile: flask.sessions
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - app
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 264
    functionName: flask.sessions.SessionInterface.get_cookie_samesite
    functionSourceFile: flask.sessions
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - app
    - session
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 271
    functionName: flask.sessions.SessionInterface.get_expiration_time
    functionSourceFile: flask.sessions
    functionUses: 1
    functionsReached:
    - datetime.datetime.utcnow
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.utcnow
    functionSourceFile: datetime
    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
    - app
    - session
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 283
    functionName: flask.sessions.SessionInterface.should_set_cookie
    functionSourceFile: flask.sessions
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - app
    - request
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 299
    functionName: flask.sessions.SessionInterface.open_session
    functionSourceFile: flask.sessions
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - NotImplementedError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - app
    - session
    - response
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 315
    functionName: flask.sessions.SessionInterface.save_session
    functionSourceFile: flask.sessions
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - NotImplementedError
    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: 246
    functionName: flask.json.tag.TaggedJSONSerializer.__init__
    functionSourceFile: flask.json.tag
    functionUses: 1
    functionsReached:
    - flask.json.tag.TaggedJSONSerializer.register
    linkageType: 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: flask.sessions.SecureCookieSessionInterface
    functionSourceFile: flask.sessions
    functionUses: 0
    functionsReached:
    - <builtin>.staticmethod
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - app
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 347
    functionName: flask.sessions.SecureCookieSessionInterface.get_signing_serializer
    functionSourceFile: flask.sessions
    functionUses: 2
    functionsReached:
    - itsdangerous.URLSafeTimedSerializer
    - <builtin>.dict
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: itsdangerous.URLSafeTimedSerializer
    functionSourceFile: itsdangerous
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - app
    - request
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 362
    functionName: flask.sessions.SecureCookieSessionInterface.open_session
    functionSourceFile: flask.sessions
    functionUses: 0
    functionsReached:
    - flask.sessions.SecureCookieSession.__init__
    - app.permanent_session_lifetime.total_seconds
    - request.cookies.get
    - itsdangerous.URLSafeTimedSerializer.loads
    - <builtin>.int
    - flask.sessions.SessionInterface.get_cookie_name
    - flask.sessions.SecureCookieSessionInterface.get_signing_serializer
    - <builtin>.super
    - itsdangerous.URLSafeTimedSerializer
    - <builtin>.dict
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: request.cookies.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: app.permanent_session_lifetime.total_seconds
    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: itsdangerous.URLSafeTimedSerializer.loads
    functionSourceFile: itsdangerous
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 3
    IfCount: 4
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - app
    - session
    - response
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 378
    functionName: flask.sessions.SecureCookieSessionInterface.save_session
    functionSourceFile: flask.sessions
    functionUses: 0
    functionsReached:
    - flask.sessions.SessionInterface.get_cookie_path
    - flask.sessions.SessionInterface.get_cookie_domain
    - flask.sessions.SessionInterface.get_cookie_name
    - <builtin>.dict
    - flask.helpers.is_ip
    - response.set_cookie
    - socket.inet_pton
    - flask.sessions.SecureCookieSessionInterface.get_signing_serializer
    - itsdangerous.URLSafeTimedSerializer.dumps
    - warnings.warn
    - rv.rsplit
    - flask.sessions.SessionInterface.get_expiration_time
    - datetime.datetime.utcnow
    - response.vary.add
    - flask.sessions.SessionInterface.get_cookie_samesite
    - flask.sessions.SessionInterface.get_cookie_secure
    - flask.sessions.SessionInterface.get_cookie_httponly
    - response.delete_cookie
    - flask.sessions.SessionInterface.should_set_cookie
    - itsdangerous.URLSafeTimedSerializer
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: response.delete_cookie
    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: response.vary.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: itsdangerous.URLSafeTimedSerializer.dumps
    functionSourceFile: itsdangerous
    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: response.set_cookie
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: flask.json.tag
    functionSourceFile: flask.json.tag
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - serializer
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 66
    functionName: flask.json.tag.JSONTag.__init__
    functionSourceFile: flask.json.tag
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - value
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 70
    functionName: flask.json.tag.JSONTag.check
    functionSourceFile: flask.json.tag
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - value
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 74
    functionName: flask.json.tag.JSONTag.to_json
    functionSourceFile: flask.json.tag
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - value
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 79
    functionName: flask.json.tag.JSONTag.to_python
    functionSourceFile: flask.json.tag
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - value
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 84
    functionName: flask.json.tag.JSONTag.tag
    functionSourceFile: flask.json.tag
    functionUses: 0
    functionsReached:
    - flask.json.tag.JSONTag.to_json
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - value
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 100
    functionName: flask.json.tag.TagDict.check
    functionSourceFile: flask.json.tag
    functionUses: 0
    functionsReached:
    - <builtin>.len
    - <builtin>.iter
    - <builtin>.next
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - value
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 107
    functionName: flask.json.tag.TagDict.to_json
    functionSourceFile: flask.json.tag
    functionUses: 0
    functionsReached:
    - <builtin>.next
    - <builtin>.iter
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - value
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 111
    functionName: flask.json.tag.TagDict.to_python
    functionSourceFile: flask.json.tag
    functionUses: 0
    functionsReached:
    - <builtin>.next
    - <builtin>.iter
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - value
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 119
    functionName: flask.json.tag.PassDict.check
    functionSourceFile: flask.json.tag
    functionUses: 0
    functionsReached:
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - value
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 122
    functionName: flask.json.tag.PassDict.to_json
    functionSourceFile: flask.json.tag
    functionUses: 0
    functionsReached:
    - value.items
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: value.items
    functionSourceFile: <builtin>
    functionUses: 8
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - value
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 134
    functionName: flask.json.tag.TagTuple.check
    functionSourceFile: flask.json.tag
    functionUses: 0
    functionsReached:
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - value
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 137
    functionName: flask.json.tag.TagTuple.to_json
    functionSourceFile: flask.json.tag
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - value
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 140
    functionName: flask.json.tag.TagTuple.to_python
    functionSourceFile: flask.json.tag
    functionUses: 0
    functionsReached:
    - <builtin>.tuple
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - value
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 147
    functionName: flask.json.tag.PassList.check
    functionSourceFile: flask.json.tag
    functionUses: 0
    functionsReached:
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - value
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 150
    functionName: flask.json.tag.PassList.to_json
    functionSourceFile: flask.json.tag
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - value
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 160
    functionName: flask.json.tag.TagBytes.check
    functionSourceFile: flask.json.tag
    functionUses: 0
    functionsReached:
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - value
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 163
    functionName: flask.json.tag.TagBytes.to_json
    functionSourceFile: flask.json.tag
    functionUses: 0
    functionsReached:
    - base64.b64encode.decode
    - base64.b64encode
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.b64encode.decode
    functionSourceFile: base64
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - value
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 166
    functionName: flask.json.tag.TagBytes.to_python
    functionSourceFile: flask.json.tag
    functionUses: 0
    functionsReached:
    - base64.b64decode
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - value
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 178
    functionName: flask.json.tag.TagMarkup.check
    functionSourceFile: flask.json.tag
    functionUses: 0
    functionsReached:
    - <builtin>.callable
    - <builtin>.getattr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - value
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 181
    functionName: flask.json.tag.TagMarkup.to_json
    functionSourceFile: flask.json.tag
    functionUses: 0
    functionsReached:
    - <builtin>.str
    - value.__html__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: value.__html__
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - value
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 184
    functionName: flask.json.tag.TagMarkup.to_python
    functionSourceFile: flask.json.tag
    functionUses: 0
    functionsReached:
    - markupsafe.Markup
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: markupsafe.Markup
    functionSourceFile: markupsafe
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - value
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 192
    functionName: flask.json.tag.TagUUID.check
    functionSourceFile: flask.json.tag
    functionUses: 0
    functionsReached:
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - value
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 195
    functionName: flask.json.tag.TagUUID.to_json
    functionSourceFile: flask.json.tag
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - value
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 198
    functionName: flask.json.tag.TagUUID.to_python
    functionSourceFile: flask.json.tag
    functionUses: 0
    functionsReached:
    - uuid.UUID
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - value
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 206
    functionName: flask.json.tag.TagDateTime.check
    functionSourceFile: flask.json.tag
    functionUses: 0
    functionsReached:
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - value
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 209
    functionName: flask.json.tag.TagDateTime.to_json
    functionSourceFile: flask.json.tag
    functionUses: 0
    functionsReached:
    - email.utils.format_datetime
    - <builtin>.isinstance
    - time.mktime
    - werkzeug.http.http_date
    - email.utils.formatdate
    - time.mktime.replace
    - datetime.time
    - time.mktime.astimezone
    - datetime.datetime.combine
    - werkzeug._internal._dt_as_utc
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - value
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 212
    functionName: flask.json.tag.TagDateTime.to_python
    functionSourceFile: flask.json.tag
    functionUses: 0
    functionsReached:
    - email.utils.parsedate_to_datetime
    - werkzeug.http.parse_date
    - dt.replace
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 3
    IfCount: 3
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe0fa1340>
    - <ast.Constant object at 0x7fcfe0fa1370>
    argNames:
    - self
    - tag_class
    - force
    - index
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 253
    functionName: flask.json.tag.TaggedJSONSerializer.register
    functionSourceFile: ''
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - KeyError
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - value
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 286
    functionName: flask.json.tag.TaggedJSONSerializer.tag
    functionSourceFile: flask.json.tag
    functionUses: 1
    functionsReached:
    - tag.check
    - tag.tag
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: tag.check
    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: tag.tag
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - value
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 294
    functionName: flask.json.tag.TaggedJSONSerializer.untag
    functionSourceFile: flask.json.tag
    functionUses: 0
    functionsReached:
    - <builtin>.len
    - <builtin>.iter
    - <builtin>.next
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - value
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 306
    functionName: flask.json.tag.TaggedJSONSerializer.dumps
    functionSourceFile: flask.json.tag
    functionUses: 0
    functionsReached:
    - tag.check
    - tag.tag
    - flask.json.tag.TaggedJSONSerializer.dumps
    - flask.json.tag.TaggedJSONSerializer.tag
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - value
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 310
    functionName: flask.json.tag.TaggedJSONSerializer.loads
    functionSourceFile: flask.json.tag
    functionUses: 0
    functionsReached:
    - flask.json.tag.TaggedJSONSerializer.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: flask.testing
    functionSourceFile: flask.testing
    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: app.config.get
    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: app_root.lstrip
    functionSourceFile: <builtin>
    functionUses: 14
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - obj
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 85
    functionName: flask.testing.EnvironBuilder.json_dumps
    functionSourceFile: flask.testing
    functionUses: 0
    functionsReached:
    - flask.testing.EnvironBuilder.json_dumps
    - kwargs.setdefault
    linkageType: 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: flask.testing.FlaskClient
    functionSourceFile: flask.testing
    functionUses: 0
    functionsReached:
    - contextlib.contextmanager
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: contextlib.contextmanager
    functionSourceFile: ''
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 7
    IfCount: 3
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 121
    functionName: flask.testing.FlaskClient.session_transaction
    functionSourceFile: flask.testing
    functionUses: 0
    functionsReached:
    - session_interface.is_null_session
    - _request_ctx_stack.push
    - resp.get_wsgi_headers
    - app.test_request_context
    - kwargs.setdefault
    - session_interface.open_session
    - app.response_class
    - _request_ctx_stack.pop
    - session_interface.save_session
    linkageType: pythonLinkage
    raised:
    - RuntimeError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: app.test_request_context
    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: app.response_class
    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: session_interface.is_null_session
    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: session_interface.save_session
    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: resp.get_wsgi_headers
    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
    - other
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 175
    functionName: flask.testing.FlaskClient._copy_environ
    functionSourceFile: flask.testing
    functionUses: 12
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 8
    functionLinenumber: 182
    functionName: flask.testing.FlaskClient._request_from_builder_args
    functionSourceFile: flask.testing
    functionUses: 11
    functionsReached:
    - werkzeug._internal._to_str
    - typing.NamedTuple.scheme.decode
    - http.server.BaseHTTPRequestHandler.path.decode
    - <builtin>.len
    - werkzeug.urls.BytesURL.decode
    - typing.NamedTuple.query.decode
    - <builtin>.bool
    - werkzeug._internal._make_encode_wrapper.<lambda1>
    - typing.NamedTuple.fragment.decode
    - builder.close
    - typing.NamedTuple.decode
    - flask.testing.FlaskClient._copy_environ
    - werkzeug._internal._decode_idna
    - typing.NamedTuple.__init__
    - werkzeug.urls.BaseURL.decode_netloc
    - builder.get_request
    - typing.NamedTuple.split
    - flask.testing.EnvironBuilder.__init__
    - _scheme_re.match
    - <builtin>.str
    - typing.NamedTuple.find
    - http.server.BaseHTTPRequestHandler.path.split
    - domain.encode
    - werkzeug._internal._decode_idna.decode_part
    - domain.split
    - http.server.BaseHTTPRequestHandler.path.find
    - <builtin>.min
    - part.decode
    - <builtin>.any
    - typing.NamedTuple.path.decode
    - app_root.lstrip
    - app.config.get
    - operator.methodcaller
    - <builtin>.isinstance
    - werkzeug.urls.url_parse
    - <builtin>.filter
    - <builtin>.super
    - kwargs.get
    - werkzeug._internal._make_encode_wrapper
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: builder.get_request
    functionSourceFile: <builtin>
    functionUses: 12
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: copy.copy
    functionSourceFile: copy
    functionUses: 11
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: copy.copy.get_request
    functionSourceFile: copy
    functionUses: 11
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: EnvironBuilder.from_environ
    functionSourceFile: <builtin>
    functionUses: 11
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 223
    functionName: flask.testing.FlaskClient.__enter__
    functionSourceFile: flask.testing
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - RuntimeError
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - exc_type
    - exc_value
    - tb
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 229
    functionName: flask.testing.FlaskClient.__exit__
    functionSourceFile: flask.testing
    functionUses: 0
    functionsReached:
    - top.pop
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe3d28700>
    - <ast.Constant object at 0x7fcfe3d283a0>
    argNames:
    - self
    - cli
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 260
    functionName: flask.testing.FlaskCliRunner.invoke
    functionSourceFile: flask.testing
    functionUses: 0
    functionsReached:
    - os.environ.get
    - <builtin>.super
    - flask.cli.ScriptInfo.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: flask.testing.FlaskCliRunner.invoke.<lambda1>
    functionSourceFile: flask.testing
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe1131b20>
    - <ast.Constant object at 0x7fcfe1131b50>
    - <ast.Constant object at 0x7fcfe1131b80>
    argNames:
    - self
    - app_import_path
    - create_app
    - set_debug_flag
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 339
    functionName: flask.cli.ScriptInfo.__init__
    functionSourceFile: flask.cli
    functionUses: 5
    functionsReached:
    - os.environ.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: -1
    functionName: flask.logging
    functionSourceFile: flask.logging
    functionUses: 0
    functionsReached:
    - logging.Formatter
    - typing.cast
    - werkzeug.local._l_to_r_op
    - werkzeug.local._ProxyLookup.__init__
    - logging.StreamHandler
    - default_handler.setFormatter
    - <builtin>.hasattr
    - werkzeug.local._ProxyIOp.__init__
    - <builtin>.super
    - werkzeug.local.LocalProxy
    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: 14
    functionName: flask.logging.wsgi_errors_stream
    functionSourceFile: flask.logging
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - logger
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 26
    functionName: flask.logging.has_level_handler
    functionSourceFile: flask.logging
    functionUses: 2
    functionsReached:
    - logger.getEffectiveLevel
    - <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: logging.StreamHandler
    functionSourceFile: logging
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: logging.Formatter
    functionSourceFile: logging
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: default_handler.setFormatter
    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: logger.setLevel
    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: logger.addHandler
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: -1
    functionName: flask.cli
    functionSourceFile: flask.cli
    functionUses: 0
    functionsReached:
    - val.lower
    - click.Group.add_command
    - flask.cli.ScriptInfo.__init__
    - extra.pop
    - click.Path.__init__
    - params.append
    - click.Group.__init__
    - flask.helpers.get_load_dotenv
    - click.make_pass_decorator
    - flask.cli.FlaskGroup.__init__
    - <builtin>.list
    - flask.cli.CertParamType.__init__
    - flask.cli.pass_script_info
    - flask.cli.with_appcontext
    - click.Choice
    - flask.cli.main
    - flask.cli.FlaskGroup.main
    - click.command
    - click.Path
    - click.Option
    - click.option
    - click.pass_context
    - kwargs.setdefault
    - <builtin>.super
    - kwargs.get
    - os.environ.get
    - functools.update_wrapper
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 9
    ICount: 1
    IfCount: 6
    argCount: 1
    argDefaultValues: []
    argNames:
    - module
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 26
    functionName: flask.cli.find_best_app
    functionSourceFile: flask.cli
    functionUses: 2
    functionsReached:
    - flask.cli._called_with_wrong_args
    - sys.exc_info
    - <builtin>.isinstance
    - <builtin>.getattr
    - <builtin>.len
    - module.__dict__.values
    - inspect.isfunction
    linkageType: pythonLinkage
    raised:
    - NoAppException
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: module.__dict__.values
    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: inspect.isfunction
    functionSourceFile: inspect
    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:
    - f
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 79
    functionName: flask.cli._called_with_wrong_args
    functionSourceFile: flask.cli
    functionUses: 4
    functionsReached:
    - sys.exc_info
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 9
    ICount: 1
    IfCount: 6
    argCount: 2
    argDefaultValues: []
    argNames:
    - module
    - app_name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 105
    functionName: flask.cli.find_app_by_string
    functionSourceFile: flask.cli
    functionUses: 2
    functionsReached:
    - flask.cli._called_with_wrong_args
    - app_name.strip
    - sys.exc_info
    - <builtin>.isinstance
    - ast.parse
    - <builtin>.getattr
    - ast.literal_eval
    - inspect.isfunction
    linkageType: pythonLinkage
    raised:
    - NoAppException
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: app_name.strip
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: ast.literal_eval
    functionSourceFile: ast
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 3
    IfCount: 4
    argCount: 1
    argDefaultValues: []
    argNames:
    - path
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 181
    functionName: flask.cli.prepare_import
    functionSourceFile: flask.cli
    functionUses: 1
    functionsReached:
    - os.path.realpath
    - os.path.exists
    - os.path.splitext
    - os.path.split
    - os.path.basename
    - os.path.dirname
    - module_name.append
    - os.path.join
    - sys.path.insert
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: module_name.append
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: sys.path.insert
    functionSourceFile: sys
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 1
    IfCount: 3
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe2cb4430>
    argNames:
    - module_name
    - app_name
    - raise_if_not_found
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 210
    functionName: flask.cli.locate_app
    functionSourceFile: flask.cli
    functionUses: 1
    functionsReached:
    - flask.cli.find_app_by_string
    - <builtin>.len
    - app_name.strip
    - sys.exc_info
    - <builtin>.isinstance
    - <builtin>.__import__
    - ast.parse
    - flask.cli._called_with_wrong_args
    - ast.literal_eval
    - flask.cli.find_best_app
    - module.__dict__.values
    - inspect.isfunction
    - <builtin>.getattr
    linkageType: pythonLinkage
    raised:
    - NoAppException
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - ctx
    - param
    - value
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 236
    functionName: flask.cli.get_version
    functionSourceFile: flask.cli
    functionUses: 0
    functionsReached:
    - ctx.exit
    - platform.python_version
    - click.echo
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: platform.python_version
    functionSourceFile: platform
    functionUses: 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: click.echo
    functionSourceFile: click
    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: ctx.exit
    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: click.Option
    functionSourceFile: click
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 311
    functionName: flask.cli.DispatchingApp._load_unlocked
    functionSourceFile: ''
    functionUses: 7
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 283
    functionName: flask.cli.DispatchingApp._load_in_background
    functionSourceFile: flask.cli
    functionUses: 5
    functionsReached:
    - threading.Thread.start
    - threading.Thread
    - click.get_current_context
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: click.get_current_context
    functionSourceFile: click
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 288
    functionName: flask.cli.DispatchingApp._load_in_background._load_app
    functionSourceFile: flask.cli
    functionUses: 0
    functionsReached:
    - flask.cli.DispatchingApp._load_unlocked
    - click.globals.push_context
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: click.globals.push_context
    functionSourceFile: click
    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: threading.Thread.start
    functionSourceFile: threading
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 303
    functionName: flask.cli.DispatchingApp._flush_bg_loading_exception
    functionSourceFile: flask.cli
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - environ
    - start_response
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 317
    functionName: flask.cli.DispatchingApp.__call__
    functionSourceFile: flask.cli
    functionUses: 0
    functionsReached:
    - flask.cli.DispatchingApp._flush_bg_loading_exception
    - flask.cli.DispatchingApp._load_unlocked
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 9
    ICount: 1
    IfCount: 6
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 351
    functionName: flask.cli.ScriptInfo.load_app
    functionSourceFile: flask.cli
    functionUses: 0
    functionsReached:
    - flask.helpers.get_env
    - os.path.splitext
    - os.path.split
    - <builtin>.__import__
    - <builtin>.len
    - flask.cli.find_best_app
    - os.path.realpath
    - re.split
    - sys.exc_info
    - module_name.append
    - sys.path.insert
    - flask.cli._called_with_wrong_args
    - module.__dict__.values
    - flask.cli.find_app_by_string
    - os.path.exists
    - app_name.strip
    - <builtin>.getattr
    - flask.cli.prepare_import
    - inspect.isfunction
    - ast.parse
    - flask.cli.locate_app
    - flask.helpers.get_debug_flag
    - <builtin>.isinstance
    - os.path.basename
    - os.path.dirname
    - os.path.join
    - ast.literal_eval
    - os.environ.get
    - val.lower
    linkageType: pythonLinkage
    raised:
    - NoAppException
    returnType: N/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.split
    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: click.make_pass_decorator
    functionSourceFile: click
    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:
    - f
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 397
    functionName: flask.cli.with_appcontext
    functionSourceFile: flask.cli
    functionUses: 2
    functionsReached:
    - click.pass_context
    - functools.update_wrapper
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: click.pass_context
    functionSourceFile: ''
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - __ctx
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 405
    functionName: flask.cli.with_appcontext.decorator
    functionSourceFile: flask.cli
    functionUses: 0
    functionsReached:
    - __ctx.ensure_object
    - __ctx.invoke
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: __ctx.ensure_object
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: __ctx.invoke
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 420
    functionName: flask.cli.AppGroup.command
    functionSourceFile: flask.cli
    functionUses: 0
    functionsReached:
    - kwargs.pop
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - f
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 427
    functionName: flask.cli.AppGroup.command.decorator
    functionSourceFile: flask.cli
    functionUses: 0
    functionsReached:
    - functools.update_wrapper
    - click.pass_context
    - click.Group.command
    - flask.cli.with_appcontext
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: click.Group.command
    functionSourceFile: click
    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
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 434
    functionName: flask.cli.AppGroup.group
    functionSourceFile: flask.cli
    functionUses: 0
    functionsReached:
    - kwargs.setdefault
    - click.Group.group
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: click.Group.group
    functionSourceFile: click
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    IfCount: 2
    argCount: 7
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe1164160>
    - <ast.Constant object at 0x7fcfe1164130>
    - <ast.Constant object at 0x7fcfe1164100>
    - <ast.Constant object at 0x7fcfe11640d0>
    - <ast.Constant object at 0x7fcfe11640a0>
    argNames:
    - self
    - add_default_commands
    - create_app
    - add_version_option
    - load_dotenv
    - set_debug_flag
    - extra
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 466
    functionName: flask.cli.FlaskGroup.__init__
    functionSourceFile: flask.cli
    functionUses: 1
    functionsReached:
    - click.Group.add_command
    - <builtin>.list
    - extra.pop
    - params.append
    - click.Group.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: extra.pop
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: click.Group.add_command
    functionSourceFile: click
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 492
    functionName: flask.cli.FlaskGroup._load_plugin_commands
    functionSourceFile: flask.cli
    functionUses: 2
    functionsReached:
    - ep.load
    - importlib.metadata.entry_points
    - click.Group.add_command
    - importlib_metadata.entry_points
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: importlib.metadata.entry_points
    functionSourceFile: importlib
    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: importlib_metadata.entry_points
    functionSourceFile: importlib_metadata
    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: ep.load
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - ctx
    - name
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 509
    functionName: flask.cli.FlaskGroup.get_command
    functionSourceFile: flask.cli
    functionUses: 0
    functionsReached:
    - click.secho
    - click.Group.add_command
    - ctx.ensure_object
    - e.format_message
    - ep.load
    - <builtin>.super
    - importlib_metadata.entry_points
    - info.load_app
    - importlib.metadata.entry_points
    - flask.cli.FlaskGroup._load_plugin_commands
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: ctx.ensure_object
    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: info.load_app
    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.format_message
    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: click.secho
    functionSourceFile: click
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 4
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - ctx
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 527
    functionName: flask.cli.FlaskGroup.list_commands
    functionSourceFile: flask.cli
    functionUses: 0
    functionsReached:
    - click.secho
    - rv.update
    - <builtin>.sorted
    - click.Group.add_command
    - ctx.ensure_object
    - traceback.format_exc
    - e.format_message
    - ep.load
    - <builtin>.super
    - <builtin>.set
    - info.load_app
    - importlib_metadata.entry_points
    - importlib.metadata.entry_points
    - flask.cli.FlaskGroup._load_plugin_commands
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    IfCount: 2
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 548
    functionName: flask.cli.FlaskGroup.main
    functionSourceFile: flask.cli
    functionUses: 3
    functionsReached:
    - flask.cli.ScriptInfo.__init__
    - kwargs.setdefault
    - <builtin>.super
    - kwargs.get
    - os.environ.get
    - val.lower
    - flask.helpers.get_load_dotenv
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - path
    - other
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 570
    functionName: flask.cli._path_is_ancestor
    functionSourceFile: flask.cli
    functionUses: 0
    functionsReached:
    - <builtin>.len
    - os.path.join
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 3
    IfCount: 5
    argCount: 1
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe114ef40>
    argNames:
    - path
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 577
    functionName: flask.cli.load_dotenv
    functionSourceFile: flask.cli
    functionUses: 0
    functionsReached:
    - click.secho
    - dotenv.find_dotenv
    - dotenv.load_dotenv
    - os.path.isfile
    - os.path.dirname
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: dotenv.load_dotenv
    functionSourceFile: dotenv
    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: dotenv.find_dotenv
    functionSourceFile: dotenv
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 6
    IfCount: 5
    argCount: 4
    argDefaultValues: []
    argNames:
    - env
    - debug
    - app_import_path
    - eager_loading
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 636
    functionName: flask.cli.show_server_banner
    functionSourceFile: flask.cli
    functionUses: 1
    functionsReached:
    - click.secho
    - os.environ.get
    - click.echo
    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: 673
    functionName: flask.cli.CertParamType.__init__
    functionSourceFile: flask.cli
    functionUses: 1
    functionsReached:
    - click.Path
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: click.Path
    functionSourceFile: click
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - value
    - param
    - ctx
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 676
    functionName: flask.cli.CertParamType.convert
    functionSourceFile: flask.cli
    functionUses: 0
    functionsReached:
    - click.STRING
    - import_name.rsplit
    - werkzeug.utils.import_string
    - import_name.replace
    - <builtin>.globals
    - <builtin>.isinstance
    - <builtin>.__import__
    - <builtin>.getattr
    - <builtin>.locals
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: click.STRING
    functionSourceFile: click
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 1
    IfCount: 5
    argCount: 3
    argDefaultValues: []
    argNames:
    - ctx
    - param
    - value
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 711
    functionName: flask.cli._validate_key
    functionSourceFile: flask.cli
    functionUses: 0
    functionsReached:
    - ctx.params.get
    - <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: ctx.params.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: 4
    argDefaultValues: []
    argNames:
    - self
    - value
    - param
    - ctx
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 754
    functionName: flask.cli.SeparatedPathType.convert
    functionSourceFile: flask.cli
    functionUses: 0
    functionsReached:
    - click.Path.split_envvar_value
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: click.Path.split_envvar_value
    functionSourceFile: click
    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: click.command
    functionSourceFile: click
    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: click.option
    functionSourceFile: click
    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: click.Path.__init__
    functionSourceFile: ''
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: flask.cli.pass_script_info
    functionSourceFile: ''
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    IfCount: 2
    argCount: 10
    argDefaultValues: []
    argNames:
    - info
    - host
    - port
    - reload
    - debugger
    - eager_loading
    - with_threads
    - cert
    - extra_files
    - exclude_patterns
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 819
    functionName: flask.cli.run_command
    functionSourceFile: flask.cli
    functionUses: 0
    functionsReached:
    - sys.stdin.isatty
    - ctx.load_cert_chain
    - flask.cli.DispatchingApp._load_unlocked
    - host.startswith
    - socket.getaddrinfo
    - datetime.timedelta
    - werkzeug.serving.make_server
    - cryptography.hazmat.primitives.asymmetric.rsa.generate_private_key
    - reloader.run
    - sys.exit
    - <builtin>.str
    - <builtin>.int
    - werkzeug._internal._log
    - provider.get_resource_reader
    - werkzeug._internal._has_level_handler
    - atexit.register
    - <builtin>.any
    - pkgutil.get_loader
    - threading.Lock
    - click.get_current_context
    - <builtin>.super
    - datetime.datetime.now
    - os.write
    - werkzeug.serving.BaseWSGIServer.__init__
    - werkzeug.serving.is_running_from_reloader
    - click.secho
    - s.set_inheritable
    - werkzeug.serving.select_address_family
    - termios.tcgetattr
    - messages.append
    - http.server.HTTPServer.server_activate
    - flask.cli.show_server_banner
    - colorama.AnsiToWin32
    - cryptography.x509.NameAttribute
    - logger.getEffectiveLevel
    - ssl.SSLContext
    - flask.cli.DispatchingApp._load_in_background
    - logging.getLogger
    - s.connect
    - werkzeug._reloader.run_with_reloader
    - <builtin>.vars
    - secrets.choice
    - os.path.exists
    - pkey.public_key
    - cryptography.x509.SubjectAlternativeName
    - cryptography.hazmat.primitives.serialization.NoEncryption
    - werkzeug._reloader.ensure_echo_on
    - werkzeug.serving.prepare_socket
    - threading.Thread
    - werkzeug.serving.generate_adhoc_ssl_context
    - <builtin>.print
    - socket.fromfd
    - cryptography.x509.random_serial_number
    - flask.helpers.get_env
    - socket.socket
    - werkzeug.middleware.shared_data.SharedDataMiddleware.get_file_loader
    - reloader.restart_with_reloader
    - _logger.addHandler
    - <builtin>.hasattr
    - werkzeug.serving.ForkingWSGIServer.__init__
    - cryptography.hazmat.backends.default_backend
    - flask.cli.DispatchingApp.__init__
    - signal.signal
    - werkzeug.serving.BaseWSGIServer.log_startup
    - werkzeug.security.gen_salt
    - threading.Thread.start
    - t.start
    - click.echo
    - cert.public_bytes
    - werkzeug.serving.get_interface_ip
    - os.unlink
    - <builtin>.getattr
    - werkzeug._internal._ColorStreamHandler.__init__
    - _logger.setLevel
    - http.server.HTTPServer.server_close
    - pkey.private_bytes
    - http.server.HTTPServer.server_bind
    - tempfile.mkstemp
    - exports.items
    - werkzeug.serving.load_ssl_context
    - s.getsockname
    - os.path.isfile
    - message.rstrip
    - cryptography.x509.Name
    - werkzeug.debug.DebuggedApplication.__init__
    - werkzeug.serving.BaseWSGIServer.serve_forever
    - werkzeug.serving.get_sockaddr
    - werkzeug.middleware.shared_data.SharedDataMiddleware.get_directory_loader
    - host.split
    - cryptography.hazmat.primitives.hashes.SHA256
    - cryptography.x509.CertificateBuilder
    - werkzeug.middleware.shared_data.SharedDataMiddleware.__init__
    - werkzeug.serving.generate_adhoc_ssl_pair
    - werkzeug.serving.run_simple
    - os.close
    - s.setsockopt
    - s.listen
    - flask.helpers.get_debug_flag
    - typing.cast
    - ssl_context.wrap_socket
    - s.bind
    - <builtin>.isinstance
    - s.fileno
    - <builtin>.range
    - cryptography.x509.ExtendedKeyUsage
    - werkzeug.middleware.shared_data.SharedDataMiddleware.get_package_loader
    - os.environ.get
    - val.lower
    - termios.tcsetattr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    IfCount: 2
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 867
    functionName: flask.cli.shell_command
    functionSourceFile: flask.cli
    functionUses: 0
    functionsReached:
    - rlcompleter.Completer
    - ctx.update
    - readline.set_completer
    - <builtin>.eval
    - os.path.isfile
    - code.interact
    - <builtin>.open
    - app.make_shell_context
    - os.environ.get
    - <builtin>.getattr
    - f.read
    - <builtin>.compile
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: f.read
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.eval
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: app.make_shell_context
    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: ctx.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: rlcompleter.Completer
    functionSourceFile: rlcompleter
    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: readline.set_completer
    functionSourceFile: readline
    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: code.interact
    functionSourceFile: code
    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: click.Choice
    functionSourceFile: click
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 5
    IfCount: 3
    argCount: 2
    argDefaultValues: []
    argNames:
    - sort
    - all_methods
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 929
    functionName: flask.cli.routes_command
    functionSourceFile: flask.cli
    functionUses: 0
    functionsReached:
    - <builtin>.sorted
    - operator.attrgetter
    - <builtin>.list
    - row.format
    - current_app.url_map.iter_rules
    - <builtin>.max
    - <builtin>.zip
    - <builtin>.set
    - click.echo
    - <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: current_app.url_map.iter_rules
    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: operator.attrgetter
    functionSourceFile: operator
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: flask.cli.routes_command.<lambda1>
    functionSourceFile: flask.cli
    functionUses: 0
    functionsReached:
    - <builtin>.sorted
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: row.format
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 985
    functionName: flask.cli.main
    functionSourceFile: flask.cli
    functionUses: 2
    functionsReached:
    - flask.cli.ScriptInfo.__init__
    - flask.cli.FlaskGroup.main
    - kwargs.setdefault
    - <builtin>.super
    - kwargs.get
    - os.environ.get
    - val.lower
    - flask.helpers.get_load_dotenv
    linkageType: 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: flask.helpers
    functionSourceFile: flask.helpers
    functionUses: 0
    functionsReached:
    - functools.lru_cache
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - generator_or_function
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 64
    functionName: flask.helpers.stream_with_context
    functionSourceFile: flask.helpers
    functionUses: 1
    functionsReached:
    - <builtin>.next
    - flask.helpers.stream_with_context.generator
    - <builtin>.iter
    - gen.close
    - <builtin>.hasattr
    - functools.update_wrapper
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 106
    functionName: flask.helpers.stream_with_context.decorator
    functionSourceFile: flask.helpers
    functionUses: 0
    functionsReached:
    - <builtin>.next
    - flask.helpers.stream_with_context.generator
    - flask.helpers.stream_with_context
    - <builtin>.iter
    - gen.close
    - <builtin>.hasattr
    - functools.update_wrapper
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    IfCount: 2
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 112
    functionName: flask.helpers.stream_with_context.generator
    functionSourceFile: flask.helpers
    functionUses: 2
    functionsReached:
    - gen.close
    - <builtin>.hasattr
    linkageType: pythonLinkage
    raised:
    - RuntimeError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: gen.close
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - args
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 143
    functionName: flask.helpers.make_response
    functionSourceFile: flask.helpers
    functionUses: 6
    functionsReached:
    - <builtin>.len
    - current_app.make_response
    - current_app.response_class
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: current_app.make_response
    functionSourceFile: <builtin>
    functionUses: 7
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: values.pop
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: appctx.app.inject_url_defaults
    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: url_adapter.build
    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: appctx.app.handle_url_build_error
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - template_name
    - attribute
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 343
    functionName: flask.helpers.get_template_attribute
    functionSourceFile: flask.helpers
    functionUses: 0
    functionsReached:
    - current_app.jinja_env.get_template
    - <builtin>.getattr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: current_app.jinja_env.get_template
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 3
    IfCount: 0
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe2cb4760>
    argNames:
    - message
    - category
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 365
    functionName: flask.helpers.flash
    functionSourceFile: flask.helpers
    functionUses: 0
    functionsReached:
    - session.get
    - flashes.append
    - current_app._get_current_object
    - message_flashed.send
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: session.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: flashes.append
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: current_app._get_current_object
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: message_flashed.send
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 1
    IfCount: 3
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe3d28fa0>
    - <ast.Tuple object at 0x7fcfe3d28ee0>
    argNames:
    - with_categories
    - category_filter
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 397
    functionName: flask.helpers.get_flashed_messages
    functionSourceFile: flask.helpers
    functionUses: 0
    functionsReached:
    - session.pop
    - <builtin>.list
    - <builtin>.filter
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: session.pop
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: flask.helpers.get_flashed_messages.<lambda1>
    functionSourceFile: flask.helpers
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 4
    IfCount: 4
    argCount: 7
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe094ffa0>
    - <ast.Constant object at 0x7fcfe094ffd0>
    - <ast.Constant object at 0x7fcfe09b6fd0>
    - <ast.Constant object at 0x7fcfe09b6fa0>
    - <ast.Constant object at 0x7fcfe09b6f70>
    - <ast.Constant object at 0x7fcfe09b6f40>
    argNames:
    - download_name
    - attachment_filename
    - etag
    - add_etags
    - max_age
    - cache_timeout
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 440
    functionName: flask.helpers._prepare_send_file_kwargs
    functionSourceFile: flask.helpers
    functionUses: 3
    functionsReached:
    - kwargs.update
    - warnings.warn
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: kwargs.update
    functionSourceFile: <builtin>
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 11
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe09afe80>
    - <ast.Constant object at 0x7fcfe09afe50>
    - <ast.Constant object at 0x7fcfe09afe20>
    - <ast.Constant object at 0x7fcfe09afdf0>
    - <ast.Constant object at 0x7fcfe09afdc0>
    - <ast.Constant object at 0x7fcfe09afd90>
    - <ast.Constant object at 0x7fcfe09afd60>
    - <ast.Constant object at 0x7fcfe09afd30>
    - <ast.Constant object at 0x7fcfe09afd00>
    - <ast.Constant object at 0x7fcfe09afcd0>
    argNames:
    - path_or_file
    - mimetype
    - as_attachment
    - download_name
    - attachment_filename
    - conditional
    - etag
    - add_etags
    - last_modified
    - max_age
    - cache_timeout
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 8
    functionLinenumber: 494
    functionName: flask.helpers.send_file
    functionSourceFile: flask.helpers
    functionUses: 0
    functionsReached:
    - http.server.BaseHTTPRequestHandler.path.fragment.encode
    - <builtin>.enumerate
    - value.decode
    - werkzeug.datastructures.Headers._validate_value
    - http.server.BaseHTTPRequestHandler.path.query.encode
    - typing.NamedTuple.encode
    - warnings.warn
    - <builtin>.str
    - <builtin>.int
    - <builtin>.frozenset
    - options.items
    - typing.NamedTuple.fragment.encode
    - werkzeug.http.quote_header_value
    - typing.NamedTuple.path.encode
    - io.BytesIO.close
    - dict.items
    - safe.encode
    - rv.headers.pop
    - <builtin>.super
    - <builtin>.set
    - os.path.abspath
    - time.time
    - d.items
    - kw.items
    - io.BytesIO.getbuffer
    - mimetypes.guess_type
    - old_key.lower
    - path.encode
    - typing.NamedTuple.query.encode
    - werkzeug.datastructures.CombinedMultiDict.items
    - value.replace
    - werkzeug.datastructures._unicodify_header_value
    - segments.append
    - werkzeug.wrappers.response.Response.__init__
    - rv.append
    - <builtin>.iter
    - _key.lower
    - unsafe.encode
    - environ.get
    - os.stat
    - found.add
    - <builtin>.bytes
    - http.server.BaseHTTPRequestHandler.path.encode
    - werkzeug.datastructures.OrderedMultiDict.items
    - werkzeug.datastructures.iter_multi_items
    - werkzeug.datastructures.MultiDict.items
    - werkzeug.http.dump_options_header
    - <builtin>.hasattr
    - werkzeug.datastructures.Headers.extend
    - <builtin>.len
    - simple.encode
    - rv.extend
    - werkzeug.urls.BytesURL.encode_netloc
    - zlib.adler32
    - value.encode
    - typing.NamedTuple.__init__
    - k.replace
    - rv.set_etag
    - unicodedata.normalize
    - werkzeug.utils.send_file
    - <builtin>.callable
    - werkzeug.urls.BaseURL.encode_netloc
    - <builtin>.open
    - os.path.basename
    - os.path.join
    - werkzeug.datastructures.Headers.add
    - <builtin>.bytearray
    - werkzeug.wsgi.wrap_file
    - rv.make_conditional
    - download_name.encode
    - returned_keys.add
    - werkzeug.datastructures._options_header_vkw
    - werkzeug.datastructures.Headers.__init__
    - werkzeug.datastructures.Headers.set
    - werkzeug.wrappers.response.Response.set_data
    - typing.cast
    - typing.NamedTuple.scheme.encode
    - <builtin>.isinstance
    - <builtin>.filter
    - werkzeug.urls.url_quote
    - flask.helpers._prepare_send_file_kwargs
    - werkzeug.urls.URL.encode
    - kwargs.update
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe09a8ee0>
    - <ast.Constant object at 0x7fcfe09a8eb0>
    argNames:
    - self
    - fget
    - name
    - doc
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 739
    functionName: flask.helpers.locked_cached_property.__init__
    functionSourceFile: flask.helpers
    functionUses: 0
    functionsReached:
    - <builtin>.super
    - threading.RLock
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: threading.RLock
    functionSourceFile: threading
    functionUses: 1
    functionsReached: []
    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 0x7fcfe09a8a00>
    argNames:
    - self
    - obj
    - type
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 748
    functionName: flask.helpers.locked_cached_property.__get__
    functionSourceFile: flask.helpers
    functionUses: 0
    functionsReached:
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - obj
    - value
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 755
    functionName: flask.helpers.locked_cached_property.__set__
    functionSourceFile: flask.helpers
    functionUses: 0
    functionsReached:
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - obj
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 759
    functionName: flask.helpers.locked_cached_property.__delete__
    functionSourceFile: flask.helpers
    functionUses: 0
    functionsReached:
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: functools.lru_cache
    functionSourceFile: functools
    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: out.extend
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: flask.signals
    functionSourceFile: flask.signals
    functionUses: 0
    functionsReached:
    - blinker.Namespace
    - blinker.Namespace.signal
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe47ed700>
    argNames:
    - self
    - name
    - doc
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 11
    functionName: flask.signals.Namespace.signal
    functionSourceFile: flask.signals
    functionUses: 0
    functionsReached:
    - flask.signals._FakeSignal.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe3d285e0>
    argNames:
    - self
    - name
    - doc
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 21
    functionName: flask.signals._FakeSignal.__init__
    functionSourceFile: ''
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 25
    functionName: flask.signals._FakeSignal.send
    functionSourceFile: flask.signals
    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
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 28
    functionName: flask.signals._FakeSignal._fail
    functionSourceFile: flask.signals
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - RuntimeError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: blinker.Namespace
    functionSourceFile: blinker
    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: blinker.Namespace.signal
    functionSourceFile: blinker
    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: 3
    functionLinenumber: -1
    functionName: flask.globals
    functionSourceFile: flask.globals
    functionUses: 0
    functionsReached:
    - <builtin>.callable
    - contextvars.ContextVar
    - werkzeug.local.LocalProxy.__init__
    - werkzeug.local.LocalStack.__init__
    - werkzeug.local.Local.__init__
    - <builtin>.hasattr
    - object.__setattr__
    - functools.partial
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - name
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 30
    functionName: flask.globals._lookup_req_object
    functionSourceFile: flask.globals
    functionUses: 0
    functionsReached:
    - <builtin>.getattr
    linkageType: pythonLinkage
    raised:
    - RuntimeError
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - name
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 37
    functionName: flask.globals._lookup_app_object
    functionSourceFile: flask.globals
    functionUses: 0
    functionsReached:
    - <builtin>.getattr
    linkageType: pythonLinkage
    raised:
    - RuntimeError
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 44
    functionName: flask.globals._find_app
    functionSourceFile: flask.globals
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - RuntimeError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: flask_restx.errors
    functionSourceFile: flask_restx.errors
    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: flask.abort
    functionSourceFile: ''
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - msg
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 40
    functionName: flask_restx.errors.RestError.__init__
    functionSourceFile: flask_restx.errors
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 43
    functionName: flask_restx.errors.RestError.__str__
    functionSourceFile: flask_restx.errors
    functionUses: 0
    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: flask_restx._http
    functionSourceFile: flask_restx._http
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe106fc70>
    argNames:
    - cls
    - value
    - phrase
    - description
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 24
    functionName: flask_restx._http.HTTPStatus.__new__
    functionSourceFile: flask_restx._http
    functionUses: 0
    functionsReached:
    - int.__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: int.__new__
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 32
    functionName: flask_restx._http.HTTPStatus.__str__
    functionSourceFile: flask_restx._http
    functionUses: 0
    functionsReached:
    - <builtin>.str
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: flask_restx.model
    functionSourceFile: flask_restx.model
    functionUses: 0
    functionsReached:
    - re.compile
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - cls
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 23
    functionName: flask_restx.model.instance
    functionSourceFile: flask_restx.model
    functionUses: 1
    functionsReached:
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - name
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 37
    functionName: flask_restx.model.ModelBase.__init__
    functionSourceFile: flask_restx.model
    functionUses: 2
    functionsReached:
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - name
    - parents
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 43
    functionName: flask_restx.model.ModelBase.__init__.instance_inherit
    functionSourceFile: flask_restx.model
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 49
    functionName: flask_restx.model.ModelBase.ancestors
    functionSourceFile: flask_restx.model
    functionUses: 0
    functionsReached:
    - set.union
    - <builtin>.set
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: set.union
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 56
    functionName: flask_restx.model.ModelBase.get_parent
    functionSourceFile: flask_restx.model
    functionUses: 0
    functionsReached:
    - parent.get_parent
    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: parent.get_parent
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 67
    functionName: flask_restx.model.ModelBase.__schema__
    functionSourceFile: flask_restx.model
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - cls
    - name
    - parents
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 81
    functionName: flask_restx.model.ModelBase.inherit
    functionSourceFile: flask_restx.model
    functionUses: 1
    functionsReached:
    - <builtin>.super
    - flask_restx.model.ModelBase.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe2cb4bb0>
    - <ast.Constant object at 0x7fcfe2cb4850>
    argNames:
    - self
    - data
    - resolver
    - format_checker
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 91
    functionName: flask_restx.model.ModelBase.validate
    functionSourceFile: flask_restx.model
    functionUses: 0
    functionsReached:
    - RE_REQUIRED.match
    - jsonschema.Draft4Validator.validate
    - flask_restx.errors.abort
    - flask.abort
    - path.append
    - <builtin>.str
    - <builtin>.list
    - flask_restx.model.ModelBase.format_error
    - jsonschema.Draft4Validator.iter_errors
    - <builtin>.dict
    - jsonschema.Draft4Validator
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: jsonschema.Draft4Validator
    functionSourceFile: jsonschema
    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: jsonschema.Draft4Validator.validate
    functionSourceFile: jsonschema
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - error
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 104
    functionName: flask_restx.model.ModelBase.format_error
    functionSourceFile: flask_restx.model
    functionUses: 1
    functionsReached:
    - <builtin>.str
    - <builtin>.list
    - path.append
    - RE_REQUIRED.match
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: jsonschema.Draft4Validator.iter_errors
    functionSourceFile: jsonschema
    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_REQUIRED.match
    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: path.append
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 112
    functionName: flask_restx.model.ModelBase.__unicode__
    functionSourceFile: flask_restx.model
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - name
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 132
    functionName: flask_restx.model.RawModel.__init__
    functionSourceFile: flask_restx.model
    functionUses: 4
    functionsReached:
    - LEXER.findall
    - stack.pop
    - kwargs.pop
    - flask_restx.mask.Mask.clean
    - flask_restx.mask.Mask.parse
    - stack.append
    - flask_restx.mask.Mask.__init__
    - <builtin>.isinstance
    - <builtin>.super
    - collections.OrderedDict.replace
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - name
    - parents
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 139
    functionName: flask_restx.model.RawModel.__init__.instance_clone
    functionSourceFile: flask_restx.model
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 1
    IfCount: 3
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 145
    functionName: flask_restx.model.RawModel._schema
    functionSourceFile: flask_restx.model
    functionUses: 0
    functionsReached:
    - <builtin>.sorted
    - <builtin>.str
    - <builtin>.list
    - flask_restx.model.instance
    - <builtin>.isinstance
    - data.items
    - <builtin>.set
    - required.add
    - flask_restx.utils.not_none
    - <builtin>.getattr
    - <builtin>.dict
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: required.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: 1
    functionLinenumber: -1
    functionName: flask_restx.model.RawModel
    functionSourceFile: flask_restx.model
    functionUses: 0
    functionsReached:
    - werkzeug.utils.cached_property
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 171
    functionName: flask_restx.model.RawModel.resolved
    functionSourceFile: flask_restx.model
    functionUses: 0
    functionsReached:
    - copy.deepcopy
    - resolved.update
    - resolved.values
    - <builtin>.getattr
    - <builtin>.len
    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: resolved.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: resolved.values
    functionSourceFile: <builtin>
    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
    - name
    - fields
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 193
    functionName: flask_restx.model.RawModel.extend
    functionSourceFile: flask_restx.model
    functionUses: 1
    functionsReached:
    - LEXER.findall
    - copy.deepcopy
    - stack.pop
    - warnings.warn
    - kwargs.pop
    - flask_restx.mask.Mask.clean
    - flask_restx.mask.Mask.parse
    - stack.append
    - <builtin>.isinstance
    - flask_restx.mask.Mask.__init__
    - flask_restx.model.RawModel.__init__.instance_clone
    - <builtin>.super
    - flask_restx.model.RawModel.__init__
    - flask_restx.model.RawModel.clone
    - collections.OrderedDict.replace
    - fields.update
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - cls
    - name
    - parents
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 213
    functionName: flask_restx.model.RawModel.clone
    functionSourceFile: flask_restx.model
    functionUses: 3
    functionsReached:
    - LEXER.findall
    - copy.deepcopy
    - stack.pop
    - kwargs.pop
    - flask_restx.mask.Mask.clean
    - flask_restx.mask.Mask.parse
    - stack.append
    - <builtin>.isinstance
    - flask_restx.mask.Mask.__init__
    - <builtin>.super
    - flask_restx.model.RawModel.__init__
    - collections.OrderedDict.replace
    - fields.update
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: fields.update
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - memo
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 233
    functionName: flask_restx.model.RawModel.__deepcopy__
    functionSourceFile: flask_restx.model
    functionUses: 0
    functionsReached:
    - copy.deepcopy
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe46d7e50>
    argNames:
    - self
    - name
    - schema
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 276
    functionName: flask_restx.model.SchemaModel.__init__
    functionSourceFile: flask_restx.model
    functionUses: 1
    functionsReached:
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 280
    functionName: flask_restx.model.SchemaModel.__unicode__
    functionSourceFile: flask_restx.model
    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: flask_restx
    functionSourceFile: flask_restx
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: flask_restx.api
    functionSourceFile: flask_restx.api
    functionUses: 0
    functionsReached:
    - re.compile
    - werkzeug_version.split
    - logging.getLogger
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: werkzeug_version.split
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 29
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe2ba68e0>
    - <ast.Constant object at 0x7fcfe2ba68b0>
    - <ast.Constant object at 0x7fcfe2ba6880>
    - <ast.Constant object at 0x7fcfe2ba6850>
    - <ast.Constant object at 0x7fcfe2ba6820>
    - <ast.Constant object at 0x7fcfe2ba67f0>
    - <ast.Constant object at 0x7fcfe2ba67c0>
    - <ast.Constant object at 0x7fcfe2ba6790>
    - <ast.Constant object at 0x7fcfe2ba6760>
    - <ast.Constant object at 0x7fcfe2ba6730>
    - <ast.Constant object at 0x7fcfe2ba6700>
    - <ast.Constant object at 0x7fcfe2ba66d0>
    - <ast.Constant object at 0x7fcfe2ba66a0>
    - <ast.Name object at 0x7fcfe2ba6670>
    - <ast.Constant object at 0x7fcfe2ba6640>
    - <ast.Constant object at 0x7fcfe2ba6610>
    - <ast.Constant object at 0x7fcfe2ba65e0>
    - <ast.Constant object at 0x7fcfe2ba65b0>
    - <ast.Constant object at 0x7fcfe2ba6580>
    - <ast.Constant object at 0x7fcfe2ba6550>
    - <ast.Constant object at 0x7fcfe2ba6520>
    - <ast.Constant object at 0x7fcfe2ba64f0>
    - <ast.Constant object at 0x7fcfe2ba64c0>
    - <ast.Constant object at 0x7fcfe2ba6490>
    - <ast.Constant object at 0x7fcfe2ba6460>
    - <ast.Constant object at 0x7fcfe2ba6430>
    - <ast.Constant object at 0x7fcfe2ba6400>
    argNames:
    - self
    - app
    - version
    - title
    - description
    - terms_url
    - license
    - license_url
    - contact
    - contact_url
    - contact_email
    - authorizations
    - security
    - doc
    - default_id
    - default
    - default_label
    - validate
    - tags
    - prefix
    - ordered
    - default_mediatype
    - decorators
    - catch_all_404s
    - serve_challenge_on_401
    - format_checker
    - url_scheme
    - default_swagger_filename
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 109
    functionName: flask_restx.api.Api.__init__
    functionSourceFile: flask_restx.api
    functionUses: 0
    functionsReached:
    - ALL_CAP_RE.sub
    - flask_restx.api.Api.add_namespace
    - FIRST_CAP_RE.sub
    - flask_restx.api.Api.register_resource
    - flask_restx.api.Api.ns_urls
    - app.record
    - flask_restx.api.Api._register_doc
    - flask_restx.api.Api._register_view
    - flask_restx.namespace.Namespace.__init__
    - ns.models.items
    - functools.wraps
    - flask_restx.api.Api.init_app
    - flask_restx.api.Api.namespace
    - <builtin>.len
    - <builtin>.dict
    - flask_restx.api.Api._register_apidoc
    - itertools.chain
    - namespace.logger.setLevel
    - flask_restx.api.Api.output
    - app.extensions.setdefault
    - flask_restx.api.Api._complete_url
    - logging.getLogger
    - flask_restx.api.Api.mediatypes_method
    - app.config.setdefault
    - functools.partial
    - warnings.warn
    - kwargs.pop
    - <builtin>.str
    - app.register_blueprint
    - flask_restx.api.Api._register_specs
    - flask_restx.api.Api.get_ns_path
    - <builtin>.getattr
    - ns.apis.append
    - flask_restx.utils.camel_to_dash
    - collections.OrderedDict
    - flask.views.View.as_view
    - app_or_blueprint.add_url_rule
    - flask_restx.api.Api._configure_namespace_logger
    - app.config.get
    - <builtin>.set
    - namespace.logger.addHandler
    - kwargs.get
    - app.add_url_rule
    - flask_restx.api.Api._init_app
    - flask_restx.api.Api.default_endpoint
    - conf.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 515
    functionName: flask_restx.api.Api.namespace
    functionSourceFile: flask_restx.api
    functionUses: 1
    functionsReached:
    - ALL_CAP_RE.sub
    - flask_restx.api.Api.add_namespace
    - FIRST_CAP_RE.sub
    - flask_restx.api.Api.register_resource
    - flask_restx.api.Api.ns_urls
    - flask_restx.api.Api._register_view
    - flask_restx.namespace.Namespace.__init__
    - ns.models.items
    - functools.wraps
    - itertools.chain
    - namespace.logger.setLevel
    - flask_restx.api.Api.output
    - flask_restx.api.Api._complete_url
    - logging.getLogger
    - flask_restx.api.Api.mediatypes_method
    - functools.partial
    - kwargs.pop
    - <builtin>.str
    - flask_restx.api.Api.get_ns_path
    - <builtin>.getattr
    - ns.apis.append
    - flask_restx.utils.camel_to_dash
    - collections.OrderedDict
    - flask.views.View.as_view
    - flask_restx.api.Api._configure_namespace_logger
    - namespace.logger.addHandler
    - kwargs.get
    - app.add_url_rule
    - flask_restx.api.Api.default_endpoint
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 5
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - app
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 202
    functionName: flask_restx.api.Api.init_app
    functionSourceFile: flask_restx.api
    functionUses: 1
    functionsReached:
    - ALL_CAP_RE.sub
    - FIRST_CAP_RE.sub
    - app.record
    - flask_restx.api.Api._register_doc
    - flask_restx.api.Api._register_view
    - functools.wraps
    - <builtin>.len
    - flask_restx.api.Api._register_apidoc
    - itertools.chain
    - namespace.logger.setLevel
    - app.extensions.setdefault
    - flask_restx.api.Api._complete_url
    - flask_restx.api.Api.mediatypes_method
    - app.config.setdefault
    - functools.partial
    - warnings.warn
    - kwargs.pop
    - <builtin>.str
    - app.register_blueprint
    - flask_restx.api.Api._register_specs
    - <builtin>.getattr
    - flask_restx.utils.camel_to_dash
    - app_or_blueprint.add_url_rule
    - flask.views.View.as_view
    - flask_restx.api.Api._configure_namespace_logger
    - app.config.get
    - namespace.logger.addHandler
    - kwargs.get
    - app.add_url_rule
    - flask_restx.api.Api._init_app
    - flask_restx.api.Api.output
    - conf.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - app_or_blueprint
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 305
    functionName: flask_restx.api.Api._register_specs
    functionSourceFile: flask_restx.api
    functionUses: 2
    functionsReached:
    - ALL_CAP_RE.sub
    - itertools.chain
    - FIRST_CAP_RE.sub
    - flask.views.View.as_view
    - kwargs.pop
    - <builtin>.str
    - flask_restx.api.Api._complete_url
    - flask_restx.api.Api._register_view
    - <builtin>.getattr
    - flask_restx.api.Api.mediatypes_method
    - functools.wraps
    - app.add_url_rule
    - flask_restx.utils.camel_to_dash
    - flask_restx.api.Api.output
    - functools.partial
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - app_or_blueprint
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 318
    functionName: flask_restx.api.Api._register_doc
    functionSourceFile: flask_restx.api
    functionUses: 2
    functionsReached:
    - app_or_blueprint.add_url_rule
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: app.record
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - app
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 244
    functionName: flask_restx.api.Api._init_app
    functionSourceFile: flask_restx.api
    functionUses: 3
    functionsReached:
    - ALL_CAP_RE.sub
    - FIRST_CAP_RE.sub
    - flask_restx.api.Api._register_view
    - functools.wraps
    - <builtin>.len
    - flask_restx.api.Api._register_apidoc
    - app.extensions.setdefault
    - namespace.logger.setLevel
    - itertools.chain
    - flask_restx.api.Api._complete_url
    - flask_restx.api.Api.mediatypes_method
    - app.config.setdefault
    - functools.partial
    - warnings.warn
    - kwargs.pop
    - app.register_blueprint
    - <builtin>.getattr
    - flask_restx.utils.camel_to_dash
    - flask.views.View.as_view
    - flask_restx.api.Api._configure_namespace_logger
    - app.config.get
    - namespace.logger.addHandler
    - app.add_url_rule
    - flask_restx.api.Api.output
    - conf.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 2
    IfCount: 4
    argCount: 6
    argDefaultValues: []
    argNames:
    - self
    - app
    - resource
    - namespace
    - urls
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 342
    functionName: flask_restx.api.Api._register_view
    functionSourceFile: flask_restx.api
    functionUses: 8
    functionsReached:
    - ALL_CAP_RE.sub
    - itertools.chain
    - FIRST_CAP_RE.sub
    - flask.views.View.as_view
    - kwargs.pop
    - flask_restx.api.Api._complete_url
    - <builtin>.getattr
    - flask_restx.api.Api.mediatypes_method
    - functools.wraps
    - app.add_url_rule
    - flask_restx.utils.camel_to_dash
    - flask_restx.api.Api.output
    - functools.partial
    linkageType: pythonLinkage
    raised:
    - ValueError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - app
    - namespace
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 337
    functionName: flask_restx.api.Api._configure_namespace_logger
    functionSourceFile: flask_restx.api
    functionUses: 6
    functionsReached:
    - namespace.logger.addHandler
    - namespace.logger.setLevel
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - app
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 299
    functionName: flask_restx.api.Api._register_apidoc
    functionSourceFile: flask_restx.api
    functionUses: 4
    functionsReached:
    - app.extensions.setdefault
    - app.register_blueprint
    - conf.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: app.config.setdefault
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 281
    functionName: flask_restx.api.Api.__getattr__
    functionSourceFile: flask_restx.api
    functionUses: 0
    functionsReached:
    - <builtin>.getattr
    linkageType: pythonLinkage
    raised:
    - AttributeError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - url_part
    - registration_prefix
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 287
    functionName: flask_restx.api.Api._complete_url
    functionSourceFile: flask_restx.api
    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: app.extensions.setdefault
    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: conf.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: app.register_blueprint
    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: app_or_blueprint.add_url_rule
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 5
    argDefaultValues: []
    argNames:
    - self
    - namespace
    - resource
    - urls
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 324
    functionName: flask_restx.api.Api.register_resource
    functionSourceFile: flask_restx.api
    functionUses: 3
    functionsReached:
    - ALL_CAP_RE.sub
    - itertools.chain
    - flask_restx.api.Api.default_endpoint
    - FIRST_CAP_RE.sub
    - flask.views.View.as_view
    - kwargs.pop
    - <builtin>.str
    - flask_restx.api.Api._complete_url
    - flask_restx.api.Api._register_view
    - <builtin>.getattr
    - flask_restx.api.Api.mediatypes_method
    - functools.wraps
    - app.add_url_rule
    - flask_restx.utils.camel_to_dash
    - flask_restx.api.Api.output
    - functools.partial
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 1
    IfCount: 3
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - resource
    - namespace
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 458
    functionName: flask_restx.api.Api.default_endpoint
    functionSourceFile: flask_restx.api
    functionUses: 4
    functionsReached:
    - ALL_CAP_RE.sub
    - flask_restx.utils.camel_to_dash
    - FIRST_CAP_RE.sub
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: namespace.logger.addHandler
    functionSourceFile: <builtin>
    functionUses: 7
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: namespace.logger.setLevel
    functionSourceFile: <builtin>
    functionUses: 7
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 890
    functionName: flask_restx.api.Api.mediatypes_method
    functionSourceFile: ''
    functionUses: 9
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 4
    argDefaultValues: []
    argNames:
    - cls
    - name
    - class_args
    - class_kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 70
    functionName: flask.views.View.as_view
    functionSourceFile: ''
    functionUses: 9
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - resource
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 394
    functionName: flask_restx.api.Api.output
    functionSourceFile: flask_restx.api
    functionUses: 9
    functionsReached:
    - functools.wraps
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: app.add_url_rule
    functionSourceFile: <builtin>
    functionUses: 9
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 403
    functionName: flask_restx.api.Api.output.wrapper
    functionSourceFile: flask_restx.api
    functionUses: 0
    functionsReached:
    - flask.helpers.make_response
    - <builtin>.str
    - kwargs.pop
    - current_app.ensure_sync
    - <builtin>.isinstance
    - flask_restx.api.Api.make_response
    - flask.views.View.as_view.view
    - current_app.make_response
    - <builtin>.len
    - flask_restx.utils.unpack
    - current_app.response_class
    - request.accept_mimetypes.best_match
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 82
    functionName: flask.views.View.as_view.view
    functionSourceFile: flask.views
    functionUses: 1
    functionsReached:
    - current_app.ensure_sync
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 1
    IfCount: 3
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - data
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 412
    functionName: flask_restx.api.Api.make_response
    functionSourceFile: flask_restx.api
    functionUses: 3
    functionsReached:
    - kwargs.pop
    - <builtin>.str
    - flask.helpers.make_response
    - current_app.make_response
    - <builtin>.len
    - current_app.response_class
    - request.accept_mimetypes.best_match
    linkageType: pythonLinkage
    raised:
    - NotAcceptable
    - InternalServerError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: request.accept_mimetypes.best_match
    functionSourceFile: <builtin>
    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
    - func
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 442
    functionName: flask_restx.api.Api.documentation
    functionSourceFile: flask_restx.api
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 447
    functionName: flask_restx.api.Api.render_root
    functionSourceFile: flask_restx.api
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 450
    functionName: flask_restx.api.Api.render_doc
    functionSourceFile: flask_restx.api
    functionUses: 0
    functionsReached:
    - apidoc.ui_for
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: apidoc.ui_for
    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
    - ns
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 483
    functionName: flask_restx.api.Api.get_ns_path
    functionSourceFile: flask_restx.api
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - ns
    - urls
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 486
    functionName: flask_restx.api.Api.ns_urls
    functionSourceFile: flask_restx.api
    functionUses: 5
    functionsReached:
    - flask_restx.api.Api.get_ns_path
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 5
    IfCount: 4
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe2b92f70>
    argNames:
    - self
    - ns
    - path
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 490
    functionName: flask_restx.api.Api.add_namespace
    functionSourceFile: flask_restx.api
    functionUses: 2
    functionsReached:
    - ALL_CAP_RE.sub
    - FIRST_CAP_RE.sub
    - flask_restx.api.Api.register_resource
    - flask_restx.api.Api.ns_urls
    - flask_restx.api.Api._register_view
    - ns.models.items
    - functools.wraps
    - itertools.chain
    - namespace.logger.setLevel
    - flask_restx.api.Api.output
    - flask_restx.api.Api._complete_url
    - flask_restx.api.Api.mediatypes_method
    - functools.partial
    - kwargs.pop
    - <builtin>.str
    - flask_restx.api.Api.get_ns_path
    - <builtin>.getattr
    - ns.apis.append
    - flask_restx.utils.camel_to_dash
    - flask.views.View.as_view
    - flask_restx.api.Api._configure_namespace_logger
    - namespace.logger.addHandler
    - app.add_url_rule
    - flask_restx.api.Api.default_endpoint
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: ns.apis.append
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: ns.models.items
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 9
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe1c1ff70>
    - <ast.Constant object at 0x7fcfe1c1ff40>
    - <ast.Constant object at 0x7fcfe1c1ff10>
    - <ast.Constant object at 0x7fcfe1c1fee0>
    - <ast.Constant object at 0x7fcfe1c1feb0>
    - <ast.Constant object at 0x7fcfe1c1fe80>
    argNames:
    - self
    - name
    - description
    - path
    - decorators
    - validate
    - authorizations
    - ordered
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 35
    functionName: flask_restx.namespace.Namespace.__init__
    functionSourceFile: flask_restx.namespace
    functionUses: 2
    functionsReached:
    - collections.OrderedDict
    - logging.getLogger
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 526
    functionName: flask_restx.api.Api.endpoint
    functionSourceFile: flask_restx.api
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 533
    functionName: flask_restx.api.Api.specs_url
    functionSourceFile: flask_restx.api
    functionUses: 0
    functionsReached:
    - flask_restx.api.Api.url_for
    - flask_restx.api.Api.endpoint
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - resource
    - values
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 942
    functionName: flask_restx.api.Api.url_for
    functionSourceFile: flask_restx.api
    functionUses: 3
    functionsReached:
    - flask_restx.api.Api.url_for
    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: 2
    functionLinenumber: 547
    functionName: flask_restx.api.Api.base_url
    functionSourceFile: flask_restx.api
    functionUses: 0
    functionsReached:
    - flask_restx.api.Api.url_for
    - flask_restx.api.Api.endpoint
    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: 2
    functionLinenumber: 556
    functionName: flask_restx.api.Api.base_path
    functionSourceFile: flask_restx.api
    functionUses: 0
    functionsReached:
    - flask_restx.api.Api.url_for
    - flask_restx.api.Api.endpoint
    linkageType: 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: flask_restx.api.Api
    functionSourceFile: flask_restx.api
    functionUses: 0
    functionsReached:
    - werkzeug.utils.cached_property
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 7
    functionLinenumber: 565
    functionName: flask_restx.api.Api.__schema__
    functionSourceFile: flask_restx.api
    functionUses: 0
    functionsReached:
    - RE_URL.sub
    - header.get
    - flask_restx.swagger.Swagger.process_headers
    - method_doc.get
    - data.items
    - <builtin>.dict
    - inspect.getdoc.strip
    - flask_restx.swagger.Swagger.expected_params
    - <builtin>.str
    - field.mapping.values
    - up_params.items
    - <builtin>.any
    - specs.values
    - urllib.parse.quote
    - RE_RAISES.finditer
    - flask_restx.swagger.Swagger.security_requirement
    - flask_restx.swagger.Swagger.security_requirements
    - flask_restx.swagger.Swagger.serialize_definitions
    - <builtin>.set
    - flask_restx.utils.not_none
    - param.get
    - flask_restx.swagger.Swagger.register_model
    - flask_restx.api.Api.ns_urls
    - collections.OrderedDict.update
    - flask_restx.swagger.Swagger.security_for
    - itertools.chain
    - <builtin>.list
    - <builtin>.issubclass
    - <builtin>.all
    - flask_restx.utils.default_id
    - <builtin>.sorted
    - flask_restx.api.Api.get_ns_path
    - m.end
    - flask_restx.swagger.Swagger.register_errors
    - <builtin>.type
    - collections.OrderedDict
    - flask_restx.swagger.Swagger.serialize_schema
    - tags.append
    - value.items
    - flask_restx.swagger.Swagger.parameters_for
    - flask_restx.swagger._v
    - flask_restx.swagger._clean_header
    - details.replace
    - p.get
    - ALL_CAP_RE.sub
    - collections.OrderedDict.keys
    - DEFAULT_RESPONSE.copy
    - FIRST_CAP_RE.sub
    - match.group
    - flask_restx.utils.merge
    - <builtin>.hasattr
    - <builtin>.len
    - PY_TYPES.get
    - flask_restx.swagger.Swagger.operation_id_for
    - log.exception
    - flask_restx.swagger.Swagger.extract_tags
    - error_responses.keys
    - m.groupdict
    - flask_restx.swagger.extract_path
    - inspect.getdoc
    - flask_restx.swagger.Swagger.responses_for
    - flask_restx.swagger.parse_docstring
    - flask_restx.swagger.is_hidden
    - d.get
    - inspect.getdoc.replace
    - flask_restx.swagger.ref
    - k.startswith
    - <builtin>.getattr
    - m.lower
    - header.update
    - copy.deepcopy.get
    - flask_restx.utils.camel_to_dash
    - copy.deepcopy.items
    - <builtin>.callable
    - flask_restx.swagger.Swagger.as_dict
    - flask_restx.swagger.Swagger.register_field
    - parts.append
    - kwargs.get
    - inspect.isclass
    - used_names.add
    - flask_restx.swagger.Swagger.serialize_resource
    - collections.OrderedDict.get
    - params.append
    - flask_restx.swagger.Swagger.serialize_operation
    - flask_restx.swagger.Swagger.__init__
    - flask_restx.swagger.Swagger.get_host
    - need_to_go_down.add
    - flask_restx.utils.not_none_sorted
    - copy.deepcopy
    - flask_restx.swagger.Swagger.vendor_fields
    - current_app.config.get
    - flask_restx.swagger.Swagger.extract_resource_doc
    - operation.update
    - flask_restx.swagger.build_request_body_parameters_schema
    - <builtin>.isinstance
    - flask_restx.swagger.extract_path_params
    - flask_restx.swagger.parse_rule
    - flask_restx.swagger.Swagger.description_for
    - collections.OrderedDict.items
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - api
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 232
    functionName: flask_restx.swagger.Swagger.__init__
    functionSourceFile: ''
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 9
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 14
    ICount: 2
    IfCount: 9
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 236
    functionName: flask_restx.swagger.Swagger.as_dict
    functionSourceFile: flask_restx.swagger
    functionUses: 1
    functionsReached:
    - RE_URL.sub
    - header.get
    - flask_restx.swagger.Swagger.process_headers
    - method_doc.get
    - data.items
    - <builtin>.dict
    - inspect.getdoc.strip
    - flask_restx.swagger.Swagger.expected_params
    - <builtin>.str
    - field.mapping.values
    - up_params.items
    - <builtin>.any
    - specs.values
    - urllib.parse.quote
    - flask_restx.swagger.Swagger.security_requirement
    - RE_RAISES.finditer
    - flask_restx.swagger.Swagger.security_requirements
    - flask_restx.swagger.Swagger.serialize_definitions
    - <builtin>.set
    - flask_restx.utils.not_none
    - param.get
    - flask_restx.swagger.Swagger.register_model
    - flask_restx.api.Api.ns_urls
    - collections.OrderedDict.update
    - flask_restx.swagger.Swagger.security_for
    - itertools.chain
    - <builtin>.list
    - <builtin>.issubclass
    - <builtin>.all
    - flask_restx.utils.default_id
    - <builtin>.sorted
    - flask_restx.api.Api.get_ns_path
    - m.end
    - flask_restx.swagger.Swagger.register_errors
    - <builtin>.type
    - collections.OrderedDict
    - flask_restx.swagger.Swagger.serialize_schema
    - value.items
    - tags.append
    - flask_restx.swagger.Swagger.parameters_for
    - flask_restx.swagger._v
    - flask_restx.swagger._clean_header
    - details.replace
    - p.get
    - ALL_CAP_RE.sub
    - collections.OrderedDict.keys
    - DEFAULT_RESPONSE.copy
    - FIRST_CAP_RE.sub
    - match.group
    - flask_restx.utils.merge
    - <builtin>.hasattr
    - <builtin>.len
    - PY_TYPES.get
    - flask_restx.swagger.Swagger.operation_id_for
    - flask_restx.swagger.Swagger.extract_tags
    - error_responses.keys
    - m.groupdict
    - flask_restx.swagger.extract_path
    - inspect.getdoc
    - flask_restx.swagger.Swagger.responses_for
    - flask_restx.swagger.parse_docstring
    - flask_restx.swagger.is_hidden
    - d.get
    - inspect.getdoc.replace
    - flask_restx.swagger.ref
    - k.startswith
    - <builtin>.getattr
    - m.lower
    - header.update
    - copy.deepcopy.get
    - flask_restx.utils.camel_to_dash
    - copy.deepcopy.items
    - <builtin>.callable
    - flask_restx.swagger.Swagger.register_field
    - parts.append
    - kwargs.get
    - inspect.isclass
    - used_names.add
    - flask_restx.swagger.Swagger.serialize_resource
    - collections.OrderedDict.get
    - params.append
    - flask_restx.swagger.Swagger.serialize_operation
    - flask_restx.swagger.Swagger.get_host
    - need_to_go_down.add
    - flask_restx.utils.not_none_sorted
    - copy.deepcopy
    - flask_restx.swagger.Swagger.vendor_fields
    - current_app.config.get
    - flask_restx.swagger.Swagger.extract_resource_doc
    - operation.update
    - flask_restx.swagger.build_request_body_parameters_schema
    - <builtin>.isinstance
    - flask_restx.swagger.extract_path_params
    - flask_restx.swagger.parse_rule
    - flask_restx.swagger.Swagger.description_for
    - collections.OrderedDict.items
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: log.exception
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 583
    functionName: flask_restx.api.Api._own_and_child_error_handlers
    functionSourceFile: flask_restx.api
    functionUses: 0
    functionsReached:
    - collections.OrderedDict
    - collections.OrderedDict.update
    - ns.error_handlers.items
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: collections.OrderedDict.update
    functionSourceFile: collections
    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: ns.error_handlers.items
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - exception
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 591
    functionName: flask_restx.api.Api.errorhandler
    functionSourceFile: flask_restx.api
    functionUses: 0
    functionsReached:
    - inspect.isclass
    - <builtin>.issubclass
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - func
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 595
    functionName: flask_restx.api.Api.errorhandler.wrapper
    functionSourceFile: flask_restx.api
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - endpoint
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 605
    functionName: flask_restx.api.Api.owns_endpoint
    functionSourceFile: flask_restx.api
    functionUses: 3
    functionsReached:
    - endpoint.split
    - endpoint.startswith
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: endpoint.startswith
    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: endpoint.split
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 621
    functionName: flask_restx.api.Api._should_use_fr_error_handler
    functionSourceFile: flask_restx.api
    functionUses: 2
    functionsReached:
    - current_app.create_url_adapter
    - adapter.match
    - endpoint.split
    - endpoint.startswith
    - flask_restx.api.Api.owns_endpoint
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: current_app.create_url_adapter
    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: adapter.match
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 646
    functionName: flask_restx.api.Api._has_fr_route
    functionSourceFile: flask_restx.api
    functionUses: 1
    functionsReached:
    - flask_restx.api.Api._should_use_fr_error_handler
    - current_app.create_url_adapter
    - adapter.match
    - endpoint.split
    - endpoint.startswith
    - flask_restx.api.Api.owns_endpoint
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - original_handler
    - e
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 8
    functionLinenumber: 656
    functionName: flask_restx.api.Api.error_router
    functionSourceFile: flask_restx.api
    functionUses: 0
    functionsReached:
    - werkzeug.datastructures.Headers.add
    - collections.OrderedDict.keys
    - key.lower
    - werkzeug.http.dump_options_header
    - flask.helpers.make_response
    - current_app.create_url_adapter
    - adapter.match
    - flask_restx.api.Api.handle_error
    - werkzeug.datastructures.Headers.extend
    - <builtin>.len
    - d.items
    - flask_restx.utils.unpack
    - flask_restx.api.Api._has_fr_route
    - kw.items
    - current_app.response_class
    - value.decode
    - message.rstrip
    - default_data.get
    - <builtin>.dict
    - werkzeug.datastructures.Headers._validate_value
    - werkzeug.datastructures.Headers.remove
    - <builtin>.list
    - rules.keys
    - werkzeug.datastructures.CombinedMultiDict.items
    - sys.exc_info
    - current_app.url_map.iter_rules
    - value.replace
    - current_app.log_exception
    - flask_restx.api.Api.unauthorized
    - werkzeug.datastructures._unicodify_header_value
    - request.accept_mimetypes.best_match
    - current_app.config.get
    - segments.append
    - k.replace
    - flask_restx.api.Api._propagate_exceptions
    - kwargs.pop
    - <builtin>.str
    - difflib.get_close_matches
    - werkzeug.datastructures.Headers.pop
    - data.get
    - endpoint.split
    - werkzeug.datastructures.Headers.__delitem__
    - options.items
    - current_app.make_response
    - returned_keys.add
    - werkzeug.datastructures.Headers.__init__
    - werkzeug.datastructures._options_header_vkw
    - endpoint.startswith
    - <builtin>.getattr
    - k.lower
    - new.append
    - werkzeug.http.quote_header_value
    - found.add
    - flask_restx.api.Api._should_use_fr_error_handler
    - dict.items
    - <builtin>.isinstance
    - RE_RULES.sub
    - flask_restx.api.Api.make_response
    - werkzeug.datastructures.OrderedMultiDict.items
    - <builtin>.set
    - werkzeug.datastructures.iter_multi_items
    - flask_restx.api.Api.owns_endpoint
    - werkzeug.datastructures.MultiDict.items
    - flask_restx.api.Api._help_on_404
    - <builtin>.tuple
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 9
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 14
    ICount: 3
    IfCount: 9
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - e
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 7
    functionLinenumber: 688
    functionName: flask_restx.api.Api.handle_error
    functionSourceFile: flask_restx.api
    functionUses: 1
    functionsReached:
    - werkzeug.datastructures.Headers.add
    - collections.OrderedDict.keys
    - key.lower
    - werkzeug.http.dump_options_header
    - flask.helpers.make_response
    - werkzeug.datastructures.Headers.extend
    - d.items
    - <builtin>.len
    - flask_restx.utils.unpack
    - kw.items
    - default_data.get
    - <builtin>.dict
    - current_app.response_class
    - value.decode
    - message.rstrip
    - werkzeug.datastructures.Headers._validate_value
    - werkzeug.datastructures.Headers.remove
    - <builtin>.list
    - rules.keys
    - werkzeug.datastructures.CombinedMultiDict.items
    - sys.exc_info
    - current_app.url_map.iter_rules
    - value.replace
    - current_app.log_exception
    - flask_restx.api.Api.unauthorized
    - werkzeug.datastructures._unicodify_header_value
    - request.accept_mimetypes.best_match
    - current_app.config.get
    - segments.append
    - k.replace
    - flask_restx.api.Api._propagate_exceptions
    - kwargs.pop
    - <builtin>.str
    - difflib.get_close_matches
    - werkzeug.datastructures.Headers.pop
    - data.get
    - werkzeug.datastructures.Headers.__delitem__
    - options.items
    - current_app.make_response
    - returned_keys.add
    - werkzeug.datastructures.Headers.__init__
    - werkzeug.datastructures._options_header_vkw
    - <builtin>.getattr
    - k.lower
    - new.append
    - werkzeug.http.quote_header_value
    - found.add
    - dict.items
    - <builtin>.isinstance
    - RE_RULES.sub
    - flask_restx.api.Api.make_response
    - werkzeug.datastructures.OrderedMultiDict.items
    - <builtin>.set
    - werkzeug.datastructures.iter_multi_items
    - werkzeug.datastructures.MultiDict.items
    - flask_restx.api.Api._help_on_404
    - <builtin>.tuple
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 676
    functionName: flask_restx.api.Api._propagate_exceptions
    functionSourceFile: flask_restx.api
    functionUses: 2
    functionsReached:
    - current_app.config.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: default_data.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: current_app.log_exception
    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: data.get
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe348c670>
    argNames:
    - self
    - message
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 786
    functionName: flask_restx.api.Api._help_on_404
    functionSourceFile: flask_restx.api
    functionUses: 2
    functionsReached:
    - rules.keys
    - difflib.get_close_matches
    - current_app.url_map.iter_rules
    - RE_RULES.sub
    - <builtin>.dict
    - message.rstrip
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - response
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 932
    functionName: flask_restx.api.Api.unauthorized
    functionSourceFile: flask_restx.api
    functionUses: 2
    functionsReached:
    - current_app.config.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: RE_RULES.sub
    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: rules.keys
    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: difflib.get_close_matches
    functionSourceFile: difflib
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe3480850>
    - <ast.Constant object at 0x7fcfe3480820>
    argNames:
    - self
    - urlvars
    - swagger
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 808
    functionName: flask_restx.api.Api.as_postman
    functionSourceFile: flask_restx.api
    functionUses: 0
    functionsReached:
    - f.as_dict
    - flask_restx.postman.clean
    - time.time
    - flask_restx.postman.PostmanCollectionV1.__init__
    - flask_restx.postman.PostmanCollectionV1.as_dict
    - <builtin>.int
    - data.items
    - r.as_dict
    - <builtin>.dict
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe113eaf0>
    argNames:
    - self
    - api
    - swagger
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 144
    functionName: flask_restx.postman.PostmanCollectionV1.__init__
    functionSourceFile: ''
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe3c47f40>
    argNames:
    - self
    - urlvars
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 191
    functionName: flask_restx.postman.PostmanCollectionV1.as_dict
    functionSourceFile: flask_restx.postman
    functionUses: 1
    functionsReached:
    - f.as_dict
    - flask_restx.postman.clean
    - time.time
    - <builtin>.int
    - data.items
    - r.as_dict
    - <builtin>.dict
    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: 819
    functionName: flask_restx.api.Api.payload
    functionSourceFile: flask_restx.api
    functionUses: 0
    functionsReached:
    - request.get_json
    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: 824
    functionName: flask_restx.api.Api.refresolver
    functionSourceFile: flask_restx.api
    functionUses: 0
    functionsReached:
    - jsonschema.RefResolver.from_schema
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: jsonschema.RefResolver.from_schema
    functionSourceFile: jsonschema
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 3
    IfCount: 4
    argCount: 5
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe34a0dc0>
    - <ast.Constant object at 0x7fcfe34a0d90>
    argNames:
    - blueprint_setup
    - rule
    - endpoint
    - view_func
    - options
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 830
    functionName: flask_restx.api.Api._blueprint_setup_add_url_rule_patch
    functionSourceFile: flask_restx.api
    functionUses: 0
    functionsReached:
    - <builtin>.callable
    - blueprint_setup.app.add_url_rule
    - options.setdefault
    - flask.scaffold._endpoint_from_view_func
    - <builtin>.dict
    - options.pop
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: blueprint_setup.app.add_url_rule
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - setup_state
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 865
    functionName: flask_restx.api.Api._deferred_blueprint_init
    functionSourceFile: flask_restx.api
    functionUses: 0
    functionsReached:
    - types.MethodType
    - ALL_CAP_RE.sub
    - FIRST_CAP_RE.sub
    - flask_restx.api.Api._register_view
    - functools.wraps
    - <builtin>.len
    - flask_restx.api.Api._register_apidoc
    - app.extensions.setdefault
    - namespace.logger.setLevel
    - itertools.chain
    - flask_restx.api.Api._complete_url
    - flask_restx.api.Api.mediatypes_method
    - app.config.setdefault
    - functools.partial
    - warnings.warn
    - kwargs.pop
    - app.register_blueprint
    - <builtin>.getattr
    - flask_restx.utils.camel_to_dash
    - flask.views.View.as_view
    - flask_restx.api.Api._configure_namespace_logger
    - app.config.get
    - namespace.logger.addHandler
    - app.add_url_rule
    - flask_restx.api.Api._init_app
    - flask_restx.api.Api.output
    - conf.get
    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: types.MethodType
    functionSourceFile: types
    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: 2
    functionLinenumber: -1
    functionName: flask_restx.api.Api.mediatypes_method.<lambda1>
    functionSourceFile: flask_restx.api
    functionUses: 0
    functionsReached:
    - flask_restx.api.Api.mediatypes
    - <builtin>.sorted
    - operator.itemgetter
    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: 894
    functionName: flask_restx.api.Api.mediatypes
    functionSourceFile: flask_restx.api
    functionUses: 1
    functionsReached:
    - <builtin>.sorted
    - operator.itemgetter
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: operator.itemgetter
    functionSourceFile: operator
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - mediatype
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 903
    functionName: flask_restx.api.Api.representation
    functionSourceFile: flask_restx.api
    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:
    - func
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 926
    functionName: flask_restx.api.Api.representation.wrapper
    functionSourceFile: flask_restx.api
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 957
    functionName: flask_restx.api.SwaggerView.get
    functionSourceFile: flask_restx.api
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 964
    functionName: flask_restx.api.SwaggerView.mediatypes
    functionSourceFile: flask_restx.api
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - error
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 968
    functionName: flask_restx.api.mask_parse_error_handler
    functionSourceFile: flask_restx.api
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - error
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 973
    functionName: flask_restx.api.mask_error_handler
    functionSourceFile: flask_restx.api
    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: flask_restx.postman
    functionSourceFile: flask_restx.postman
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - data
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 8
    functionName: flask_restx.postman.clean
    functionSourceFile: flask_restx.postman
    functionUses: 4
    functionsReached:
    - data.items
    - <builtin>.dict
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 6
    argDefaultValues: []
    argNames:
    - self
    - collection
    - path
    - params
    - method
    - operation
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 23
    functionName: flask_restx.postman.Request.__init__
    functionSourceFile: flask_restx.postman
    functionUses: 1
    functionsReached:
    - method.upper
    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: 31
    functionName: flask_restx.postman.Request.id
    functionSourceFile: flask_restx.postman
    functionUses: 0
    functionsReached:
    - uuid.uuid5
    - <builtin>.str
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: uuid.uuid5
    functionSourceFile: uuid
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 36
    functionName: flask_restx.postman.Request.url
    functionSourceFile: flask_restx.postman
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 0
    IfCount: 5
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 40
    functionName: flask_restx.postman.Request.headers
    functionSourceFile: flask_restx.postman
    functionUses: 0
    functionsReached:
    - <builtin>.len
    - headers.items
    - param.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: param.get
    functionSourceFile: <builtin>
    functionUses: 11
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: headers.items
    functionSourceFile: <builtin>
    functionUses: 1
    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: 1
    functionLinenumber: 68
    functionName: flask_restx.postman.Request.folder
    functionSourceFile: flask_restx.postman
    functionUses: 0
    functionsReached:
    - <builtin>.len
    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 0x7fcfe2bc76a0>
    argNames:
    - self
    - urlvars
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 76
    functionName: flask_restx.postman.Request.as_dict
    functionSourceFile: flask_restx.postman
    functionUses: 0
    functionsReached:
    - urllib.parse.urlencode
    - flask_restx.postman.clean
    - <builtin>.int
    - DEFAULT_VARS.get
    - flask_restx.postman.Request.process_url
    - data.items
    - params.items
    - params.update
    - <builtin>.dict
    - param.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 1
    IfCount: 4
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe3f4cb50>
    argNames:
    - self
    - urlvars
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 93
    functionName: flask_restx.postman.Request.process_url
    functionSourceFile: flask_restx.postman
    functionUses: 1
    functionsReached:
    - urllib.parse.urlencode
    - DEFAULT_VARS.get
    - params.items
    - params.update
    - <builtin>.dict
    - param.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: params.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: params.items
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: DEFAULT_VARS.get
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: urllib.parse.urlencode
    functionSourceFile: urllib
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - collection
    - tag
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 116
    functionName: flask_restx.postman.Folder.__init__
    functionSourceFile: flask_restx.postman
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 122
    functionName: flask_restx.postman.Folder.id
    functionSourceFile: flask_restx.postman
    functionUses: 0
    functionsReached:
    - uuid.uuid5
    - <builtin>.str
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 126
    functionName: flask_restx.postman.Folder.order
    functionSourceFile: flask_restx.postman
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 129
    functionName: flask_restx.postman.Folder.as_dict
    functionSourceFile: flask_restx.postman
    functionUses: 0
    functionsReached:
    - data.items
    - flask_restx.postman.clean
    - <builtin>.dict
    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: 149
    functionName: flask_restx.postman.PostmanCollectionV1.uuid
    functionSourceFile: flask_restx.postman
    functionUses: 0
    functionsReached:
    - uuid.uuid5
    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: 153
    functionName: flask_restx.postman.PostmanCollectionV1.id
    functionSourceFile: flask_restx.postman
    functionUses: 0
    functionsReached:
    - <builtin>.str
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 157
    functionName: flask_restx.postman.PostmanCollectionV1.requests
    functionSourceFile: flask_restx.postman
    functionUses: 0
    functionsReached:
    - method.upper
    - flask_restx.postman.Request.__init__
    - operations.items
    - operations.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: operations.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: operations.items
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 179
    functionName: flask_restx.postman.PostmanCollectionV1.folders
    functionSourceFile: flask_restx.postman
    functionUses: 0
    functionsReached:
    - flask_restx.postman.Folder.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 184
    functionName: flask_restx.postman.PostmanCollectionV1.apikeys
    functionSourceFile: flask_restx.postman
    functionUses: 0
    functionsReached:
    - <builtin>.dict
    - secdef.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: secdef.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: r.as_dict
    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: f.as_dict
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: flask_restx.resource
    functionSourceFile: flask_restx.resource
    functionUses: 0
    functionsReached:
    - werkzeug_version.split
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe42dd5e0>
    argNames:
    - self
    - api
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 31
    functionName: flask_restx.resource.Resource.__init__
    functionSourceFile: flask_restx.resource
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 1
    IfCount: 3
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 34
    functionName: flask_restx.resource.Resource.dispatch_request
    functionSourceFile: flask_restx.resource
    functionUses: 0
    functionsReached:
    - request.get_json
    - expect.validate
    - flask_restx.resource.Resource.validate_payload
    - flask_restx.resource.Resource.__validate_payload
    - request.method.lower
    - doc.get
    - <builtin>.isinstance
    - <builtin>.getattr
    - <builtin>.len
    - flask_restx.utils.unpack
    - request.accept_mimetypes.best_match
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: request.method.lower
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 3
    IfCount: 5
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - func
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 77
    functionName: flask_restx.resource.Resource.validate_payload
    functionSourceFile: flask_restx.resource
    functionUses: 1
    functionsReached:
    - request.get_json
    - flask_restx.resource.Resource.__validate_payload
    - expect.validate
    - doc.get
    - <builtin>.isinstance
    - <builtin>.getattr
    - <builtin>.len
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe412a790>
    argNames:
    - self
    - expect
    - collection
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 62
    functionName: flask_restx.resource.Resource.__validate_payload
    functionSourceFile: flask_restx.resource
    functionUses: 2
    functionsReached:
    - request.get_json
    - expect.validate
    - <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: expect.validate
    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: doc.get
    functionSourceFile: <builtin>
    functionUses: 8
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: flask.views
    functionSourceFile: flask.views
    functionUses: 0
    functionsReached:
    - <builtin>.frozenset
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 62
    functionName: flask.views.View.dispatch_request
    functionSourceFile: flask.views
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - NotImplementedError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: current_app.ensure_sync
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 3
    IfCount: 4
    argCount: 4
    argDefaultValues: []
    argNames:
    - cls
    - name
    - bases
    - d
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 111
    functionName: flask.views.MethodViewType.__init__
    functionSourceFile: flask.views
    functionUses: 0
    functionsReached:
    - methods.update
    - methods.add
    - key.upper
    - <builtin>.super
    - <builtin>.set
    - <builtin>.hasattr
    - <builtin>.getattr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: methods.update
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 149
    functionName: flask.views.MethodView.dispatch_request
    functionSourceFile: flask.views
    functionUses: 0
    functionsReached:
    - current_app.ensure_sync
    - request.method.lower
    - <builtin>.getattr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: flask_restx.namespace
    functionSourceFile: flask_restx.namespace
    functionUses: 0
    functionsReached:
    - collections.namedtuple
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: collections.namedtuple
    functionSourceFile: collections
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 66
    functionName: flask_restx.namespace.Namespace.path
    functionSourceFile: flask_restx.namespace
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 3
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - resource
    - urls
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 69
    functionName: flask_restx.namespace.Namespace.add_resource
    functionSourceFile: flask_restx.namespace
    functionUses: 1
    functionsReached:
    - kwargs.pop
    - collections.namedtuple
    - api.ns_urls
    - api.register_resource
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: api.ns_urls
    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: api.register_resource
    functionSourceFile: <builtin>
    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
    - urls
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 97
    functionName: flask_restx.namespace.Namespace.route
    functionSourceFile: flask_restx.namespace
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - cls
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 102
    functionName: flask_restx.namespace.Namespace.route.wrapper
    functionSourceFile: flask_restx.namespace
    functionUses: 0
    functionsReached:
    - flask_restx.namespace.Namespace.add_resource
    - copy.deepcopy.items
    - collections.namedtuple
    - copy.deepcopy
    - flask_restx.namespace.unshortcut_params_description
    - api.register_resource
    - kwargs.pop
    - warnings.warn
    - doc.get
    - <builtin>.isinstance
    - api.ns_urls
    - flask_restx.utils.merge
    - doc.pop
    - <builtin>.getattr
    - flask_restx.namespace.Namespace._build_doc
    - collections.OrderedDict.items
    - flask_restx.namespace.handle_deprecations
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 4
    IfCount: 4
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - cls
    - doc
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 112
    functionName: flask_restx.namespace.Namespace._build_doc
    functionSourceFile: flask_restx.namespace
    functionUses: 4
    functionsReached:
    - copy.deepcopy.items
    - copy.deepcopy
    - flask_restx.namespace.unshortcut_params_description
    - warnings.warn
    - doc.get
    - <builtin>.isinstance
    - flask_restx.utils.merge
    - doc.pop
    - <builtin>.getattr
    - collections.OrderedDict.items
    - flask_restx.namespace.handle_deprecations
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - data
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 354
    functionName: flask_restx.namespace.unshortcut_params_description
    functionSourceFile: flask_restx.namespace
    functionUses: 5
    functionsReached:
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - doc
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 361
    functionName: flask_restx.namespace.handle_deprecations
    functionSourceFile: flask_restx.namespace
    functionUses: 5
    functionsReached:
    - doc.pop
    - doc.get
    - warnings.warn
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe2cb4b80>
    argNames:
    - self
    - shortcut
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 129
    functionName: flask_restx.namespace.Namespace.doc
    functionSourceFile: flask_restx.namespace
    functionUses: 8
    functionsReached:
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - documented
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 135
    functionName: flask_restx.namespace.Namespace.doc.wrapper
    functionSourceFile: flask_restx.namespace
    functionUses: 2
    functionsReached:
    - copy.deepcopy.items
    - copy.deepcopy
    - flask_restx.namespace.unshortcut_params_description
    - warnings.warn
    - doc.get
    - <builtin>.isinstance
    - flask_restx.utils.merge
    - doc.pop
    - <builtin>.getattr
    - flask_restx.namespace.Namespace._build_doc
    - collections.OrderedDict.items
    - flask_restx.namespace.handle_deprecations
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - func
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 143
    functionName: flask_restx.namespace.Namespace.hide
    functionSourceFile: flask_restx.namespace
    functionUses: 0
    functionsReached:
    - copy.deepcopy.items
    - copy.deepcopy
    - flask_restx.namespace.unshortcut_params_description
    - warnings.warn
    - doc.get
    - <builtin>.isinstance
    - flask_restx.utils.merge
    - doc.pop
    - flask_restx.namespace.Namespace.doc.wrapper
    - <builtin>.getattr
    - flask_restx.namespace.Namespace._build_doc
    - flask_restx.namespace.handle_deprecations
    - collections.OrderedDict.items
    - flask_restx.namespace.Namespace.doc
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 147
    functionName: flask_restx.namespace.Namespace.abort
    functionSourceFile: flask_restx.namespace
    functionUses: 0
    functionsReached:
    - flask_restx.namespace.Namespace.abort
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - name
    - definition
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 155
    functionName: flask_restx.namespace.Namespace.add_model
    functionSourceFile: flask_restx.namespace
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 6
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe3f4cee0>
    - <ast.Constant object at 0x7fcfe3f4cca0>
    - <ast.Constant object at 0x7fcfe1d83c40>
    - <ast.Constant object at 0x7fcfe1d834c0>
    argNames:
    - self
    - name
    - model
    - mask
    - strict
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 161
    functionName: flask_restx.namespace.Namespace.model
    functionSourceFile: flask_restx.namespace
    functionUses: 0
    functionsReached:
    - model.__apidoc__.update
    - flask_restx.namespace.Namespace.add_model
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: model.__apidoc__.update
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe25e0e20>
    - <ast.Constant object at 0x7fcfe25e02e0>
    argNames:
    - self
    - name
    - schema
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 175
    functionName: flask_restx.namespace.Namespace.schema_model
    functionSourceFile: flask_restx.namespace
    functionUses: 0
    functionsReached:
    - <builtin>.super
    - flask_restx.namespace.Namespace.add_model
    - flask_restx.model.SchemaModel.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - name
    - parent
    - fields
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 7
    functionLinenumber: 184
    functionName: flask_restx.namespace.Namespace.extend
    functionSourceFile: flask_restx.namespace
    functionUses: 0
    functionsReached:
    - LEXER.findall
    - copy.deepcopy
    - stack.pop
    - warnings.warn
    - kwargs.pop
    - flask_restx.mask.Mask.clean
    - flask_restx.mask.Mask.parse
    - flask_restx.model.RawModel.extend
    - stack.append
    - <builtin>.isinstance
    - flask_restx.mask.Mask.__init__
    - flask_restx.model.RawModel.__init__.instance_clone
    - flask_restx.model.RawModel.__init__
    - <builtin>.super
    - flask_restx.model.RawModel.clone
    - flask_restx.namespace.Namespace.add_model
    - collections.OrderedDict.replace
    - fields.update
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - name
    - specs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 197
    functionName: flask_restx.namespace.Namespace.clone
    functionSourceFile: flask_restx.namespace
    functionUses: 0
    functionsReached:
    - LEXER.findall
    - copy.deepcopy
    - stack.pop
    - kwargs.pop
    - flask_restx.mask.Mask.clean
    - flask_restx.mask.Mask.parse
    - stack.append
    - <builtin>.isinstance
    - flask_restx.mask.Mask.__init__
    - flask_restx.model.RawModel.__init__.instance_clone
    - flask_restx.model.RawModel.__init__
    - <builtin>.super
    - flask_restx.model.RawModel.clone
    - flask_restx.namespace.Namespace.add_model
    - collections.OrderedDict.replace
    - fields.update
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - name
    - specs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 210
    functionName: flask_restx.namespace.Namespace.inherit
    functionSourceFile: flask_restx.namespace
    functionUses: 0
    functionsReached:
    - flask_restx.model.ModelBase.inherit
    - flask_restx.model.ModelBase.__init__.instance_inherit
    - <builtin>.super
    - flask_restx.namespace.Namespace.add_model
    - flask_restx.model.ModelBase.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - inputs
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 219
    functionName: flask_restx.namespace.Namespace.expect
    functionSourceFile: flask_restx.namespace
    functionUses: 0
    functionsReached:
    - kwargs.get
    - <builtin>.isinstance
    - expect.append
    - flask_restx.namespace.Namespace.doc
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: expect.append
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 233
    functionName: flask_restx.namespace.Namespace.parser
    functionSourceFile: flask_restx.namespace
    functionUses: 0
    functionsReached:
    - flask_restx.reqparse.RequestParser.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - field
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 237
    functionName: flask_restx.namespace.Namespace.as_list
    functionSourceFile: flask_restx.namespace
    functionUses: 0
    functionsReached:
    - copy.deepcopy.items
    - copy.deepcopy
    - <builtin>.isinstance
    - flask_restx.utils.merge
    - <builtin>.getattr
    - collections.OrderedDict.items
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 6
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe1c374f0>
    - <ast.Attribute object at 0x7fcfe1c374c0>
    - <ast.Constant object at 0x7fcfe1c37460>
    argNames:
    - self
    - fields
    - as_list
    - code
    - description
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 242
    functionName: flask_restx.namespace.Namespace.marshal_with
    functionSourceFile: flask_restx.namespace
    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:
    - func
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 253
    functionName: flask_restx.namespace.Namespace.marshal_with.wrapper
    functionSourceFile: flask_restx.namespace
    functionUses: 0
    functionsReached:
    - copy.deepcopy.items
    - copy.deepcopy
    - flask_restx.namespace.Namespace.marshal_with.wrapper
    - <builtin>.str
    - <builtin>.isinstance
    - flask_restx.utils.merge
    - kwargs.get
    - <builtin>.getattr
    - flask_restx.namespace.Namespace.marshal_with
    - collections.OrderedDict.items
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - fields
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 269
    functionName: flask_restx.namespace.Namespace.marshal_list_with
    functionSourceFile: flask_restx.namespace
    functionUses: 0
    functionsReached:
    - flask_restx.namespace.Namespace.marshal_with
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 273
    functionName: flask_restx.namespace.Namespace.marshal
    functionSourceFile: flask_restx.namespace
    functionUses: 0
    functionsReached:
    - flask_restx.namespace.Namespace.marshal
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - exception
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 277
    functionName: flask_restx.namespace.Namespace.errorhandler
    functionSourceFile: flask_restx.namespace
    functionUses: 0
    functionsReached:
    - inspect.isclass
    - <builtin>.issubclass
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - func
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 281
    functionName: flask_restx.namespace.Namespace.errorhandler.wrapper
    functionSourceFile: flask_restx.namespace
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 5
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe1c14a30>
    - <ast.Constant object at 0x7fcfe1c14a00>
    argNames:
    - self
    - name
    - description
    - _in
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 291
    functionName: flask_restx.namespace.Namespace.param
    functionSourceFile: flask_restx.namespace
    functionUses: 0
    functionsReached:
    - <builtin>.isinstance
    - flask_restx.namespace.Namespace.doc
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 5
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe1c143a0>
    argNames:
    - self
    - code
    - description
    - model
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 304
    functionName: flask_restx.namespace.Namespace.response
    functionSourceFile: flask_restx.namespace
    functionUses: 0
    functionsReached:
    - <builtin>.str
    - <builtin>.isinstance
    - flask_restx.namespace.Namespace.doc
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe1c21ee0>
    argNames:
    - self
    - name
    - description
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 315
    functionName: flask_restx.namespace.Namespace.header
    functionSourceFile: flask_restx.namespace
    functionUses: 0
    functionsReached:
    - header.update
    - <builtin>.isinstance
    - flask_restx.namespace.Namespace.doc
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: 10
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - mimetypes
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 327
    functionName: flask_restx.namespace.Namespace.produces
    functionSourceFile: flask_restx.namespace
    functionUses: 0
    functionsReached:
    - <builtin>.isinstance
    - flask_restx.namespace.Namespace.doc
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - func
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 331
    functionName: flask_restx.namespace.Namespace.deprecated
    functionSourceFile: flask_restx.namespace
    functionUses: 0
    functionsReached:
    - copy.deepcopy.items
    - copy.deepcopy
    - flask_restx.namespace.unshortcut_params_description
    - warnings.warn
    - doc.get
    - <builtin>.isinstance
    - flask_restx.utils.merge
    - doc.pop
    - flask_restx.namespace.Namespace.doc.wrapper
    - <builtin>.getattr
    - flask_restx.namespace.Namespace._build_doc
    - flask_restx.namespace.handle_deprecations
    - collections.OrderedDict.items
    - flask_restx.namespace.Namespace.doc
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 335
    functionName: flask_restx.namespace.Namespace.vendor
    functionSourceFile: flask_restx.namespace
    functionUses: 0
    functionsReached:
    - <builtin>.isinstance
    - kwargs.update
    - flask_restx.namespace.Namespace.doc
    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: 349
    functionName: flask_restx.namespace.Namespace.payload
    functionSourceFile: flask_restx.namespace
    functionUses: 0
    functionsReached:
    - request.get_json
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: doc.pop
    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: flask_restx.representations
    functionSourceFile: flask_restx.representations
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe113e670>
    argNames:
    - data
    - code
    - headers
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 9
    functionName: flask_restx.representations.output_json
    functionSourceFile: flask_restx.representations
    functionUses: 0
    functionsReached:
    - json.dumps
    - ujson.dumps
    - flask.helpers.make_response
    - settings.setdefault
    - resp.headers.extend
    - current_app.make_response
    - <builtin>.len
    - current_app.response_class
    - current_app.config.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: settings.setdefault
    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: ujson.dumps
    functionSourceFile: ujson
    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: resp.headers.extend
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: flask_restx.swagger
    functionSourceFile: flask_restx.swagger
    functionUses: 0
    functionsReached:
    - re.compile
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - model
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 62
    functionName: flask_restx.swagger.ref
    functionSourceFile: flask_restx.swagger
    functionUses: 11
    functionsReached:
    - <builtin>.isinstance
    - urllib.parse.quote
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: urllib.parse.quote
    functionSourceFile: urllib
    functionUses: 12
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - value
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 68
    functionName: flask_restx.swagger._v
    functionSourceFile: flask_restx.swagger
    functionUses: 2
    functionsReached:
    - <builtin>.callable
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - path
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 73
    functionName: flask_restx.swagger.extract_path
    functionSourceFile: flask_restx.swagger
    functionUses: 2
    functionsReached:
    - RE_URL.sub
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: RE_URL.sub
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 5
    IfCount: 5
    argCount: 1
    argDefaultValues: []
    argNames:
    - rule
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 80
    functionName: flask_restx.swagger.parse_rule
    functionSourceFile: flask_restx.swagger
    functionUses: 5
    functionsReached:
    - m.groupdict
    - m.end
    - <builtin>.set
    - <builtin>.len
    - used_names.add
    linkageType: pythonLinkage
    raised:
    - ValueError
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 1
    IfCount: 3
    argCount: 1
    argDefaultValues: []
    argNames:
    - path
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 113
    functionName: flask_restx.swagger.extract_path_params
    functionSourceFile: flask_restx.swagger
    functionUses: 4
    functionsReached:
    - collections.OrderedDict
    - m.groupdict
    - m.end
    - flask_restx.swagger.parse_rule
    - <builtin>.set
    - <builtin>.len
    - used_names.add
    linkageType: pythonLinkage
    raised:
    - ValueError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - param
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 133
    functionName: flask_restx.swagger._param_to_header
    functionSourceFile: flask_restx.swagger
    functionUses: 0
    functionsReached:
    - param.pop
    - header.get
    - <builtin>.isinstance
    - data.items
    - <builtin>.hasattr
    - flask_restx.utils.not_none
    - <builtin>.len
    - header.update
    - flask_restx.swagger._clean_header
    - <builtin>.dict
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 1
    IfCount: 4
    argCount: 1
    argDefaultValues: []
    argNames:
    - header
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 139
    functionName: flask_restx.swagger._clean_header
    functionSourceFile: flask_restx.swagger
    functionUses: 8
    functionsReached:
    - header.get
    - <builtin>.isinstance
    - data.items
    - <builtin>.hasattr
    - flask_restx.utils.not_none
    - <builtin>.len
    - header.update
    - <builtin>.dict
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - obj
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 159
    functionName: flask_restx.swagger.parse_docstring
    functionSourceFile: flask_restx.swagger
    functionUses: 5
    functionsReached:
    - RE_RAISES.finditer
    - inspect.getdoc.strip
    - match.group
    - inspect.getdoc.replace
    - inspect.getdoc
    - details.replace
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: inspect.getdoc
    functionSourceFile: inspect
    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: inspect.getdoc.strip
    functionSourceFile: inspect
    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: inspect.getdoc.replace
    functionSourceFile: inspect
    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: RE_RAISES.finditer
    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: details.replace
    functionSourceFile: <builtin>
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe2cb4970>
    argNames:
    - resource
    - route_doc
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 179
    functionName: flask_restx.swagger.is_hidden
    functionSourceFile: flask_restx.swagger
    functionUses: 3
    functionsReached:
    - <builtin>.hasattr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - body_params
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 190
    functionName: flask_restx.swagger.build_request_body_parameters_schema
    functionSourceFile: flask_restx.swagger
    functionUses: 5
    functionsReached:
    - param.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 11
    ICount: 2
    IfCount: 7
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - api
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 316
    functionName: flask_restx.swagger.Swagger.extract_tags
    functionSourceFile: flask_restx.swagger
    functionUses: 2
    functionsReached:
    - tags.append
    - flask_restx.swagger.is_hidden
    - <builtin>.isinstance
    - <builtin>.hasattr
    - <builtin>.all
    linkageType: pythonLinkage
    raised:
    - ValueError
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 460
    functionName: flask_restx.swagger.Swagger.register_errors
    functionSourceFile: flask_restx.swagger
    functionUses: 2
    functionsReached:
    - flask_restx.swagger.Swagger.register_model
    - header.get
    - collections.OrderedDict.get
    - match.group
    - flask_restx.swagger.Swagger.process_headers
    - method_doc.get
    - data.items
    - <builtin>.hasattr
    - <builtin>.len
    - <builtin>.dict
    - itertools.chain
    - inspect.getdoc.strip
    - <builtin>.list
    - inspect.getdoc
    - inspect.isclass
    - <builtin>.issubclass
    - flask_restx.swagger.parse_docstring
    - inspect.getdoc.replace
    - flask_restx.swagger.ref
    - <builtin>.getattr
    - field.mapping.values
    - header.update
    - copy.deepcopy.get
    - specs.values
    - urllib.parse.quote
    - <builtin>.type
    - flask_restx.swagger.Swagger.serialize_schema
    - RE_RAISES.finditer
    - <builtin>.isinstance
    - flask_restx.utils.not_none
    - flask_restx.swagger.Swagger.register_field
    - flask_restx.swagger._clean_header
    - collections.OrderedDict.items
    - details.replace
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 6
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe37d6b80>
    argNames:
    - self
    - ns
    - resource
    - url
    - route_doc
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 473
    functionName: flask_restx.swagger.Swagger.serialize_resource
    functionSourceFile: flask_restx.swagger
    functionUses: 2
    functionsReached:
    - header.get
    - flask_restx.swagger.Swagger.process_headers
    - method_doc.get
    - data.items
    - <builtin>.dict
    - inspect.getdoc.strip
    - flask_restx.swagger.Swagger.expected_params
    - <builtin>.str
    - field.mapping.values
    - <builtin>.any
    - up_params.items
    - specs.values
    - urllib.parse.quote
    - RE_RAISES.finditer
    - flask_restx.swagger.Swagger.security_requirement
    - flask_restx.swagger.Swagger.security_requirements
    - <builtin>.set
    - flask_restx.utils.not_none
    - param.get
    - flask_restx.swagger.Swagger.register_model
    - collections.OrderedDict.update
    - flask_restx.swagger.Swagger.security_for
    - itertools.chain
    - <builtin>.list
    - <builtin>.issubclass
    - flask_restx.utils.default_id
    - m.end
    - <builtin>.type
    - collections.OrderedDict
    - flask_restx.swagger.Swagger.serialize_schema
    - value.items
    - flask_restx.swagger.Swagger.parameters_for
    - flask_restx.swagger._clean_header
    - details.replace
    - p.get
    - ALL_CAP_RE.sub
    - DEFAULT_RESPONSE.copy
    - FIRST_CAP_RE.sub
    - match.group
    - flask_restx.utils.merge
    - <builtin>.hasattr
    - <builtin>.len
    - PY_TYPES.get
    - flask_restx.swagger.Swagger.operation_id_for
    - error_responses.keys
    - m.groupdict
    - inspect.getdoc
    - flask_restx.swagger.Swagger.responses_for
    - flask_restx.swagger.parse_docstring
    - d.get
    - inspect.getdoc.replace
    - flask_restx.swagger.ref
    - k.startswith
    - <builtin>.getattr
    - m.lower
    - header.update
    - copy.deepcopy.get
    - flask_restx.utils.camel_to_dash
    - copy.deepcopy.items
    - parts.append
    - flask_restx.swagger.Swagger.register_field
    - kwargs.get
    - inspect.isclass
    - used_names.add
    - collections.OrderedDict.get
    - params.append
    - flask_restx.swagger.Swagger.serialize_operation
    - need_to_go_down.add
    - copy.deepcopy
    - flask_restx.swagger.Swagger.vendor_fields
    - flask_restx.swagger.Swagger.extract_resource_doc
    - operation.update
    - flask_restx.swagger.build_request_body_parameters_schema
    - <builtin>.isinstance
    - flask_restx.swagger.extract_path_params
    - flask_restx.swagger.parse_rule
    - flask_restx.swagger.Swagger.description_for
    - collections.OrderedDict.items
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 2
    IfCount: 4
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - model
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 690
    functionName: flask_restx.swagger.Swagger.register_model
    functionSourceFile: flask_restx.swagger
    functionUses: 10
    functionsReached:
    - flask_restx.swagger.Swagger.register_model
    - <builtin>.isinstance
    - flask_restx.swagger.ref
    - flask_restx.swagger.Swagger.register_field
    - field.mapping.values
    - specs.values
    - urllib.parse.quote
    linkageType: pythonLinkage
    raised:
    - ValueError
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - value
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 727
    functionName: flask_restx.swagger.Swagger.security_requirements
    functionSourceFile: flask_restx.swagger
    functionUses: 5
    functionsReached:
    - <builtin>.isinstance
    - flask_restx.swagger.Swagger.security_requirement
    - value.items
    - <builtin>.dict
    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: 658
    functionName: flask_restx.swagger.Swagger.serialize_definitions
    functionSourceFile: flask_restx.swagger
    functionUses: 2
    functionsReached:
    - <builtin>.dict
    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: 310
    functionName: flask_restx.swagger.Swagger.get_host
    functionSourceFile: flask_restx.swagger
    functionUses: 2
    functionsReached:
    - current_app.config.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: tags.append
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 9
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 14
    ICount: 1
    IfCount: 9
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe380a850>
    argNames:
    - self
    - resource
    - url
    - route_doc
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 347
    functionName: flask_restx.swagger.Swagger.extract_resource_doc
    functionSourceFile: flask_restx.swagger
    functionUses: 3
    functionsReached:
    - p.get
    - flask_restx.swagger.Swagger.register_model
    - collections.OrderedDict.get
    - collections.OrderedDict.update
    - match.group
    - data.items
    - flask_restx.utils.merge
    - <builtin>.hasattr
    - <builtin>.len
    - need_to_go_down.add
    - <builtin>.dict
    - copy.deepcopy
    - inspect.getdoc.strip
    - m.groupdict
    - inspect.getdoc
    - flask_restx.swagger.Swagger.expected_params
    - <builtin>.issubclass
    - flask_restx.swagger.parse_docstring
    - inspect.getdoc.replace
    - m.end
    - flask_restx.swagger.build_request_body_parameters_schema
    - flask_restx.swagger.ref
    - <builtin>.getattr
    - field.mapping.values
    - m.lower
    - up_params.items
    - copy.deepcopy.get
    - specs.values
    - urllib.parse.quote
    - copy.deepcopy.items
    - collections.OrderedDict
    - RE_RAISES.finditer
    - flask_restx.swagger.Swagger.serialize_schema
    - <builtin>.type
    - <builtin>.isinstance
    - flask_restx.swagger.extract_path_params
    - flask_restx.swagger.parse_rule
    - <builtin>.set
    - flask_restx.utils.not_none
    - flask_restx.swagger.Swagger.register_field
    - used_names.add
    - inspect.isclass
    - param.get
    - collections.OrderedDict.items
    - details.replace
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 9
    ICount: 1
    IfCount: 6
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - doc
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 410
    functionName: flask_restx.swagger.Swagger.expected_params
    functionSourceFile: flask_restx.swagger
    functionUses: 4
    functionsReached:
    - flask_restx.swagger.Swagger.register_model
    - collections.OrderedDict.get
    - collections.OrderedDict.update
    - data.items
    - <builtin>.len
    - <builtin>.dict
    - <builtin>.issubclass
    - flask_restx.swagger.build_request_body_parameters_schema
    - flask_restx.swagger.ref
    - field.mapping.values
    - copy.deepcopy.get
    - specs.values
    - urllib.parse.quote
    - <builtin>.type
    - collections.OrderedDict
    - flask_restx.swagger.Swagger.serialize_schema
    - <builtin>.isinstance
    - flask_restx.utils.not_none
    - flask_restx.swagger.Swagger.register_field
    - inspect.isclass
    - param.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: copy.deepcopy.get
    functionSourceFile: copy
    functionUses: 10
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: collections.OrderedDict.get
    functionSourceFile: collections
    functionUses: 10
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: p.get
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: m.lower
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: need_to_go_down.add
    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: up_params.items
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 9
    ICount: 2
    IfCount: 6
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - model
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 663
    functionName: flask_restx.swagger.Swagger.serialize_schema
    functionSourceFile: flask_restx.swagger
    functionUses: 8
    functionsReached:
    - <builtin>.type
    - flask_restx.swagger.Swagger.serialize_schema
    - flask_restx.swagger.Swagger.register_model
    - <builtin>.isinstance
    - flask_restx.swagger.ref
    - flask_restx.swagger.Swagger.register_field
    - field.mapping.values
    - inspect.isclass
    - specs.values
    - <builtin>.issubclass
    - urllib.parse.quote
    linkageType: pythonLinkage
    raised:
    - ValueError
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 5
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe490aa30>
    - <ast.Constant object at 0x7fcfe490aa00>
    argNames:
    - self
    - response
    - doc
    - method
    - headers
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 645
    functionName: flask_restx.swagger.Swagger.process_headers
    functionSourceFile: flask_restx.swagger
    functionUses: 6
    functionsReached:
    - itertools.chain
    - header.get
    - collections.OrderedDict.get
    - <builtin>.isinstance
    - method_doc.get
    - data.items
    - <builtin>.hasattr
    - flask_restx.utils.not_none
    - <builtin>.len
    - header.update
    - flask_restx.swagger._clean_header
    - copy.deepcopy.get
    - <builtin>.dict
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 11
    ICount: 2
    IfCount: 7
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - doc
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 546
    functionName: flask_restx.swagger.Swagger.parameters_for
    functionSourceFile: flask_restx.swagger
    functionUses: 4
    functionsReached:
    - copy.deepcopy.items
    - <builtin>.type
    - collections.OrderedDict.get
    - <builtin>.isinstance
    - params.append
    - PY_TYPES.get
    - copy.deepcopy.get
    - param.get
    - collections.OrderedDict.items
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 1
    IfCount: 4
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - doc
    - method
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 486
    functionName: flask_restx.swagger.Swagger.serialize_operation
    functionSourceFile: flask_restx.swagger
    functionUses: 3
    functionsReached:
    - ALL_CAP_RE.sub
    - DEFAULT_RESPONSE.copy
    - FIRST_CAP_RE.sub
    - flask_restx.swagger.Swagger.register_model
    - header.get
    - collections.OrderedDict.get
    - params.append
    - flask_restx.swagger.Swagger.process_headers
    - method_doc.get
    - data.items
    - <builtin>.hasattr
    - <builtin>.len
    - PY_TYPES.get
    - <builtin>.dict
    - flask_restx.swagger.Swagger.security_for
    - flask_restx.swagger.Swagger.operation_id_for
    - itertools.chain
    - error_responses.keys
    - <builtin>.list
    - flask_restx.swagger.Swagger.vendor_fields
    - inspect.isclass
    - flask_restx.swagger.Swagger.responses_for
    - <builtin>.issubclass
    - flask_restx.utils.default_id
    - <builtin>.str
    - d.get
    - operation.update
    - flask_restx.swagger.ref
    - k.startswith
    - <builtin>.getattr
    - field.mapping.values
    - header.update
    - <builtin>.any
    - copy.deepcopy.get
    - specs.values
    - flask_restx.utils.camel_to_dash
    - urllib.parse.quote
    - copy.deepcopy.items
    - flask_restx.swagger.Swagger.security_requirement
    - <builtin>.type
    - flask_restx.swagger.Swagger.security_requirements
    - value.items
    - flask_restx.swagger.Swagger.serialize_schema
    - <builtin>.isinstance
    - flask_restx.swagger.Swagger.description_for
    - flask_restx.swagger.Swagger.parameters_for
    - flask_restx.utils.not_none
    - parts.append
    - flask_restx.swagger.Swagger.register_field
    - kwargs.get
    - flask_restx.swagger._clean_header
    - param.get
    - collections.OrderedDict.items
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 12
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 18
    ICount: 2
    IfCount: 12
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - doc
    - method
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 583
    functionName: flask_restx.swagger.Swagger.responses_for
    functionSourceFile: flask_restx.swagger
    functionUses: 4
    functionsReached:
    - DEFAULT_RESPONSE.copy
    - flask_restx.swagger.Swagger.register_model
    - header.get
    - collections.OrderedDict.get
    - flask_restx.swagger.Swagger.process_headers
    - method_doc.get
    - data.items
    - <builtin>.hasattr
    - <builtin>.len
    - <builtin>.dict
    - itertools.chain
    - error_responses.keys
    - <builtin>.list
    - inspect.isclass
    - <builtin>.issubclass
    - <builtin>.str
    - d.get
    - flask_restx.swagger.ref
    - <builtin>.getattr
    - field.mapping.values
    - header.update
    - copy.deepcopy.get
    - specs.values
    - urllib.parse.quote
    - <builtin>.type
    - flask_restx.swagger.Swagger.serialize_schema
    - <builtin>.isinstance
    - flask_restx.swagger.Swagger.register_field
    - kwargs.get
    - flask_restx.utils.not_none
    - flask_restx.swagger._clean_header
    - collections.OrderedDict.items
    linkageType: pythonLinkage
    raised:
    - ValueError
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 4
    IfCount: 3
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - doc
    - method
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 526
    functionName: flask_restx.swagger.Swagger.description_for
    functionSourceFile: flask_restx.swagger
    functionUses: 4
    functionsReached:
    - parts.append
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - doc
    - method
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 538
    functionName: flask_restx.swagger.Swagger.operation_id_for
    functionSourceFile: flask_restx.swagger
    functionUses: 4
    functionsReached:
    - flask_restx.utils.default_id
    - flask_restx.utils.camel_to_dash
    - ALL_CAP_RE.sub
    - FIRST_CAP_RE.sub
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - doc
    - method
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 715
    functionName: flask_restx.swagger.Swagger.security_for
    functionSourceFile: flask_restx.swagger
    functionUses: 4
    functionsReached:
    - flask_restx.swagger.Swagger.security_requirement
    - flask_restx.swagger.Swagger.security_requirements
    - value.items
    - <builtin>.isinstance
    - <builtin>.dict
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - doc
    - method
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 515
    functionName: flask_restx.swagger.Swagger.vendor_fields
    functionSourceFile: flask_restx.swagger
    functionUses: 4
    functionsReached:
    - k.startswith
    - <builtin>.dict
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: operation.update
    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: PY_TYPES.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: d.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: DEFAULT_RESPONSE.copy
    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: error_responses.keys
    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: method_doc.get
    functionSourceFile: <builtin>
    functionUses: 7
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: specs.values
    functionSourceFile: <builtin>
    functionUses: 11
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 3
    IfCount: 3
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - field
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 706
    functionName: flask_restx.swagger.Swagger.register_field
    functionSourceFile: flask_restx.swagger
    functionUses: 10
    functionsReached:
    - flask_restx.swagger.Swagger.register_model
    - <builtin>.isinstance
    - flask_restx.swagger.ref
    - flask_restx.swagger.Swagger.register_field
    - field.mapping.values
    - specs.values
    - urllib.parse.quote
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: field.mapping.values
    functionSourceFile: <builtin>
    functionUses: 11
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - value
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 736
    functionName: flask_restx.swagger.Swagger.security_requirement
    functionSourceFile: flask_restx.swagger
    functionUses: 6
    functionsReached:
    - <builtin>.isinstance
    - value.items
    - <builtin>.dict
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: flask_restx.__about__
    functionSourceFile: flask_restx.__about__
    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: 4
    functionLinenumber: -1
    functionName: flask_restx.apidoc
    functionSourceFile: flask_restx.apidoc
    functionUses: 0
    functionsReached:
    - flask.blueprints.Blueprint.record
    - <builtin>.Warning
    - flask.blueprints.Blueprint.add_app_template_global
    - warnings.warn
    - flask.blueprints.Blueprint.record_once
    - <builtin>.super
    - flask_restx.apidoc.Apidoc.__init__
    - functools.update_wrapper
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 10
    functionName: flask_restx.apidoc.Apidoc.__init__
    functionSourceFile: flask_restx.apidoc
    functionUses: 1
    functionsReached:
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 14
    functionName: flask_restx.apidoc.Apidoc.register
    functionSourceFile: flask_restx.apidoc
    functionUses: 0
    functionsReached:
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - filename
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 29
    functionName: flask_restx.apidoc.swagger_static
    functionSourceFile: flask_restx.apidoc
    functionUses: 0
    functionsReached:
    - http.server.BaseHTTPRequestHandler.path.fragment.encode
    - <builtin>.bytearray
    - flask.helpers.url_for
    - appctx.app.inject_url_defaults
    - appctx.app.handle_url_build_error
    - rv.extend
    - typing.NamedTuple.query.encode
    - http.server.BaseHTTPRequestHandler.path.query.encode
    - werkzeug.urls.BytesURL.encode_netloc
    - url_adapter.build
    - typing.NamedTuple.__init__
    - values.pop
    - typing.NamedTuple.encode
    - rv.append
    - <builtin>.str
    - unsafe.encode
    - <builtin>.frozenset
    - typing.NamedTuple.fragment.encode
    - typing.NamedTuple.path.encode
    - safe.encode
    - <builtin>.bytes
    - typing.NamedTuple.scheme.encode
    - <builtin>.isinstance
    - http.server.BaseHTTPRequestHandler.path.encode
    - werkzeug.urls.BaseURL.encode_netloc
    - <builtin>.filter
    - werkzeug.urls.url_quote
    - werkzeug.urls.URL.encode
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - api
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 33
    functionName: flask_restx.apidoc.ui_for
    functionSourceFile: flask_restx.apidoc
    functionUses: 0
    functionsReached:
    - flask.templating.render_template
    - ctx.app.jinja_env.get_or_select_template
    - before_render_template.send
    - ctx.app.update_template_context
    - flask.templating._render
    - template_rendered.send
    - template.render
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: flask_restx.cors
    functionSourceFile: flask_restx.cors
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 1
    IfCount: 5
    argCount: 8
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe113ea30>
    - <ast.Constant object at 0x7fcfe113e310>
    - <ast.Constant object at 0x7fcfe113e190>
    - <ast.Constant object at 0x7fcfe113e610>
    - <ast.Constant object at 0x7fcfe113e250>
    - <ast.Constant object at 0x7fcfe113ecd0>
    - <ast.Constant object at 0x7fcfe113ee20>
    - <ast.Constant object at 0x7fcfe113ed30>
    argNames:
    - origin
    - methods
    - headers
    - expose_headers
    - max_age
    - attach_to_all
    - automatic_options
    - credentials
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 6
    functionName: flask_restx.cors.crossdomain
    functionSourceFile: flask_restx.cors
    functionUses: 0
    functionsReached:
    - <builtin>.sorted
    - <builtin>.isinstance
    - max_age.total_seconds
    - x.upper
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 30
    functionName: flask_restx.cors.crossdomain.get_methods
    functionSourceFile: flask_restx.cors
    functionUses: 1
    functionsReached:
    - current_app.make_default_options_response
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: current_app.make_default_options_response
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - f
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 37
    functionName: flask_restx.cors.crossdomain.decorator
    functionSourceFile: flask_restx.cors
    functionUses: 0
    functionsReached:
    - functools.update_wrapper
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 0
    IfCount: 5
    argCount: 2
    argDefaultValues: []
    argNames:
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 38
    functionName: flask_restx.cors.crossdomain.decorator.wrapped_function
    functionSourceFile: flask_restx.cors
    functionUses: 0
    functionsReached:
    - flask.helpers.make_response
    - <builtin>.str
    - flask_restx.cors.crossdomain.get_methods
    - current_app.make_response
    - <builtin>.len
    - current_app.response_class
    - current_app.make_default_options_response
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: -1
    functionName: flask_restx.schemas
    functionSourceFile: flask_restx.schemas
    functionUses: 0
    functionsReached:
    - flask_restx.schemas.LazySchema.__init__
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe2117910>
    argNames:
    - self
    - msg
    - errors
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 25
    functionName: flask_restx.schemas.SchemaValidationError.__init__
    functionSourceFile: flask_restx.schemas
    functionUses: 0
    functionsReached:
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 29
    functionName: flask_restx.schemas.SchemaValidationError.__str__
    functionSourceFile: flask_restx.schemas
    functionUses: 0
    functionsReached:
    - <builtin>.sorted
    - msg.append
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: flask_restx.schemas.SchemaValidationError.__str__.<lambda1>
    functionSourceFile: flask_restx.schemas
    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: msg.append
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: flask_restx.schemas.SchemaValidationError.__str__.<lambda2>
    functionSourceFile: flask_restx.schemas
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues:
    - <ast.Name object at 0x7fcfe2c880a0>
    argNames:
    - self
    - filename
    - validator
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 52
    functionName: flask_restx.schemas.LazySchema.__init__
    functionSourceFile: flask_restx.schemas
    functionUses: 1
    functionsReached:
    - <builtin>.super
    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: 58
    functionName: flask_restx.schemas.LazySchema._load
    functionSourceFile: flask_restx.schemas
    functionUses: 3
    functionsReached:
    - io.open
    - json.load
    - importlib_resources.files
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: importlib_resources.files
    functionSourceFile: importlib_resources
    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: io.open
    functionSourceFile: io
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - key
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 65
    functionName: flask_restx.schemas.LazySchema.__getitem__
    functionSourceFile: flask_restx.schemas
    functionUses: 0
    functionsReached:
    - io.open
    - flask_restx.schemas.LazySchema._load
    - json.load
    - importlib_resources.files
    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: 2
    functionLinenumber: 69
    functionName: flask_restx.schemas.LazySchema.__iter__
    functionSourceFile: flask_restx.schemas
    functionUses: 0
    functionsReached:
    - io.open
    - flask_restx.schemas.LazySchema._load
    - json.load
    - importlib_resources.files
    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: 2
    functionLinenumber: 73
    functionName: flask_restx.schemas.LazySchema.__len__
    functionSourceFile: flask_restx.schemas
    functionUses: 0
    functionsReached:
    - io.open
    - flask_restx.schemas.LazySchema._load
    - json.load
    - importlib_resources.files
    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: 78
    functionName: flask_restx.schemas.LazySchema.validator
    functionSourceFile: flask_restx.schemas
    functionUses: 0
    functionsReached:
    - jsonschema.Draft4Validator
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 1
    IfCount: 3
    argCount: 1
    argDefaultValues: []
    argNames:
    - data
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 92
    functionName: flask_restx.schemas.validate
    functionSourceFile: flask_restx.schemas
    functionUses: 0
    functionsReached:
    - validator.iter_errors
    - <builtin>.list
    linkageType: pythonLinkage
    raised:
    - SchemaValidationError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: validator.iter_errors
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: -1
    functionName: werkzeug.testapp
    functionSourceFile: werkzeug.testapp
    functionUses: 0
    functionsReached:
    - sys.stdin.isatty
    - ctx.load_cert_chain
    - host.startswith
    - socket.getaddrinfo
    - datetime.timedelta
    - werkzeug.serving.make_server
    - cryptography.hazmat.primitives.asymmetric.rsa.generate_private_key
    - reloader.run
    - sys.exit
    - <builtin>.str
    - <builtin>.int
    - werkzeug._internal._log
    - provider.get_resource_reader
    - werkzeug._internal._has_level_handler
    - atexit.register
    - <builtin>.any
    - pkgutil.get_loader
    - <builtin>.super
    - datetime.datetime.now
    - os.write
    - werkzeug.serving.BaseWSGIServer.__init__
    - werkzeug.serving.is_running_from_reloader
    - s.set_inheritable
    - werkzeug.serving.select_address_family
    - termios.tcgetattr
    - base64.b64decode
    - messages.append
    - http.server.HTTPServer.server_activate
    - colorama.AnsiToWin32
    - cryptography.x509.NameAttribute
    - logger.getEffectiveLevel
    - ssl.SSLContext
    - logging.getLogger
    - s.connect
    - werkzeug._reloader.run_with_reloader
    - <builtin>.vars
    - secrets.choice
    - werkzeug.wrappers.response.Response.__init__
    - os.path.exists
    - pkey.public_key
    - cryptography.x509.SubjectAlternativeName
    - cryptography.hazmat.primitives.serialization.NoEncryption
    - werkzeug._reloader.ensure_echo_on
    - werkzeug.serving.prepare_socket
    - threading.Thread
    - <builtin>.print
    - <builtin>.bytes
    - werkzeug.serving.generate_adhoc_ssl_context
    - socket.fromfd
    - cryptography.x509.random_serial_number
    - socket.socket
    - werkzeug.middleware.shared_data.SharedDataMiddleware.get_file_loader
    - reloader.restart_with_reloader
    - _logger.addHandler
    - <builtin>.hasattr
    - <builtin>.len
    - werkzeug.serving.ForkingWSGIServer.__init__
    - cryptography.hazmat.backends.default_backend
    - signal.signal
    - werkzeug.serving.BaseWSGIServer.log_startup
    - werkzeug.security.gen_salt
    - value.encode
    - t.start
    - cert.public_bytes
    - werkzeug.serving.get_interface_ip
    - os.unlink
    - <builtin>.getattr
    - werkzeug._internal._ColorStreamHandler.__init__
    - _logger.setLevel
    - http.server.HTTPServer.server_close
    - pkey.private_bytes
    - http.server.HTTPServer.server_bind
    - tempfile.mkstemp
    - exports.items
    - s.getsockname
    - werkzeug.serving.load_ssl_context
    - os.path.isfile
    - message.rstrip
    - cryptography.x509.Name
    - werkzeug.debug.DebuggedApplication.__init__
    - werkzeug.serving.BaseWSGIServer.serve_forever
    - werkzeug.serving.get_sockaddr
    - werkzeug.middleware.shared_data.SharedDataMiddleware.get_directory_loader
    - host.split
    - cryptography.hazmat.primitives.hashes.SHA256
    - cryptography.x509.CertificateBuilder
    - werkzeug.middleware.shared_data.SharedDataMiddleware.__init__
    - werkzeug.serving.generate_adhoc_ssl_pair
    - werkzeug.serving.run_simple
    - os.close
    - werkzeug.wrappers.response.Response.set_data
    - s.setsockopt
    - s.listen
    - typing.cast
    - ssl_context.wrap_socket
    - s.bind
    - <builtin>.isinstance
    - s.fileno
    - <builtin>.range
    - cryptography.x509.ExtendedKeyUsage
    - werkzeug.middleware.shared_data.SharedDataMiddleware.get_package_loader
    - os.environ.get
    - termios.tcsetattr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 141
    functionName: werkzeug.testapp.iter_sys_path
    functionSourceFile: werkzeug.testapp
    functionUses: 5
    functionsReached:
    - os.path.expanduser
    - os.path.normpath
    - os.path.isdir
    - x.startswith
    - os.getcwd
    - werkzeug.testapp.iter_sys_path.strip
    - os.path.join
    - <builtin>.len
    - os.path.abspath
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - x
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 152
    functionName: werkzeug.testapp.iter_sys_path.strip
    functionSourceFile: werkzeug.testapp
    functionUses: 6
    functionsReached:
    - <builtin>.len
    - os.path.expanduser
    - x.startswith
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: os.path.expanduser
    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: x.startswith
    functionSourceFile: <builtin>
    functionUses: 7
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: os.path.normpath
    functionSourceFile: os
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - req
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 161
    functionName: werkzeug.testapp.render_testapp
    functionSourceFile: werkzeug.testapp
    functionUses: 4
    functionsReached:
    - html.escape.splitlines
    - <builtin>.repr
    - <builtin>.len
    - python_eggs.append
    - wsgi_env.append
    - os.path.normpath
    - os.getcwd
    - textwrap.wrap
    - class_.append
    - <builtin>.sorted
    - sys_path.append
    - <builtin>.str
    - werkzeug.testapp.iter_sys_path
    - os.path.expanduser
    - os.path.isdir
    - x.startswith
    - req.environ.items
    - html.escape
    - werkzeug.testapp.iter_sys_path.strip
    - os.path.join
    - os.path.abspath
    linkageType: 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: werkzeug.testapp.render_testapp.<lambda1>
    functionSourceFile: werkzeug.testapp
    functionUses: 0
    functionsReached:
    - x.project_name.lower
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: x.project_name.lower
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: python_eggs.append
    functionSourceFile: <builtin>
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: req.environ.items
    functionSourceFile: <builtin>
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: werkzeug.testapp.render_testapp.<lambda2>
    functionSourceFile: werkzeug.testapp
    functionUses: 0
    functionsReached:
    - <builtin>.repr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: textwrap.wrap
    functionSourceFile: textwrap
    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: wsgi_env.append
    functionSourceFile: <builtin>
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: class_.append
    functionSourceFile: <builtin>
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: sys_path.append
    functionSourceFile: <builtin>
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: html.escape.splitlines
    functionSourceFile: html
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: werkzeug.middleware.lint
    functionSourceFile: werkzeug.middleware.lint
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 3
    argDefaultValues:
    - <ast.Name object at 0x7fcfe0d56520>
    argNames:
    - context
    - obj
    - need
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 38
    functionName: werkzeug.middleware.lint.check_type
    functionSourceFile: werkzeug.middleware.lint
    functionUses: 6
    functionsReached:
    - <builtin>.type
    - warnings.warn
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - stream
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 48
    functionName: werkzeug.middleware.lint.InputStream.__init__
    functionSourceFile: werkzeug.middleware.lint
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - args
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 51
    functionName: werkzeug.middleware.lint.InputStream.read
    functionSourceFile: werkzeug.middleware.lint
    functionUses: 0
    functionsReached:
    - <builtin>.len
    - warnings.warn
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - args
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 68
    functionName: werkzeug.middleware.lint.InputStream.readline
    functionSourceFile: werkzeug.middleware.lint
    functionUses: 0
    functionsReached:
    - <builtin>.len
    - warnings.warn
    linkageType: pythonLinkage
    raised:
    - TypeError
    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: 87
    functionName: werkzeug.middleware.lint.InputStream.__iter__
    functionSourceFile: werkzeug.middleware.lint
    functionUses: 0
    functionsReached:
    - <builtin>.iter
    - warnings.warn
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 94
    functionName: werkzeug.middleware.lint.InputStream.close
    functionSourceFile: werkzeug.middleware.lint
    functionUses: 0
    functionsReached:
    - warnings.warn
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - stream
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 100
    functionName: werkzeug.middleware.lint.ErrorStream.__init__
    functionSourceFile: werkzeug.middleware.lint
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - s
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 103
    functionName: werkzeug.middleware.lint.ErrorStream.write
    functionSourceFile: werkzeug.middleware.lint
    functionUses: 1
    functionsReached:
    - <builtin>.type
    - werkzeug.middleware.lint.check_type
    - warnings.warn
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 107
    functionName: werkzeug.middleware.lint.ErrorStream.flush
    functionSourceFile: werkzeug.middleware.lint
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - seq
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 110
    functionName: werkzeug.middleware.lint.ErrorStream.writelines
    functionSourceFile: werkzeug.middleware.lint
    functionUses: 0
    functionsReached:
    - werkzeug.middleware.lint.ErrorStream.write
    - werkzeug.middleware.lint.check_type
    - <builtin>.type
    - warnings.warn
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 114
    functionName: werkzeug.middleware.lint.ErrorStream.close
    functionSourceFile: werkzeug.middleware.lint
    functionUses: 0
    functionsReached:
    - warnings.warn
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - write
    - chunks
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 120
    functionName: werkzeug.middleware.lint.GuardedWrite.__init__
    functionSourceFile: werkzeug.middleware.lint
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 3
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - s
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 124
    functionName: werkzeug.middleware.lint.GuardedWrite.__call__
    functionSourceFile: werkzeug.middleware.lint
    functionUses: 0
    functionsReached:
    - <builtin>.len
    - <builtin>.type
    - werkzeug.middleware.lint.check_type
    - warnings.warn
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - iterator
    - headers_set
    - chunks
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 131
    functionName: werkzeug.middleware.lint.GuardedIterator.__init__
    functionSourceFile: werkzeug.middleware.lint
    functionUses: 1
    functionsReached:
    - <builtin>.iter
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 143
    functionName: werkzeug.middleware.lint.GuardedIterator.__iter__
    functionSourceFile: werkzeug.middleware.lint
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 146
    functionName: werkzeug.middleware.lint.GuardedIterator.__next__
    functionSourceFile: werkzeug.middleware.lint
    functionUses: 0
    functionsReached:
    - <builtin>.len
    - <builtin>.type
    - werkzeug.middleware.lint.check_type
    - warnings.warn
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 9
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 14
    ICount: 6
    IfCount: 9
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 163
    functionName: werkzeug.middleware.lint.GuardedIterator.close
    functionSourceFile: werkzeug.middleware.lint
    functionUses: 0
    functionsReached:
    - werkzeug.http.is_entity_header
    - key.lower
    - warnings.warn
    - header.lower
    - headers.get
    - <builtin>.hasattr
    - <builtin>.sum
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 200
    functionName: werkzeug.middleware.lint.GuardedIterator.__del__
    functionSourceFile: werkzeug.middleware.lint
    functionUses: 0
    functionsReached:
    - warnings.warn
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - app
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 233
    functionName: werkzeug.middleware.lint.LintMiddleware.__init__
    functionSourceFile: werkzeug.middleware.lint
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 5
    IfCount: 5
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - environ
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 236
    functionName: werkzeug.middleware.lint.LintMiddleware.check_environ
    functionSourceFile: werkzeug.middleware.lint
    functionUses: 1
    functionsReached:
    - <builtin>.type
    - environ.get
    - warnings.warn
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 12
    ICount: 10
    IfCount: 8
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - status
    - headers
    - exc_info
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 7
    functionLinenumber: 280
    functionName: werkzeug.middleware.lint.LintMiddleware.check_start_response
    functionSourceFile: werkzeug.middleware.lint
    functionUses: 1
    functionsReached:
    - werkzeug.datastructures.Headers.add
    - key.lower
    - werkzeug.http.dump_options_header
    - werkzeug.datastructures.Headers.extend
    - d.items
    - <builtin>.len
    - kw.items
    - value.decode
    - werkzeug.middleware.lint.LintMiddleware.check_headers
    - werkzeug.datastructures.Headers._validate_value
    - werkzeug.datastructures.CombinedMultiDict.items
    - value.replace
    - werkzeug.datastructures.Headers.__getitem__
    - werkzeug.datastructures._unicodify_header_value
    - werkzeug.datastructures.Headers.__iter__
    - segments.append
    - werkzeug.middleware.lint.check_type
    - k.replace
    - status_code_str.isdigit
    - warnings.warn
    - <builtin>.str
    - <builtin>.iter
    - <builtin>.int
    - etag.startswith
    - options.items
    - key.upper
    - returned_keys.add
    - werkzeug.datastructures._options_header_vkw
    - werkzeug.datastructures.Headers.__init__
    - k.lower
    - werkzeug.http.quote_header_value
    - werkzeug.datastructures.Headers.get
    - <builtin>.type
    - urllib.parse.urlparse
    - werkzeug.datastructures.EnvironHeaders.__getitem__
    - name.lower
    - found.add
    - dict.items
    - status.split
    - <builtin>.isinstance
    - werkzeug.datastructures.OrderedMultiDict.items
    - <builtin>.set
    - werkzeug.datastructures.iter_multi_items
    - rv.encode
    - werkzeug.datastructures.MultiDict.items
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: status.split
    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: status_code_str.isdigit
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 9
    ICount: 3
    IfCount: 6
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - headers
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 334
    functionName: werkzeug.middleware.lint.LintMiddleware.check_headers
    functionSourceFile: werkzeug.middleware.lint
    functionUses: 2
    functionsReached:
    - werkzeug.datastructures.EnvironHeaders.__getitem__
    - urllib.parse.urlparse
    - key.lower
    - warnings.warn
    - value.decode
    - <builtin>.str
    - <builtin>.isinstance
    - etag.startswith
    - werkzeug.datastructures.Headers.__getitem__
    - key.upper
    - werkzeug.datastructures._unicodify_header_value
    - rv.encode
    - k.lower
    - werkzeug.datastructures.Headers.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - app_iter
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 361
    functionName: werkzeug.middleware.lint.LintMiddleware.check_iterator
    functionSourceFile: werkzeug.middleware.lint
    functionUses: 1
    functionsReached:
    - <builtin>.isinstance
    - warnings.warn
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    IfCount: 2
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 371
    functionName: werkzeug.middleware.lint.LintMiddleware.__call__
    functionSourceFile: werkzeug.middleware.lint
    functionUses: 0
    functionsReached:
    - <builtin>.type
    - typing.cast
    - warnings.warn
    - werkzeug.middleware.lint.GuardedIterator.__init__
    - <builtin>.iter
    - werkzeug.middleware.lint.LintMiddleware.check_iterator
    - <builtin>.isinstance
    - werkzeug.middleware.lint.LintMiddleware.check_environ
    - environ.get
    - <builtin>.len
    - werkzeug.middleware.lint.InputStream.__init__
    - werkzeug.middleware.lint.ErrorStream.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 8
    functionLinenumber: 394
    functionName: werkzeug.middleware.lint.LintMiddleware.__call__.checking_start_response
    functionSourceFile: werkzeug.middleware.lint
    functionUses: 0
    functionsReached:
    - werkzeug.datastructures.Headers.add
    - key.lower
    - werkzeug.http.dump_options_header
    - werkzeug.datastructures.Headers.extend
    - d.items
    - <builtin>.len
    - kw.items
    - value.decode
    - werkzeug.middleware.lint.LintMiddleware.check_headers
    - werkzeug.datastructures.Headers._validate_value
    - werkzeug.datastructures.CombinedMultiDict.items
    - value.replace
    - werkzeug.datastructures.Headers.__getitem__
    - werkzeug.datastructures._unicodify_header_value
    - werkzeug.datastructures.Headers.__iter__
    - werkzeug.middleware.lint.GuardedWrite.__init__
    - segments.append
    - werkzeug.middleware.lint.LintMiddleware.check_start_response
    - werkzeug.middleware.lint.check_type
    - k.replace
    - status_code_str.isdigit
    - warnings.warn
    - <builtin>.str
    - <builtin>.iter
    - <builtin>.int
    - etag.startswith
    - options.items
    - key.upper
    - returned_keys.add
    - werkzeug.datastructures._options_header_vkw
    - werkzeug.datastructures.Headers.__init__
    - k.lower
    - werkzeug.http.quote_header_value
    - werkzeug.datastructures.Headers.get
    - <builtin>.type
    - urllib.parse.urlparse
    - werkzeug.datastructures.EnvironHeaders.__getitem__
    - name.lower
    - found.add
    - dict.items
    - status.split
    - <builtin>.isinstance
    - werkzeug.datastructures.OrderedMultiDict.items
    - <builtin>.set
    - werkzeug.datastructures.iter_multi_items
    - rv.encode
    - werkzeug.datastructures.MultiDict.items
    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: werkzeug.middleware.profiler
    functionSourceFile: werkzeug.middleware.profiler
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 7
    argDefaultValues:
    - <ast.Attribute object at 0x7fcfe37502e0>
    - <ast.Tuple object at 0x7fcfe3750640>
    - <ast.Tuple object at 0x7fcfe37502b0>
    - <ast.Constant object at 0x7fcfe3750940>
    - <ast.Constant object at 0x7fcfe3750730>
    argNames:
    - self
    - app
    - stream
    - sort_by
    - restrictions
    - profile_dir
    - filename_format
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 77
    functionName: werkzeug.middleware.profiler.ProfilerMiddleware.__init__
    functionSourceFile: werkzeug.middleware.profiler
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 7
    IfCount: 3
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - environ
    - start_response
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 93
    functionName: werkzeug.middleware.profiler.ProfilerMiddleware.__call__
    functionSourceFile: werkzeug.middleware.profiler
    functionUses: 0
    functionsReached:
    - pstats.Stats.print_stats
    - <builtin>.callable
    - time.time
    - profile.Profile
    - <builtin>.print
    - environ.get
    - pstats.Stats.sort_stats
    - pstats.Stats
    - cProfile.Profile
    - os.path.join
    - cProfile.Profile.runcall
    - cProfile.Profile.dump_stats
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe113e4c0>
    argNames:
    - status
    - headers
    - exc_info
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 98
    functionName: werkzeug.middleware.profiler.ProfilerMiddleware.__call__.catching_start_response
    functionSourceFile: werkzeug.middleware.profiler
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 102
    functionName: werkzeug.middleware.profiler.ProfilerMiddleware.__call__.runapp
    functionSourceFile: werkzeug.middleware.profiler
    functionUses: 0
    functionsReached:
    - app_iter.close
    - response_body.extend
    - <builtin>.hasattr
    - typing.cast
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: response_body.extend
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: cProfile.Profile
    functionSourceFile: cProfile
    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: profile.Profile
    functionSourceFile: profile
    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: cProfile.Profile.runcall
    functionSourceFile: cProfile
    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: cProfile.Profile.dump_stats
    functionSourceFile: cProfile
    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: pstats.Stats
    functionSourceFile: pstats
    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: pstats.Stats.sort_stats
    functionSourceFile: pstats
    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: pstats.Stats.print_stats
    functionSourceFile: pstats
    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: werkzeug.middleware.proxy_fix
    functionSourceFile: werkzeug.middleware.proxy_fix
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 7
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe0cfa790>
    - <ast.Constant object at 0x7fcfe0cfa760>
    - <ast.Constant object at 0x7fcfe0cfa730>
    - <ast.Constant object at 0x7fcfe0cfa700>
    - <ast.Constant object at 0x7fcfe0cfa6d0>
    argNames:
    - self
    - app
    - x_for
    - x_proto
    - x_host
    - x_port
    - x_prefix
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 93
    functionName: werkzeug.middleware.proxy_fix.ProxyFix.__init__
    functionSourceFile: werkzeug.middleware.proxy_fix
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - trusted
    - value
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 109
    functionName: werkzeug.middleware.proxy_fix.ProxyFix._get_real_value
    functionSourceFile: werkzeug.middleware.proxy_fix
    functionUses: 1
    functionsReached:
    - werkzeug.http.unquote_header_value
    - werkzeug.http.parse_list_header
    - value.replace
    - <builtin>.len
    - result.append
    - urllib.request.parse_http_list
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 12
    ICount: 2
    IfCount: 8
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - environ
    - start_response
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 130
    functionName: werkzeug.middleware.proxy_fix.ProxyFix.__call__
    functionSourceFile: werkzeug.middleware.proxy_fix
    functionUses: 0
    functionsReached:
    - x_host.endswith
    - werkzeug.middleware.proxy_fix.ProxyFix._get_real_value
    - werkzeug.http.unquote_header_value
    - werkzeug.http.parse_list_header
    - value.replace
    - host.rsplit
    - host.endswith
    - environ.update
    - environ.get
    - <builtin>.len
    - x_host.rsplit
    - result.append
    - urllib.request.parse_http_list
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: environ.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: x_host.endswith
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: x_host.rsplit
    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: host.rsplit
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: werkzeug.middleware.http_proxy
    functionSourceFile: werkzeug.middleware.http_proxy
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 5
    argDefaultValues:
    - <ast.BinOp object at 0x7fcfe3e43cd0>
    - <ast.Constant object at 0x7fcfe3e43c40>
    argNames:
    - self
    - app
    - targets
    - chunk_size
    - timeout
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 79
    functionName: werkzeug.middleware.http_proxy.ProxyMiddleware.__init__
    functionSourceFile: werkzeug.middleware.http_proxy
    functionUses: 0
    functionsReached:
    - werkzeug.middleware.http_proxy.ProxyMiddleware.__init__._set_defaults
    - k.strip
    - targets.items
    - opts.setdefault
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 4
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - opts
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 86
    functionName: werkzeug.middleware.http_proxy.ProxyMiddleware.__init__._set_defaults
    functionSourceFile: werkzeug.middleware.http_proxy
    functionUses: 1
    functionsReached:
    - opts.setdefault
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: opts.setdefault
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: k.strip
    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: targets.items
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - opts
    - path
    - prefix
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 7
    functionLinenumber: 100
    functionName: werkzeug.middleware.http_proxy.ProxyMiddleware.proxy_to
    functionSourceFile: werkzeug.middleware.http_proxy
    functionUses: 1
    functionsReached:
    - werkzeug._internal._to_str
    - typing.NamedTuple.scheme.decode
    - http.server.BaseHTTPRequestHandler.path.decode
    - <builtin>.len
    - werkzeug.urls.BytesURL.decode
    - typing.NamedTuple.query.decode
    - werkzeug._internal._make_encode_wrapper.<lambda1>
    - typing.NamedTuple.fragment.decode
    - typing.NamedTuple.decode
    - werkzeug._internal._decode_idna
    - typing.NamedTuple.__init__
    - werkzeug.urls.BaseURL.decode_netloc
    - typing.NamedTuple.split
    - _scheme_re.match
    - <builtin>.str
    - typing.NamedTuple.find
    - http.server.BaseHTTPRequestHandler.path.split
    - domain.encode
    - werkzeug._internal._decode_idna.decode_part
    - domain.split
    - http.server.BaseHTTPRequestHandler.path.find
    - <builtin>.min
    - part.decode
    - <builtin>.any
    - typing.NamedTuple.path.decode
    - typing.cast
    - operator.methodcaller
    - <builtin>.isinstance
    - werkzeug.urls.url_parse
    - <builtin>.filter
    - werkzeug._internal._make_encode_wrapper
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 11
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 16
    ICount: 14
    IfCount: 11
    argCount: 2
    argDefaultValues: []
    argNames:
    - environ
    - start_response
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 106
    functionName: werkzeug.middleware.http_proxy.ProxyMiddleware.proxy_to.application
    functionSourceFile: werkzeug.middleware.http_proxy
    functionUses: 1
    functionsReached:
    - http.server.BaseHTTPRequestHandler.path.fragment.encode
    - headers.append
    - <builtin>.bytearray
    - con.connect
    - resp.getheaders
    - key.lower
    - header.lower
    - werkzeug.wsgi.LimitedStream.__init__
    - resp.read
    - con.send
    - con.endheaders
    - io.BytesIO
    - <builtin>.len
    - werkzeug.exceptions.HTTPException.__init__
    - werkzeug.http.is_hop_by_hop_header
    - rv.extend
    - headers.extend
    - con.getresponse
    - typing.NamedTuple.query.encode
    - http.server.BaseHTTPRequestHandler.path.query.encode
    - <builtin>.list
    - werkzeug.urls.BytesURL.encode_netloc
    - werkzeug.datastructures.EnvironHeaders.__init__
    - werkzeug.middleware.http_proxy.ProxyMiddleware.proxy_to.application.read
    - werkzeug.wsgi.get_content_length
    - typing.NamedTuple.__init__
    - con.putheader
    - stream.read
    - typing.NamedTuple.encode
    - werkzeug.wsgi.get_input_stream
    - rv.append
    - <builtin>.str
    - <builtin>.iter
    - <builtin>.int
    - http.client.HTTPSConnection
    - <builtin>.max
    - unsafe.encode
    - <builtin>.frozenset
    - environ.get
    - k.lower
    - typing.NamedTuple.fragment.encode
    - http.client.HTTPConnection
    - k.title
    - typing.cast
    - typing.NamedTuple.path.encode
    - safe.encode
    - <builtin>.bytes
    - typing.NamedTuple.scheme.encode
    - target.path.rstrip
    - <builtin>.isinstance
    - werkzeug.datastructures.Headers.items
    - werkzeug.urls.BaseURL.encode_netloc
    - http.server.BaseHTTPRequestHandler.path.encode
    - <builtin>.filter
    - werkzeug.urls.url_quote
    - <builtin>.super
    - con.putrequest
    - werkzeug.urls.URL.encode
    - werkzeug.datastructures.Headers.__iter__
    linkageType: pythonLinkage
    raised:
    - RuntimeError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: target.path.rstrip
    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: http.client.HTTPConnection
    functionSourceFile: http
    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: http.client.HTTPSConnection
    functionSourceFile: http
    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: con.connect
    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: con.putrequest
    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: con.putheader
    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: con.endheaders
    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: con.send
    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: con.getresponse
    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: k.title
    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: resp.getheaders
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 203
    functionName: werkzeug.middleware.http_proxy.ProxyMiddleware.proxy_to.application.read
    functionSourceFile: werkzeug.middleware.http_proxy
    functionUses: 2
    functionsReached:
    - resp.read
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: resp.read
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - environ
    - start_response
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 8
    functionLinenumber: 219
    functionName: werkzeug.middleware.http_proxy.ProxyMiddleware.__call__
    functionSourceFile: werkzeug.middleware.http_proxy
    functionUses: 0
    functionsReached:
    - http.server.BaseHTTPRequestHandler.path.fragment.encode
    - resp.getheaders
    - header.lower
    - resp.read
    - con.send
    - con.endheaders
    - typing.NamedTuple.query.decode
    - headers.extend
    - http.server.BaseHTTPRequestHandler.path.query.encode
    - werkzeug._internal._make_encode_wrapper.<lambda1>
    - typing.NamedTuple.fragment.decode
    - werkzeug._internal._decode_idna
    - werkzeug.urls.BaseURL.decode_netloc
    - typing.NamedTuple.encode
    - <builtin>.str
    - <builtin>.int
    - <builtin>.max
    - <builtin>.frozenset
    - werkzeug._internal._decode_idna.decode_part
    - http.server.BaseHTTPRequestHandler.path.find
    - <builtin>.min
    - typing.NamedTuple.fragment.encode
    - <builtin>.any
    - k.title
    - typing.NamedTuple.path.encode
    - safe.encode
    - <builtin>.super
    - con.putrequest
    - con.connect
    - key.lower
    - werkzeug.urls.BytesURL.decode
    - con.getresponse
    - typing.NamedTuple.query.encode
    - <builtin>.list
    - werkzeug.wsgi.get_content_length
    - path.startswith
    - werkzeug.middleware.http_proxy.ProxyMiddleware.proxy_to
    - rv.append
    - _scheme_re.match
    - <builtin>.iter
    - domain.encode
    - http.client.HTTPSConnection
    - unsafe.encode
    - domain.split
    - environ.get
    - part.decode
    - http.client.HTTPConnection
    - <builtin>.bytes
    - operator.methodcaller
    - http.server.BaseHTTPRequestHandler.path.encode
    - werkzeug.datastructures.Headers.items
    - werkzeug.datastructures.EnvironHeaders.__init__
    - werkzeug.datastructures.Headers.__iter__
    - headers.append
    - <builtin>.len
    - io.BytesIO
    - werkzeug.http.is_hop_by_hop_header
    - rv.extend
    - werkzeug.urls.BytesURL.encode_netloc
    - typing.NamedTuple.__init__
    - typing.NamedTuple.split
    - werkzeug.wsgi.get_input_stream
    - http.server.BaseHTTPRequestHandler.path.split
    - k.lower
    - typing.NamedTuple.path.decode
    - werkzeug.urls.BaseURL.encode_netloc
    - werkzeug._internal._make_encode_wrapper
    - <builtin>.bytearray
    - werkzeug._internal._to_str
    - werkzeug.wsgi.LimitedStream.__init__
    - typing.NamedTuple.scheme.decode
    - http.server.BaseHTTPRequestHandler.path.decode
    - werkzeug.exceptions.HTTPException.__init__
    - werkzeug.middleware.http_proxy.ProxyMiddleware.proxy_to.application
    - typing.NamedTuple.decode
    - werkzeug.middleware.http_proxy.ProxyMiddleware.proxy_to.application.read
    - con.putheader
    - stream.read
    - typing.NamedTuple.find
    - typing.cast
    - typing.NamedTuple.scheme.encode
    - target.path.rstrip
    - <builtin>.isinstance
    - <builtin>.filter
    - werkzeug.urls.url_parse
    - werkzeug.urls.url_quote
    - werkzeug.urls.URL.encode
    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: werkzeug.middleware.dispatcher
    functionSourceFile: werkzeug.middleware.dispatcher
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7fcfe3f4cb80>
    argNames:
    - self
    - app
    - mounts
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 51
    functionName: werkzeug.middleware.dispatcher.DispatcherMiddleware.__init__
    functionSourceFile: werkzeug.middleware.dispatcher
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - environ
    - start_response
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 59
    functionName: werkzeug.middleware.dispatcher.DispatcherMiddleware.__call__
    functionSourceFile: werkzeug.middleware.dispatcher
    functionUses: 0
    functionsReached:
    - script.rsplit
    - environ.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: script.rsplit
    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: 4
    functionLinenumber: -1
    functionName: flask.__main__
    functionSourceFile: flask.__main__
    functionUses: 0
    functionsReached:
    - flask.cli.ScriptInfo.__init__
    - flask.cli.FlaskGroup.main
    - flask.cli.main
    - kwargs.setdefault
    - <builtin>.super
    - kwargs.get
    - os.environ.get
    - val.lower
    - flask.helpers.get_load_dotenv
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  Function list name: All functions
Function coverage:
  '...fuzz_reqparse':
  - 57
  - 58
  '...fuzz_reqparse.TestOneInput':
  - 34
  - 36
  - 37
  - 38
  - 39
  - 41
  - 43
  - 45
  - 27
  - 29
  '...fuzz_reqparse.main':
  - 52
  - 53
  - 54
  flask.__main__:
  - 3
  flask.app:
  - 65
  - 71
  flask.app.Flask:
  - 288
  - 376
  - 262
  - 775
  - 239
  - 93
  - 276
  - 247
  - 312
  - 253
  flask.app.Flask.__call__:
  - 2091
  - 2087
  flask.app.Flask.__init__:
  - 483
  - 391
  - 491
  - 399
  - 400
  - 401
  - 498
  - 500
  - 504
  - 505
  - 509
  - 415
  flask.app.Flask.__init__.<lambda1>:
  - 509
  flask.app.Flask._find_error_handler:
  - 1281
  - 1263
  - 1268
  - 1271
  - 1272
  - 1275
  - 1278
  - 1279
  flask.app.Flask.add_template_filter:
  - 1116
  flask.app.Flask.add_template_global:
  - 1195
  flask.app.Flask.add_template_test:
  - 1157
  flask.app.Flask.add_url_rule:
  - 1058
  - 1080
  - 1082
  - 1062
  - 1063
  - 1067
  - 1068
  - 1070
  - 1040
  - 1041
  - 1043
  - 1077
  - 1048
  - 1049
  - 1050
  - 1083
  - 1081
  - 1055
  flask.app.Flask.app_context:
  - 1969
  - 1951
  flask.app.Flask.async_to_sync:
  - 1625
  - 1607
  flask.app.Flask.auto_find_instance_path:
  - 625
  - 632
  - 633
  - 634
  - 635
  flask.app.Flask.before_first_request:
  - 1209
  - 1217
  flask.app.Flask.create_global_jinja_loader:
  - 704
  - 714
  flask.app.Flask.create_jinja_environment:
  - 680
  - 682
  - 685
  - 688
  - 689
  - 669
  flask.app.Flask.create_url_adapter:
  - 1768
  - 1772
  - 1777
  - 1784
  - 1785
  - 1754
  flask.app.Flask.debug:
  - 779
  flask.app.Flask.dispatch_request:
  - 1482
  - 1492
  - 1493
  - 1497
  - 1498
  - 1501
  - 1503
  flask.app.Flask.do_teardown_appcontext:
  - 1928
  - 1942
  - 1943
  - 1945
  - 1946
  - 1948
  flask.app.Flask.do_teardown_request:
  - 1920
  - 1921
  - 1923
  - 1895
  - 1915
  - 1916
  - 1918
  - 1919
  flask.app.Flask.ensure_sync:
  - 1600
  - 1599
  - 1591
  flask.app.Flask.finalize_request:
  - 1539
  - 1541
  - 1542
  - 1544
  - 1546
  - 1527
  flask.app.Flask.full_dispatch_request:
  - 1506
  - 1512
  - 1514
  - 1515
  - 1516
  - 1517
  - 1519
  - 1520
  flask.app.Flask.got_first_request:
  - 600
  flask.app.Flask.handle_exception:
  - 1415
  - 1416
  - 1418
  - 1388
  - 1421
  - 1426
  - 1428
  - 1429
  - 1431
  - 1432
  - 1434
  flask.app.Flask.handle_http_exception:
  - 1312
  - 1315
  - 1316
  - 1318
  - 1288
  - 1306
  flask.app.Flask.handle_url_build_error:
  - 1827
  - 1832
  - 1817
  - 1820
  - 1822
  flask.app.Flask.handle_user_exception:
  - 1377
  - 1378
  - 1380
  - 1382
  - 1385
  - 1358
  - 1372
  flask.app.Flask.inject_url_defaults:
  - 1794
  - 1804
  - 1805
  - 1806
  - 1809
  - 1810
  - 1811
  - 1812
  flask.app.Flask.iter_blueprints:
  - 1025
  - 1029
  flask.app.Flask.jinja_env:
  - 596
  - 590
  flask.app.Flask.log_exception:
  - 1449
  - 1442
  flask.app.Flask.logger:
  - 586
  - 563
  flask.app.Flask.make_config:
  - 608
  - 617
  - 619
  - 620
  - 621
  - 622
  flask.app.Flask.make_default_options_response:
  - 1568
  - 1577
  - 1576
  - 1575
  flask.app.Flask.make_response:
  - 1673
  - 1674
  - 1677
  - 1680
  - 1681
  - 1694
  - 1702
  - 1703
  - 1707
  - 1713
  - 1714
  - 1715
  - 1719
  - 1737
  - 1739
  - 1740
  - 1746
  - 1747
  - 1628
  flask.app.Flask.make_shell_context:
  - 762
  - 755
  - 763
  flask.app.Flask.name:
  - 521
  - 529
  - 530
  - 531
  - 533
  flask.app.Flask.open_instance_resource:
  - 638
  - 647
  flask.app.Flask.preprocess_request:
  - 1856
  - 1857
  - 1859
  - 1838
  - 1847
  - 1849
  - 1850
  - 1851
  - 1852
  - 1854
  - 1855
  flask.app.Flask.preserve_context_on_exception:
  - 557
  - 550
  flask.app.Flask.process_response:
  - 1888
  - 1865
  - 1879
  - 1880
  - 1882
  - 1883
  - 1884
  - 1885
  - 1887
  flask.app.Flask.propagate_exceptions:
  - 544
  - 538
  flask.app.Flask.raise_routing_exception:
  - 1469
  - 1454
  - 1471
  flask.app.Flask.register_blueprint:
  - 998
  - 1022
  flask.app.Flask.request_context:
  - 1985
  - 1972
  flask.app.Flask.run:
  - 898
  - 899
  - 900
  - 901
  - 905
  - 906
  - 907
  - 909
  - 914
  - 807
  - 866
  - 869
  - 872
  - 873
  - 876
  - 877
  - 878
  - 879
  - 880
  - 883
  - 884
  - 886
  - 889
  - 890
  - 892
  - 893
  flask.app.Flask.select_jinja_autoescape:
  - 722
  - 724
  - 717
  flask.app.Flask.shell_context_processor:
  - 1259
  - 1255
  flask.app.Flask.should_ignore_error:
  - 1581
  flask.app.Flask.teardown_appcontext:
  - 1250
  - 1222
  flask.app.Flask.template_filter:
  - 1094
  flask.app.Flask.template_filter.decorator:
  - 1107
  flask.app.Flask.template_global:
  - 1171
  flask.app.Flask.template_global.decorator:
  - 1186
  flask.app.Flask.template_test:
  - 1128
  flask.app.Flask.template_test.decorator:
  - 1148
  flask.app.Flask.templates_auto_reload:
  - 651
  flask.app.Flask.test_cli_runner:
  - 994
  - 980
  - 991
  flask.app.Flask.test_client:
  - 922
  - 973
  - 975
  flask.app.Flask.test_request_context:
  - 2041
  - 1988
  - 2036
  - 2039
  flask.app.Flask.trap_http_exception:
  - 1346
  - 1350
  - 1351
  - 1321
  - 1337
  - 1343
  flask.app.Flask.try_trigger_before_first_request_functions:
  - 1552
  - 1558
  - 1561
  - 1563
  - 1564
  flask.app.Flask.update_template_context:
  - 740
  - 741
  - 745
  - 747
  - 748
  - 749
  - 750
  - 752
  - 727
  flask.app.Flask.wsgi_app:
  - 2080
  - 2082
  - 2084
  - 2044
  - 2068
  - 2072
  - 2073
  - 2076
  - 2078
  flask.app._make_timedelta:
  - 89
  - 86
  flask.app.iscoroutinefunction:
  - 82
  - 76
  - 79
  flask.blueprints:
  - 11
  flask.blueprints.Blueprint:
  - 103
  flask.blueprints.Blueprint.__init__:
  - 186
  - 194
  - 178
  flask.blueprints.Blueprint.add_app_template_filter:
  - 440
  - 429
  flask.blueprints.Blueprint.add_app_template_global:
  - 512
  - 499
  flask.blueprints.Blueprint.add_app_template_test:
  - 476
  - 463
  flask.blueprints.Blueprint.add_url_rule:
  - 391
  - 394
  - 397
  - 400
  - 401
  flask.blueprints.Blueprint.add_url_rule.<lambda1>:
  - 401
  flask.blueprints.Blueprint.after_app_request:
  - 538
  - 539
  - 535
  flask.blueprints.Blueprint.after_app_request.<lambda1>:
  - 539
  flask.blueprints.Blueprint.app_context_processor:
  - 560
  - 556
  - 559
  flask.blueprints.Blueprint.app_context_processor.<lambda1>:
  - 560
  flask.blueprints.Blueprint.app_errorhandler:
  - 567
  flask.blueprints.Blueprint.app_errorhandler.decorator:
  - 572
  flask.blueprints.Blueprint.app_errorhandler.decorator.<lambda1>:
  - 572
  flask.blueprints.Blueprint.app_template_filter:
  - 413
  flask.blueprints.Blueprint.app_template_filter.decorator:
  - 421
  flask.blueprints.Blueprint.app_template_global:
  - 481
  flask.blueprints.Blueprint.app_template_global.decorator:
  - 491
  flask.blueprints.Blueprint.app_template_test:
  - 445
  flask.blueprints.Blueprint.app_template_test.decorator:
  - 455
  flask.blueprints.Blueprint.app_url_defaults:
  - 587
  - 588
  - 589
  flask.blueprints.Blueprint.app_url_defaults.<lambda1>:
  - 589
  flask.blueprints.Blueprint.app_url_value_preprocessor:
  - 580
  - 581
  - 582
  flask.blueprints.Blueprint.app_url_value_preprocessor.<lambda1>:
  - 582
  flask.blueprints.Blueprint.before_app_first_request:
  - 528
  - 531
  flask.blueprints.Blueprint.before_app_first_request.<lambda1>:
  - 531
  flask.blueprints.Blueprint.before_app_request:
  - 520
  - 521
  - 517
  flask.blueprints.Blueprint.before_app_request.<lambda1>:
  - 521
  flask.blueprints.Blueprint.make_setup_state:
  - 242
  - 238
  flask.blueprints.Blueprint.record:
  - 205
  - 210
  - 213
  - 214
  - 220
  flask.blueprints.Blueprint.record_once:
  - 233
  - 223
  flask.blueprints.Blueprint.record_once.wrapper:
  - 230
  - 231
  flask.blueprints.Blueprint.register:
  - 262
  - 287
  - 288
  - 289
  - 291
  - 301
  - 306
  - 308
  - 309
  - 316
  - 323
  - 325
  - 329
  - 331
  - 336
  - 339
  - 340
  - 341
  - 345
  - 346
  - 347
  - 349
  - 350
  - 352
  - 354
  - 355
  - 356
  - 357
  - 359
  - 362
  - 364
  - 365
  - 366
  - 368
  - 371
  - 373
  - 375
  - 377
  - 381
  flask.blueprints.Blueprint.register.extend:
  - 321
  - 319
  flask.blueprints.Blueprint.register_blueprint:
  - 257
  - 259
  - 245
  flask.blueprints.Blueprint.teardown_app_request:
  - 544
  - 548
  - 549
  flask.blueprints.Blueprint.teardown_app_request.<lambda1>:
  - 549
  flask.blueprints.BlueprintSetupState:
  - 18
  flask.blueprints.BlueprintSetupState.__init__:
  - 67
  - 68
  - 47
  - 48
  - 55
  - 56
  - 62
  - 63
  flask.blueprints.BlueprintSetupState.add_url_rule:
  - 77
  - 81
  - 82
  - 83
  - 86
  - 87
  - 88
  - 90
  - 91
  - 93
  - 95
  flask.cli:
  - 769
  - 771
  - 776
  - 394
  - 782
  - 788
  - 916
  - 917
  - 920
  - 794
  - 799
  - 927
  - 802
  - 808
  - 811
  - 965
  - 966
  - 989
  - 990
  - 865
  - 760
  - 761
  - 762
  - 763
  - 252
  - 765
  flask.cli.AppGroup:
  - 413
  flask.cli.AppGroup.command:
  - 425
  - 421
  flask.cli.AppGroup.command.decorator:
  - 428
  - 429
  - 430
  flask.cli.AppGroup.group:
  - 440
  - 435
  - 439
  flask.cli.CertParamType:
  - 666
  flask.cli.CertParamType.__init__:
  - 674
  flask.cli.CertParamType.convert:
  - 705
  - 687
  - 689
  - 691
  - 703
  flask.cli.DispatchingApp:
  - 263
  flask.cli.DispatchingApp.__call__:
  - 320
  - 321
  - 323
  - 326
  - 327
  - 319
  flask.cli.DispatchingApp.__init__:
  - 272
  - 275
  - 276
  - 278
  - 279
  - 281
  flask.cli.DispatchingApp._flush_bg_loading_exception:
  - 307
  flask.cli.DispatchingApp._load_in_background:
  - 300
  - 301
  - 286
  flask.cli.DispatchingApp._load_in_background._load_app:
  - 296
  - 292
  - 293
  flask.cli.DispatchingApp._load_unlocked:
  - 313
  flask.cli.FlaskGroup:
  - 444
  flask.cli.FlaskGroup.__init__:
  - 480
  - 485
  - 486
  - 487
  - 488
  - 475
  - 477
  - 478
  flask.cli.FlaskGroup._load_plugin_commands:
  - 496
  - 504
  - 505
  - 493
  flask.cli.FlaskGroup.get_command:
  - 513
  - 515
  - 518
  - 523
  - 525
  - 510
  flask.cli.FlaskGroup.list_commands:
  - 544
  - 546
  - 528
  - 530
  - 531
  - 536
  - 540
  flask.cli.FlaskGroup.main:
  - 555
  - 556
  - 558
  - 560
  - 561
  - 566
  - 567
  flask.cli.NoAppException:
  - 23
  flask.cli.ScriptInfo:
  - 331
  flask.cli.ScriptInfo.__init__:
  - 341
  flask.cli.ScriptInfo.load_app:
  - 352
  - 385
  - 388
  - 358
  - 361
  - 362
  - 364
  - 366
  - 368
  - 369
  - 371
  - 372
  - 373
  - 375
  - 378
  flask.cli.SeparatedPathType:
  - 749
  flask.cli.SeparatedPathType.convert:
  - 755
  - 756
  - 757
  flask.cli._called_with_wrong_args:
  - 80
  - 91
  - 87
  flask.cli._path_is_ancestor:
  - 571
  - 574
  flask.cli._validate_key:
  - 736
  - 742
  - 712
  - 715
  - 723
  - 725
  - 726
  - 731
  flask.cli.find_app_by_string:
  - 161
  - 135
  - 136
  - 106
  - 172
  - 114
  - 149
  - 120
  - 124
  - 157
  - 126
  - 159
  flask.cli.find_best_app:
  - 33
  - 34
  - 36
  - 40
  - 59
  - 42
  - 44
  - 52
  - 53
  - 55
  - 57
  - 27
  - 62
  flask.cli.get_version:
  - 249
  - 243
  - 244
  - 237
  flask.cli.load_dotenv:
  - 578
  - 614
  - 615
  - 616
  - 622
  - 623
  - 625
  - 628
  - 629
  - 631
  - 602
  - 603
  flask.cli.locate_app:
  - 230
  - 231
  - 233
  - 214
  - 218
  - 223
  flask.cli.main:
  - 986
  flask.cli.prepare_import:
  - 192
  - 198
  - 199
  - 201
  - 204
  - 205
  - 207
  - 182
  - 185
  - 187
  - 188
  - 191
  flask.cli.routes_command:
  - 930
  - 932
  - 933
  - 934
  - 937
  - 939
  - 940
  - 941
  - 942
  - 945
  - 951
  - 952
  - 953
  - 955
  - 956
  - 958
  - 959
  - 961
  - 962
  flask.cli.routes_command.<lambda1>:
  - 942
  flask.cli.run_command:
  - 839
  - 841
  - 844
  - 847
  - 848
  - 852
  - 831
  flask.cli.shell_command:
  - 898
  - 868
  - 900
  - 909
  - 911
  - 913
  - 888
  - 889
  - 890
  - 891
  - 893
  flask.cli.show_server_banner:
  - 640
  - 643
  - 646
  - 649
  - 651
  - 653
  - 654
  - 659
  - 661
  - 662
  - 637
  flask.cli.with_appcontext:
  - 409
  - 398
  flask.cli.with_appcontext.decorator:
  - 406
  - 407
  flask.config.Config:
  - 30
  flask.config.Config.__init__:
  - 74
  flask.config.Config.__repr__:
  - 337
  flask.config.Config.from_envvar:
  - 99
  - 78
  - 89
  - 90
  - 91
  flask.config.Config.from_file:
  - 261
  - 264
  - 265
  - 267
  - 238
  - 273
  flask.config.Config.from_mapping:
  - 288
  - 289
  - 278
  - 285
  - 286
  - 287
  flask.config.Config.from_object:
  - 226
  - 195
  - 228
  - 229
  - 227
  - 230
  flask.config.Config.from_prefixed_env:
  - 128
  - 130
  - 131
  - 104
  - 137
  - 145
  - 152
  - 154
  - 156
  flask.config.Config.from_pyfile:
  - 166
  - 180
  - 181
  - 184
  - 185
  - 187
  - 191
  flask.config.Config.get_namespace:
  - 324
  - 325
  - 327
  - 296
  - 328
  - 331
  - 332
  flask.config.ConfigAttribute:
  - 11
  flask.config.ConfigAttribute.__get__:
  - 18
  - 21
  - 22
  flask.ctx:
  - 21
  - 14
  flask.ctx.AppContext:
  - 229
  flask.ctx.AppContext.__enter__:
  - 266
  flask.ctx.AppContext.__exit__:
  - 275
  flask.ctx.AppContext.__init__:
  - 240
  - 239
  flask.ctx.AppContext.pop:
  - 256
  - 257
  - 258
  - 259
  - 261
  - 263
  - 253
  flask.ctx.AppContext.push:
  - 249
  - 250
  - 247
  flask.ctx.RequestContext:
  - 279
  flask.ctx.RequestContext.__enter__:
  - 493
  flask.ctx.RequestContext.__exit__:
  - 507
  flask.ctx.RequestContext.__init__:
  - 321
  - 316
  - 317
  flask.ctx.RequestContext.__repr__:
  - 511
  flask.ctx.RequestContext.auto_pop:
  - 490
  - 484
  flask.ctx.RequestContext.copy:
  - 385
  - 373
  flask.ctx.RequestContext.g:
  - 363
  - 350
  flask.ctx.RequestContext.match_request:
  - 393
  - 397
  flask.ctx.RequestContext.pop:
  - 477
  - 452
  - 456
  - 459
  - 460
  - 461
  - 463
  - 464
  - 465
  - 468
  - 472
  - 476
  - 445
  flask.ctx.RequestContext.push:
  - 419
  - 420
  - 421
  - 422
  - 424
  - 426
  - 432
  - 434
  - 403
  - 436
  - 437
  - 441
  - 442
  - 413
  - 414
  flask.ctx._AppCtxGlobals:
  - 25
  flask.ctx._AppCtxGlobals.__iter__:
  - 103
  flask.ctx._AppCtxGlobals.__repr__:
  - 107
  - 109
  flask.ctx._AppCtxGlobals.get:
  - 71
  - 63
  flask.ctx._AppCtxGlobals.pop:
  - 74
  - 83
  - 85
  - 82
  flask.ctx._AppCtxGlobals.setdefault:
  - 88
  - 97
  flask.ctx.after_this_request:
  - 113
  - 141
  - 135
  flask.ctx.copy_current_request_context:
  - 177
  - 146
  - 171
  - 183
  flask.ctx.copy_current_request_context.wrapper:
  - 181
  flask.ctx.has_app_context:
  - 219
  flask.ctx.has_request_context:
  - 187
  flask.debughelpers.DebugFilesKeyError:
  - 17
  flask.debughelpers.DebugFilesKeyError.__init__:
  - 32
  - 33
  - 37
  - 22
  - 31
  flask.debughelpers.FormDataRoutingRedirect:
  - 44
  flask.debughelpers.FormDataRoutingRedirect.__init__:
  - 64
  - 57
  - 58
  - 70
  flask.debughelpers.UnexpectedUnicodeError:
  - 11
  flask.debughelpers._dump_loader_info:
  - 100
  - 101
  - 102
  - 104
  - 105
  - 107
  - 108
  - 109
  - 111
  - 113
  flask.debughelpers.attach_enctype_error_multidict:
  - 74
  flask.debughelpers.attach_enctype_error_multidict.newcls.__getitem__:
  - 85
  - 87
  flask.debughelpers.explain_ignored_app_run:
  - 165
  - 166
  - 167
  flask.debughelpers.explain_template_loading_attempts:
  - 128
  - 131
  - 133
  - 135
  - 136
  - 138
  - 143
  - 146
  - 147
  - 149
  - 150
  - 153
  - 154
  - 158
  - 159
  - 161
  - 117
  - 122
  - 125
  - 126
  flask.globals:
  - 7
  - 52
  - 53
  - 54
  - 55
  - 56
  - 57
  - 59
  flask.globals._find_app:
  - 46
  flask.globals._lookup_app_object:
  - 41
  - 39
  flask.globals._lookup_req_object:
  - 32
  - 34
  flask.helpers:
  - 784
  - 23
  flask.helpers._prepare_send_file_kwargs:
  - 482
  - 451
  - 452
  - 461
  - 462
  - 470
  - 471
  - 479
  flask.helpers._split_blueprint_path:
  - 788
  - 789
  flask.helpers.flash:
  - 387
  - 388
  - 390
  - 391
  - 366
  flask.helpers.get_debug_flag:
  - 36
  - 41
  - 43
  - 44
  - 46
  flask.helpers.get_env:
  - 32
  - 28
  flask.helpers.get_flashed_messages:
  - 429
  - 431
  - 400
  - 433
  - 434
  - 435
  flask.helpers.get_load_dotenv:
  - 56
  - 50
  - 58
  - 61
  flask.helpers.get_root_path:
  - 705
  - 706
  - 709
  - 711
  - 682
  - 716
  - 691
  - 693
  - 694
  - 727
  - 697
  - 702
  - 703
  flask.helpers.get_template_attribute:
  - 344
  - 362
  flask.helpers.is_ip:
  - 773
  - 765
  - 775
  flask.helpers.locked_cached_property:
  - 731
  flask.helpers.locked_cached_property.__delete__:
  - 761
  flask.helpers.locked_cached_property.__get__:
  - 753
  - 749
  flask.helpers.locked_cached_property.__init__:
  - 745
  - 746
  flask.helpers.locked_cached_property.__set__:
  - 757
  flask.helpers.make_response:
  - 144
  - 185
  - 186
  - 187
  - 189
  flask.helpers.send_file:
  - 610
  - 611
  - 509
  flask.helpers.send_from_directory:
  - 676
  - 677
  - 634
  - 667
  - 668
  flask.helpers.stream_with_context:
  - 69
  - 103
  - 138
  - 139
  - 110
  flask.helpers.stream_with_context.decorator:
  - 107
  - 108
  flask.helpers.stream_with_context.generator:
  - 129
  - 131
  - 132
  - 114
  - 122
  flask.helpers.url_for:
  - 271
  - 280
  - 284
  - 285
  - 290
  - 297
  - 304
  - 306
  - 307
  - 308
  - 309
  - 315
  - 316
  - 193
  - 323
  - 327
  - 336
  - 338
  - 339
  flask.json:
  - 14
  flask.json.JSONDecoder:
  - 55
  flask.json.JSONEncoder:
  - 20
  flask.json.JSONEncoder.default:
  - 38
  - 43
  - 44
  - 45
  - 46
  - 47
  - 48
  - 49
  - 50
  - 51
  flask.json._dump_arg_defaults:
  - 68
  - 69
  - 72
  - 74
  - 75
  - 80
  - 81
  - 83
  - 84
  - 85
  - 87
  - 88
  flask.json._load_arg_defaults:
  - 98
  - 100
  - 101
  - 106
  - 107
  - 94
  - 95
  flask.json.dump:
  - 153
  - 138
  - 154
  flask.json.dumps:
  - 131
  - 132
  - 111
  flask.json.htmlsafe_dump:
  - 232
  - 228
  flask.json.htmlsafe_dumps:
  - 224
  - 204
  flask.json.jsonify:
  - 290
  - 294
  - 296
  - 236
  - 301
  - 302
  flask.json.load:
  - 200
  - 185
  - 199
  flask.json.loads:
  - 162
  - 180
  - 181
  flask.json.tag:
  - 1
  flask.json.tag.JSONTag:
  - 58
  flask.json.tag.JSONTag.__init__:
  - 67
  flask.json.tag.JSONTag.check:
  - 71
  flask.json.tag.JSONTag.tag:
  - 85
  - 87
  flask.json.tag.JSONTag.to_json:
  - 75
  flask.json.tag.JSONTag.to_python:
  - 80
  flask.json.tag.PassDict.check:
  - 120
  flask.json.tag.PassDict.to_json:
  - 125
  flask.json.tag.PassList.check:
  - 148
  flask.json.tag.PassList.to_json:
  - 151
  flask.json.tag.TagBytes.check:
  - 161
  flask.json.tag.TagBytes.to_json:
  - 164
  flask.json.tag.TagBytes.to_python:
  - 167
  flask.json.tag.TagDateTime.check:
  - 207
  flask.json.tag.TagDateTime.to_json:
  - 210
  flask.json.tag.TagDateTime.to_python:
  - 213
  flask.json.tag.TagDict:
  - 91
  flask.json.tag.TagDict.check:
  - 104
  - 102
  - 103
  flask.json.tag.TagDict.to_json:
  - 108
  - 109
  flask.json.tag.TagDict.to_python:
  - 112
  flask.json.tag.TagMarkup:
  - 171
  flask.json.tag.TagMarkup.check:
  - 179
  flask.json.tag.TagMarkup.to_json:
  - 182
  flask.json.tag.TagMarkup.to_python:
  - 185
  flask.json.tag.TagTuple.check:
  - 135
  flask.json.tag.TagTuple.to_json:
  - 138
  flask.json.tag.TagTuple.to_python:
  - 141
  flask.json.tag.TagUUID.check:
  - 193
  flask.json.tag.TagUUID.to_python:
  - 199
  flask.json.tag.TaggedJSONSerializer:
  - 217
  flask.json.tag.TaggedJSONSerializer.__init__:
  - 250
  - 251
  flask.json.tag.TaggedJSONSerializer.dumps:
  - 307
  - 308
  flask.json.tag.TaggedJSONSerializer.loads:
  - 312
  - 311
  flask.json.tag.TaggedJSONSerializer.register:
  - 259
  - 272
  - 275
  - 276
  - 281
  - 282
  - 284
  flask.json.tag.TaggedJSONSerializer.tag:
  - 288
  - 289
  - 290
  - 287
  flask.json.tag.TaggedJSONSerializer.untag:
  - 295
  - 296
  - 299
  - 301
  - 304
  flask.logging:
  - 48
  - 9
  - 49
  - 47
  flask.logging.create_logger:
  - 66
  - 68
  - 69
  - 71
  - 72
  - 54
  flask.logging.has_level_handler:
  - 34
  - 27
  - 37
  - 30
  flask.logging.wsgi_errors_stream:
  - 15
  flask.scaffold:
  - 24
  - 28
  - 30
  flask.scaffold.Scaffold:
  - 56
  flask.scaffold.Scaffold.__init__:
  - 231
  - 200
  - 105
  - 106
  - 170
  - 142
  - 116
  - 216
  - 185
  - 156
  flask.scaffold.Scaffold.__init__.<lambda1>:
  - 142
  flask.scaffold.Scaffold.__repr__:
  - 234
  flask.scaffold.Scaffold._get_exc_class_and_code:
  - 728
  - 736
  - 745
  - 741
  flask.scaffold.Scaffold._method_route:
  - 368
  - 371
  flask.scaffold.Scaffold.add_url_rule:
  - 460
  flask.scaffold.Scaffold.after_request:
  - 577
  - 566
  flask.scaffold.Scaffold.before_request:
  - 544
  - 561
  flask.scaffold.Scaffold.context_processor:
  - 624
  - 623
  flask.scaffold.Scaffold.delete:
  - 403
  - 407
  flask.scaffold.Scaffold.endpoint:
  - 520
  flask.scaffold.Scaffold.errorhandler:
  - 659
  flask.scaffold.Scaffold.errorhandler.decorator:
  - 689
  flask.scaffold.Scaffold.get:
  - 376
  - 380
  flask.scaffold.Scaffold.get_send_file_max_age:
  - 288
  - 306
  - 303
  flask.scaffold.Scaffold.has_static_folder:
  - 258
  flask.scaffold.Scaffold.jinja_loader:
  - 328
  - 334
  - 335
  flask.scaffold.Scaffold.open_resource:
  - 360
  - 340
  - 357
  flask.scaffold.Scaffold.patch:
  - 416
  - 412
  flask.scaffold.Scaffold.post:
  - 385
  - 389
  flask.scaffold.Scaffold.put:
  - 394
  - 398
  flask.scaffold.Scaffold.register_error_handler:
  - 714
  - 706
  - 700
  flask.scaffold.Scaffold.route:
  - 421
  flask.scaffold.Scaffold.route.decorator:
  - 445
  - 446
  flask.scaffold.Scaffold.send_static_file:
  - 321
  - 322
  - 323
  - 309
  - 316
  flask.scaffold.Scaffold.static_folder:
  - 241
  - 244
  - 245
  - 251
  - 252
  flask.scaffold.Scaffold.static_url_path:
  - 266
  - 271
  - 274
  - 275
  - 276
  - 282
  - 283
  flask.scaffold.Scaffold.teardown_request:
  - 616
  - 582
  flask.scaffold.Scaffold.url_defaults:
  - 648
  - 652
  flask.scaffold.Scaffold.url_value_preprocessor:
  - 643
  - 631
  flask.scaffold._endpoint_from_view_func:
  - 752
  flask.scaffold._find_package_path:
  - 794
  - 795
  - 798
  - 800
  - 811
  - 812
  - 813
  - 815
  - 816
  - 821
  - 825
  - 826
  - 828
  - 829
  - 832
  - 835
  - 837
  - 839
  - 841
  - 842
  - 843
  - 849
  - 851
  - 855
  - 856
  flask.scaffold._matching_loader_thinks_module_is_package:
  - 769
  - 773
  - 760
  - 766
  - 767
  flask.scaffold._path_is_relative_to:
  - 787
  flask.scaffold.find_package:
  - 874
  - 875
  - 878
  - 881
  - 884
  - 885
  - 888
  - 892
  - 893
  - 862
  flask.scaffold.setupmethod:
  - 34
  - 52
  flask.scaffold.setupmethod.wrapper_func:
  - 50
  - 39
  flask.sessions:
  - 325
  - 14
  flask.sessions.NullSession:
  - 91
  flask.sessions.SecureCookieSession:
  - 49
  flask.sessions.SecureCookieSession.__getitem__:
  - 79
  flask.sessions.SecureCookieSession.__init__:
  - 75
  flask.sessions.SecureCookieSession.get:
  - 83
  flask.sessions.SecureCookieSession.setdefault:
  - 87
  flask.sessions.SecureCookieSessionInterface:
  - 337
  - 329
  flask.sessions.SecureCookieSessionInterface.get_signing_serializer:
  - 352
  - 355
  - 350
  flask.sessions.SecureCookieSessionInterface.open_session:
  - 365
  - 366
  - 368
  - 369
  - 370
  - 371
  - 373
  - 374
  - 376
  flask.sessions.SecureCookieSessionInterface.save_session:
  - 384
  - 385
  - 386
  - 390
  - 391
  - 392
  - 404
  - 405
  - 407
  - 410
  - 411
  - 412
  - 381
  - 382
  - 383
  flask.sessions.SessionInterface:
  - 108
  flask.sessions.SessionInterface.get_cookie_domain:
  - 225
  - 227
  - 228
  - 199
  - 205
  - 237
  - 211
  - 213
  - 217
  - 186
  flask.sessions.SessionInterface.get_cookie_httponly:
  - 252
  flask.sessions.SessionInterface.get_cookie_name:
  - 179
  flask.sessions.SessionInterface.get_cookie_path:
  - 244
  flask.sessions.SessionInterface.get_cookie_samesite:
  - 265
  flask.sessions.SessionInterface.get_cookie_secure:
  - 259
  flask.sessions.SessionInterface.get_expiration_time:
  - 280
  - 274
  - 279
  flask.sessions.SessionInterface.is_null_session:
  - 176
  - 170
  flask.sessions.SessionInterface.make_null_session:
  - 158
  - 167
  flask.sessions.SessionInterface.open_session:
  - 302
  flask.sessions.SessionInterface.save_session:
  - 318
  flask.sessions.SessionInterface.should_set_cookie:
  - 284
  flask.sessions.SessionMixin:
  - 21
  flask.sessions.SessionMixin.permanent:
  - 25
  - 26
  - 30
  flask.signals:
  - 42
  - 47
  - 48
  - 49
  - 50
  - 51
  - 52
  - 53
  - 54
  - 55
  - 56
  flask.signals.Namespace.signal:
  - 12
  flask.signals._FakeSignal:
  - 15
  flask.templating:
  - 13
  flask.templating.DispatchingJinjaLoader:
  - 47
  flask.templating.DispatchingJinjaLoader._get_source_explained:
  - 70
  - 72
  - 73
  - 77
  - 81
  - 83
  flask.templating.DispatchingJinjaLoader._get_source_fast:
  - 90
  - 92
  flask.templating.DispatchingJinjaLoader._iter_loaders:
  - 101
  - 102
  - 104
  - 106
  - 107
  flask.templating.DispatchingJinjaLoader.get_source:
  - 57
  - 58
  - 59
  flask.templating.DispatchingJinjaLoader.list_templates:
  - 110
  - 112
  - 113
  - 115
  - 117
  - 118
  - 119
  - 121
  flask.templating.Environment:
  - 34
  flask.templating.Environment.__init__:
  - 40
  - 41
  - 42
  flask.templating._default_template_ctx_processor:
  - 27
  - 25
  - 19
  flask.templating._render:
  - 128
  - 129
  - 125
  - 127
  flask.templating.render_template:
  - 137
  - 148
  - 153
  - 154
  - 155
  flask.templating.render_template_string:
  - 178
  - 177
  - 162
  - 172
  flask.testing:
  - 17
  flask.testing.EnvironBuilder:
  - 24
  flask.testing.EnvironBuilder.__init__:
  - 65
  - 68
  - 71
  - 74
  - 78
  - 79
  - 83
  - 57
  - 61
  - 62
  flask.testing.EnvironBuilder.json_dumps:
  - 91
  - 92
  - 86
  flask.testing.FlaskCliRunner:
  - 251
  flask.testing.FlaskCliRunner.__init__:
  - 258
  flask.testing.FlaskCliRunner.invoke:
  - 263
  - 277
  - 280
  - 281
  - 283
  flask.testing.FlaskClient:
  - 96
  flask.testing.FlaskClient.__enter__:
  - 224
  flask.testing.FlaskClient.__exit__:
  - 244
  - 245
  flask.testing.FlaskClient.__init__:
  - 114
  flask.testing.FlaskClient._request_from_builder_args:
  - 184
  - 187
  - 189
  - 183
  flask.testing.FlaskClient.open:
  - 198
  - 201
  - 202
  - 203
  - 204
  - 205
  - 206
  - 207
  - 211
  - 212
  - 215
  - 217
  flask.testing.FlaskClient.session_transaction:
  - 163
  - 165
  - 167
  - 169
  - 170
  - 171
  - 140
  - 172
  - 173
  - 145
  - 146
  - 148
  - 150
  - 151
  - 124
  flask.typing:
  - 34
  - 3
  - 58
  - 55
  flask.views:
  - 8
  flask.views.MethodView:
  - 134
  flask.views.MethodView.dispatch_request:
  - 158
  - 154
  - 155
  - 150
  flask.views.MethodViewType:
  - 107
  flask.views.MethodViewType.__init__:
  - 129
  - 112
  - 114
  - 115
  - 117
  - 118
  - 119
  - 121
  - 122
  - 123
  flask.views.View:
  - 14
  flask.views.View.as_view:
  - 89
  - 73
  - 90
  - 86
  flask.views.View.as_view.view:
  - 83
  - 84
  flask.views.View.dispatch_request:
  - 63
  flask.wrappers:
  - 11
  flask.wrappers.Request:
  - 16
  flask.wrappers.Request._load_form_data:
  - 112
  - 124
  - 116
  flask.wrappers.Request.blueprint:
  - 89
  - 90
  - 77
  flask.wrappers.Request.blueprints:
  - 96
  - 106
  - 109
  flask.wrappers.Request.endpoint:
  - 70
  - 62
  flask.wrappers.Request.max_content_length:
  - 54
  - 55
  flask.wrappers.Request.on_json_loading_failed:
  - 128
  - 130
  flask.wrappers.Response:
  - 137
  flask.wrappers.Response.max_cookie_size:
  - 162
  - 171
  - 167
  flask_restx._http:
  - 2
  flask_restx._http.HTTPStatus:
  - 10
  flask_restx._http.HTTPStatus.__new__:
  - 25
  flask_restx._http.HTTPStatus.__str__:
  - 33
  flask_restx.api:
  - 59
  - 52
  - 37
  flask_restx.api.Api:
  - 63
  flask_restx.api.Api.__getattr__:
  - 283
  flask_restx.api.Api.__init__:
  - 191
  - 197
  - 199
  - 172
  - 174
  - 182
  - 188
  - 159
  flask_restx.api.Api.__schema__:
  - 578
  - 571
  - 573
  - 566
  flask_restx.api.Api._blueprint_setup_add_url_rule_patch:
  - 833
  - 847
  - 848
  - 849
  - 851
  - 852
  - 853
  - 855
  - 856
  - 857
  flask_restx.api.Api._complete_url:
  - 288
  - 297
  flask_restx.api.Api._configure_namespace_logger:
  - 338
  - 339
  - 340
  flask_restx.api.Api._deferred_blueprint_init:
  - 866
  - 881
  - 883
  - 886
  - 888
  flask_restx.api.Api._has_fr_route:
  - 649
  - 652
  - 654
  - 647
  flask_restx.api.Api._help_on_404:
  - 802
  - 787
  - 789
  - 790
  - 793
  - 794
  - 796
  - 798
  flask_restx.api.Api._init_app:
  - 256
  - 257
  - 259
  - 260
  - 262
  - 266
  - 268
  - 269
  - 270
  - 273
  - 275
  - 245
  - 250
  - 251
  - 255
  flask_restx.api.Api._own_and_child_error_handlers:
  - 584
  - 585
  - 586
  - 587
  flask_restx.api.Api._propagate_exceptions:
  - 683
  - 684
  - 677
  flask_restx.api.Api._register_apidoc:
  - 300
  - 301
  - 302
  flask_restx.api.Api._register_doc:
  - 321
  - 322
  - 319
  flask_restx.api.Api._register_specs:
  - 306
  - 307
  - 308
  - 316
  flask_restx.api.Api._register_view:
  - 353
  - 387
  - 357
  - 390
  - 360
  - 361
  - 377
  - 392
  - 367
  - 368
  - 370
  - 372
  - 374
  - 343
  - 344
  - 345
  - 348
  flask_restx.api.Api._should_use_fr_error_handler:
  - 622
  - 631
  - 634
  - 638
  - 639
  flask_restx.api.Api.add_namespace:
  - 512
  - 513
  - 491
  - 498
  - 499
  - 500
  - 501
  - 503
  - 506
  - 507
  - 508
  - 510
  flask_restx.api.Api.as_postman:
  - 816
  - 809
  flask_restx.api.Api.base_path:
  - 562
  - 557
  flask_restx.api.Api.base_url:
  - 553
  - 548
  flask_restx.api.Api.default_endpoint:
  - 459
  - 470
  - 471
  - 472
  - 473
  - 476
  - 477
  flask_restx.api.Api.documentation:
  - 443
  flask_restx.api.Api.endpoint:
  - 528
  - 527
  flask_restx.api.Api.error_router:
  - 673
  - 674
  - 657
  - 669
  - 671
  flask_restx.api.Api.errorhandler:
  - 592
  - 593
  flask_restx.api.Api.get_ns_path:
  - 484
  flask_restx.api.Api.handle_error:
  - 769
  - 775
  - 776
  - 778
  - 782
  - 783
  - 689
  - 698
  - 699
  - 700
  - 701
  - 703
  - 704
  - 709
  - 714
  - 716
  - 717
  - 718
  - 719
  - 745
  - 746
  - 748
  - 751
  - 752
  - 753
  - 755
  - 757
  - 759
  - 762
  - 764
  flask_restx.api.Api.init_app:
  - 224
  - 225
  - 226
  - 227
  - 228
  - 229
  - 230
  - 231
  - 232
  - 233
  - 203
  - 237
  - 240
  - 222
  - 223
  flask_restx.api.Api.make_response:
  - 423
  - 425
  - 429
  - 431
  - 432
  - 435
  - 436
  - 413
  flask_restx.api.Api.mediatypes:
  - 898
  - 899
  - 895
  flask_restx.api.Api.mediatypes_method:
  - 891
  - 892
  flask_restx.api.Api.mediatypes_method.<lambda1>:
  - 892
  flask_restx.api.Api.namespace:
  - 521
  - 522
  - 523
  - 516
  flask_restx.api.Api.ns_urls:
  - 487
  flask_restx.api.Api.output:
  - 402
  - 395
  flask_restx.api.Api.output.wrapper:
  - 408
  - 404
  - 405
  - 407
  flask_restx.api.Api.owns_endpoint:
  - 616
  - 614
  - 606
  - 615
  flask_restx.api.Api.payload:
  - 820
  - 821
  flask_restx.api.Api.refresolver:
  - 825
  - 826
  flask_restx.api.Api.register_resource:
  - 325
  - 326
  - 329
  - 331
  - 332
  - 334
  flask_restx.api.Api.render_doc:
  - 451
  - 452
  - 453
  - 454
  - 455
  - 456
  flask_restx.api.Api.render_root:
  - 448
  flask_restx.api.Api.representation:
  - 904
  flask_restx.api.Api.specs_url:
  - 543
  - 534
  - 542
  flask_restx.api.Api.unauthorized:
  - 936
  - 937
  - 933
  - 935
  flask_restx.api.Api.url_for:
  - 951
  - 949
  - 950
  - 943
  flask_restx.api.SwaggerView:
  - 955
  flask_restx.api.mask_error_handler:
  - 974
  - 975
  flask_restx.api.mask_parse_error_handler:
  - 969
  - 970
  flask_restx.apidoc:
  - 19
  flask_restx.apidoc.Apidoc:
  - 5
  flask_restx.apidoc.Apidoc.__init__:
  - 12
  flask_restx.apidoc.Apidoc.register:
  - 15
  flask_restx.apidoc.swagger_static:
  - 30
  flask_restx.apidoc.ui_for:
  - 34
  - 35
  flask_restx.cors.crossdomain:
  - 16
  - 19
  - 20
  - 21
  - 22
  - 23
  - 24
  - 25
  - 26
  - 27
  - 28
  flask_restx.cors.crossdomain.decorator:
  - 60
  flask_restx.cors.crossdomain.decorator.wrapped_function:
  - 39
  - 40
  - 42
  - 43
  - 49
  - 50
  - 51
  - 53
  - 55
  flask_restx.cors.crossdomain.get_methods:
  - 34
  - 31
  flask_restx.errors.RestError:
  - 38
  flask_restx.errors.SpecsError:
  - 54
  flask_restx.errors.ValidationError:
  - 48
  flask_restx.errors.abort:
  - 32
  - 16
  - 28
  - 30
  - 31
  flask_restx.fields:
  - 496
  flask_restx.fields.Arbitrary:
  - 486
  flask_restx.fields.Arbitrary.format:
  - 493
  flask_restx.fields.Boolean:
  - 516
  flask_restx.fields.Boolean.format:
  - 525
  flask_restx.fields.ClassName:
  - 693
  flask_restx.fields.ClassName.__init__:
  - 700
  flask_restx.fields.ClassName.output:
  - 705
  - 707
  flask_restx.fields.Date:
  - 606
  flask_restx.fields.Date.__init__:
  - 616
  - 615
  flask_restx.fields.Date.parse:
  - 619
  - 621
  - 622
  - 623
  - 624
  - 625
  flask_restx.fields.DateTime:
  - 529
  flask_restx.fields.DateTime.__init__:
  - 543
  flask_restx.fields.DateTime._for_schema:
  - 594
  - 595
  flask_restx.fields.DateTime.format:
  - 565
  - 566
  - 567
  - 568
  - 569
  flask_restx.fields.DateTime.format_iso8601:
  - 585
  - 591
  flask_restx.fields.DateTime.format_rfc822:
  - 576
  - 582
  flask_restx.fields.DateTime.parse:
  - 547
  - 549
  - 555
  - 556
  - 558
  - 559
  flask_restx.fields.DateTime.schema:
  - 600
  - 601
  - 598
  - 599
  flask_restx.fields.Fixed:
  - 500
  flask_restx.fields.Fixed.__init__:
  - 505
  - 506
  flask_restx.fields.Fixed.format:
  - 512
  - 509
  - 510
  flask_restx.fields.Float:
  - 470
  flask_restx.fields.Float.format:
  - 480
  - 478
  flask_restx.fields.FormattedString:
  - 660
  flask_restx.fields.FormattedString.__init__:
  - 681
  - 682
  flask_restx.fields.FormattedString.output:
  - 686
  - 687
  flask_restx.fields.Integer:
  - 452
  flask_restx.fields.Integer.format:
  - 464
  - 462
  flask_restx.fields.List:
  - 298
  flask_restx.fields.List.__init__:
  - 307
  - 308
  - 309
  - 310
  - 312
  - 313
  - 315
  - 317
  flask_restx.fields.List.clone:
  - 366
  - 367
  - 368
  - 369
  - 370
  flask_restx.fields.List.format:
  - 323
  - 324
  - 326
  - 331
  - 334
  - 337
  - 340
  flask_restx.fields.List.format.is_attr:
  - 329
  flask_restx.fields.List.output:
  - 352
  - 344
  - 346
  - 347
  - 349
  - 350
  flask_restx.fields.List.schema:
  - 355
  - 356
  - 357
  - 358
  - 359
  flask_restx.fields.MarshallingError:
  - 51
  flask_restx.fields.MarshallingError.__init__:
  - 58
  flask_restx.fields.MinMaxMixin.__init__:
  - 394
  - 395
  - 396
  - 397
  - 398
  flask_restx.fields.MinMaxMixin.schema:
  - 401
  - 402
  - 403
  - 404
  - 405
  - 406
  flask_restx.fields.Nested:
  - 232
  flask_restx.fields.Nested.__init__:
  - 257
  flask_restx.fields.Nested.clone:
  - 290
  - 291
  - 292
  - 293
  - 294
  flask_restx.fields.Nested.nested:
  - 261
  flask_restx.fields.Nested.output:
  - 264
  - 265
  - 266
  - 268
  - 271
  flask_restx.fields.Nested.schema:
  - 274
  - 275
  - 277
  - 280
  - 282
  - 283
  flask_restx.fields.NumberMixin.__init__:
  - 416
  - 415
  flask_restx.fields.NumberMixin.schema:
  - 419
  - 420
  flask_restx.fields.Polymorph:
  - 711
  flask_restx.fields.Polymorph.__init__:
  - 732
  - 733
  flask_restx.fields.Polymorph.clone:
  - 781
  - 782
  - 783
  - 784
  - 787
  flask_restx.fields.Polymorph.output:
  - 737
  - 738
  - 739
  - 741
  - 745
  - 749
  - 752
  - 754
  - 759
  flask_restx.fields.Polymorph.resolve_ancestor:
  - 770
  - 771
  - 777
  - 778
  - 764
  flask_restx.fields.Raw:
  - 120
  flask_restx.fields.Raw.__schema__:
  - 217
  flask_restx.fields.Raw._v:
  - 211
  - 212
  - 213
  flask_restx.fields.Raw.format:
  - 168
  flask_restx.fields.Raw.output:
  - 195
  - 197
  - 198
  - 199
  - 202
  - 204
  - 205
  - 208
  - 185
  flask_restx.fields.Raw.schema:
  - 226
  flask_restx.fields.String:
  - 425
  flask_restx.fields.String.__init__:
  - 432
  - 430
  - 431
  flask_restx.fields.String.format:
  - 437
  flask_restx.fields.String.schema:
  - 442
  - 443
  - 444
  - 445
  - 446
  flask_restx.fields.StringMixin.__init__:
  - 377
  - 378
  - 379
  - 380
  flask_restx.fields.StringMixin.schema:
  - 384
  - 385
  - 386
  - 387
  - 383
  flask_restx.fields.Url:
  - 632
  flask_restx.fields.Url.__init__:
  - 641
  flask_restx.fields.Url.output:
  - 648
  - 650
  - 651
  - 653
  - 654
  flask_restx.fields.Wildcard:
  - 801
  - 797
  - 791
  flask_restx.fields.Wildcard.__init__:
  - 805
  - 807
  - 808
  - 810
  - 812
  flask_restx.fields.Wildcard._flatten:
  - 833
  - 834
  - 836
  - 817
  - 819
  - 821
  - 822
  flask_restx.fields.Wildcard._flatten.__match_attributes:
  - 827
  - 828
  flask_restx.fields.Wildcard.clone:
  - 900
  - 901
  - 902
  flask_restx.fields.Wildcard.output:
  - 866
  - 867
  - 870
  - 873
  - 879
  - 880
  - 881
  - 884
  - 853
  - 885
  - 855
  - 891
  - 861
  - 863
  flask_restx.fields.Wildcard.reset:
  - 848
  - 845
  flask_restx.fields.Wildcard.schema:
  - 894
  flask_restx.fields._get_value_for_key:
  - 96
  - 89
  - 99
  - 94
  flask_restx.fields._get_value_for_keys:
  - 80
  - 81
  - 83
  - 84
  flask_restx.fields.get_value:
  - 70
  - 71
  - 72
  - 73
  - 74
  - 76
  flask_restx.fields.is_indexable_but_not_string:
  - 62
  flask_restx.fields.is_integer_indexable:
  - 66
  flask_restx.fields.to_marshallable_type:
  - 103
  - 107
  - 110
  - 111
  - 113
  - 116
  flask_restx.inputs:
  - 1
  - 34
  - 48
  - 210
  - 53
  - 30
  - 31
  flask_restx.inputs.URL:
  - 98
  flask_restx.inputs.URL.__call__:
  - 147
  - 148
  - 149
  - 150
  - 151
  - 153
  - 154
  - 155
  - 156
  - 157
  - 158
  - 159
  - 160
  - 161
  - 162
  - 165
  - 167
  - 168
  - 169
  - 170
  - 171
  - 172
  - 173
  - 175
  - 176
  - 177
  - 178
  - 179
  - 180
  - 181
  - 183
  - 184
  - 185
  - 186
  - 187
  - 188
  - 189
  - 190
  - 191
  - 193
  - 195
  flask_restx.inputs.URL.error:
  - 142
  - 143
  flask_restx.inputs._expand_datetime:
  - 354
  - 358
  - 359
  - 360
  - 361
  - 363
  - 364
  - 366
  - 369
  - 351
  flask_restx.inputs._get_integer:
  - 450
  flask_restx.inputs._normalize_interval:
  - 336
  - 337
  - 338
  - 340
  - 341
  - 342
  - 344
  - 345
  - 319
  flask_restx.inputs._parse_interval:
  - 385
  - 380
  - 383
  - 375
  flask_restx.inputs.boolean:
  - 516
  - 519
  - 521
  - 523
  - 524
  - 530
  - 506
  flask_restx.inputs.date:
  - 440
  - 441
  flask_restx.inputs.date_from_iso8601:
  - 612
  - 597
  flask_restx.inputs.datetime_from_iso8601:
  - 585
  - 570
  - 587
  - 588
  flask_restx.inputs.datetime_from_rfc822:
  - 556
  - 557
  - 559
  - 560
  - 561
  - 562
  - 564
  - 542
  flask_restx.inputs.email:
  - 216
  flask_restx.inputs.email.__call__:
  - 256
  - 257
  - 259
  - 261
  - 262
  - 263
  - 264
  - 265
  - 266
  - 267
  - 269
  - 270
  - 271
  - 253
  - 254
  - 255
  flask_restx.inputs.email.is_ip:
  - 247
  flask_restx.inputs.int_range:
  - 480
  flask_restx.inputs.int_range.__call__:
  - 488
  - 489
  flask_restx.inputs.ip:
  - 89
  - 83
  - 85
  flask_restx.inputs.ipv4:
  - 57
  - 59
  - 60
  flask_restx.inputs.ipv6:
  - 73
  - 71
  flask_restx.inputs.iso8601interval:
  - 416
  - 420
  - 389
  - 422
  - 423
  - 425
  flask_restx.inputs.natural:
  - 456
  - 457
  - 458
  flask_restx.inputs.positive:
  - 468
  - 469
  - 470
  flask_restx.inputs.regex:
  - 283
  flask_restx.inputs.regex.__call__:
  - 302
  - 303
  flask_restx.inputs.regex.__deepcopy__:
  - 308
  flask_restx.inputs.regex.__init__:
  - 299
  flask_restx.marshalling._marshal:
  - 160
  - 161
  - 185
  - 187
  - 174
  - 175
  - 176
  - 113
  - 177
  - 188
  - 180
  - 182
  - 153
  - 154
  - 155
  - 156
  - 158
  - 159
  flask_restx.marshalling._marshal.__format_field:
  - 168
  - 170
  - 167
  flask_restx.marshalling.make:
  - 11
  - 12
  flask_restx.marshalling.marshal:
  - 17
  - 54
  - 56
  - 62
  - 64
  - 65
  - 67
  - 68
  - 70
  - 71
  - 72
  - 73
  - 75
  - 76
  - 84
  - 86
  - 87
  - 92
  - 95
  - 96
  - 98
  - 100
  - 102
  - 104
  - 105
  flask_restx.marshalling.marshal._append:
  - 81
  - 79
  flask_restx.marshalling.marshal_with:
  - 194
  flask_restx.marshalling.marshal_with.__call__:
  - 242
  flask_restx.marshalling.marshal_with.__call__.wrapper:
  - 264
  - 244
  - 246
  - 248
  - 249
  - 250
  - 252
  flask_restx.marshalling.marshal_with.__init__:
  - 229
  - 239
  flask_restx.marshalling.marshal_with_field:
  - 272
  flask_restx.marshalling.marshal_with_field.__call__:
  - 296
  flask_restx.marshalling.marshal_with_field.__call__.wrapper:
  - 298
  - 300
  - 301
  - 302
  - 303
  flask_restx.marshalling.marshal_with_field.__init__:
  - 290
  - 291
  - 287
  flask_restx.mask:
  - 9
  - 11
  flask_restx.mask.Mask:
  - 27
  flask_restx.mask.Mask.__init__:
  - 36
  - 37
  - 38
  - 39
  - 40
  - 43
  flask_restx.mask.Mask.__str__:
  - 168
  - 170
  - 171
  - 167
  flask_restx.mask.Mask.apply:
  - 129
  - 132
  - 103
  - 113
  - 114
  - 115
  - 116
  - 117
  - 118
  - 119
  - 120
  - 121
  - 122
  - 123
  - 124
  flask_restx.mask.Mask.clean:
  - 96
  - 97
  - 93
  - 94
  flask_restx.mask.Mask.filter_data:
  - 160
  - 161
  - 162
  - 135
  - 144
  - 145
  - 147
  - 148
  - 149
  - 151
  - 154
  - 155
  - 158
  flask_restx.mask.Mask.parse:
  - 65
  - 70
  - 71
  - 72
  - 74
  - 75
  - 77
  - 46
  - 78
  - 80
  - 81
  - 82
  - 89
  - 62
  flask_restx.mask.MaskError:
  - 15
  flask_restx.mask.ParseError:
  - 21
  flask_restx.mask.apply:
  - 178
  - 187
  flask_restx.model:
  - 20
  flask_restx.model.Model:
  - 245
  flask_restx.model.ModelBase:
  - 30
  flask_restx.model.ModelBase.__init__:
  - 38
  flask_restx.model.ModelBase.__init__.instance_inherit:
  - 44
  flask_restx.model.ModelBase.__schema__:
  - 72
  - 70
  flask_restx.model.ModelBase.__unicode__:
  - 113
  - 114
  flask_restx.model.ModelBase.ancestors:
  - 50
  - 54
  flask_restx.model.ModelBase.format_error:
  - 105
  - 106
  - 107
  - 108
  - 109
  flask_restx.model.ModelBase.get_parent:
  - 57
  - 60
  - 61
  - 62
  flask_restx.model.ModelBase.inherit:
  - 82
  - 87
  flask_restx.model.ModelBase.validate:
  - 96
  - 98
  - 92
  - 101
  flask_restx.model.OrderedModel:
  - 257
  flask_restx.model.RawModel:
  - 121
  flask_restx.model.RawModel.__deepcopy__:
  - 234
  - 236
  flask_restx.model.RawModel.__init__:
  - 133
  - 134
  - 135
  - 136
  - 137
  flask_restx.model.RawModel.__init__.instance_clone:
  - 140
  flask_restx.model.RawModel._schema:
  - 161
  - 165
  - 168
  - 146
  - 147
  - 149
  - 150
  - 152
  - 153
  - 154
  - 158
  flask_restx.model.RawModel.clone:
  - 228
  - 229
  - 230
  - 231
  - 214
  flask_restx.model.RawModel.extend:
  - 194
  - 202
  - 207
  - 208
  - 210
  flask_restx.model.RawModel.resolved:
  - 172
  - 176
  - 179
  - 180
  - 183
  - 185
  - 188
  flask_restx.model.SchemaModel:
  - 269
  flask_restx.model.SchemaModel.__init__:
  - 277
  flask_restx.model.SchemaModel.__unicode__:
  - 281
  flask_restx.model.instance:
  - 24
  - 25
  flask_restx.namespace:
  - 17
  flask_restx.namespace.Namespace:
  - 21
  flask_restx.namespace.Namespace.__init__:
  - 56
  - 61
  - 62
  - 63
  flask_restx.namespace.Namespace._build_doc:
  - 113
  - 115
  - 116
  - 117
  - 118
  - 119
  - 121
  - 122
  - 123
  - 127
  flask_restx.namespace.Namespace.abort:
  - 153
  - 148
  flask_restx.namespace.Namespace.add_model:
  - 157
  flask_restx.namespace.Namespace.add_resource:
  - 70
  - 91
  - 92
  - 93
  - 94
  - 95
  flask_restx.namespace.Namespace.as_list:
  - 238
  - 239
  flask_restx.namespace.Namespace.clone:
  - 208
  - 198
  - 207
  flask_restx.namespace.Namespace.deprecated:
  - 332
  - 333
  flask_restx.namespace.Namespace.doc:
  - 130
  - 131
  - 133
  flask_restx.namespace.Namespace.doc.wrapper:
  - 136
  flask_restx.namespace.Namespace.errorhandler:
  - 278
  - 279
  flask_restx.namespace.Namespace.expect:
  - 228
  - 229
  - 230
  - 231
  - 220
  flask_restx.namespace.Namespace.extend:
  - 192
  - 194
  - 195
  - 185
  - 190
  flask_restx.namespace.Namespace.header:
  - 316
  - 325
  - 324
  flask_restx.namespace.Namespace.hide:
  - 144
  - 145
  flask_restx.namespace.Namespace.inherit:
  - 216
  - 217
  - 211
  flask_restx.namespace.Namespace.marshal:
  - 274
  - 275
  flask_restx.namespace.Namespace.marshal_list_with:
  - 270
  - 271
  flask_restx.namespace.Namespace.marshal_with:
  - 245
  flask_restx.namespace.Namespace.marshal_with.wrapper:
  - 256
  - 264
  - 260
  - 265
  flask_restx.namespace.Namespace.model:
  - 162
  - 171
  - 172
  - 173
  flask_restx.namespace.Namespace.param:
  - 292
  - 302
  flask_restx.namespace.Namespace.parser:
  - 234
  - 235
  flask_restx.namespace.Namespace.path:
  - 67
  flask_restx.namespace.Namespace.payload:
  - 350
  - 351
  flask_restx.namespace.Namespace.produces:
  - 328
  - 329
  flask_restx.namespace.Namespace.response:
  - 305
  - 313
  flask_restx.namespace.Namespace.route:
  - 98
  flask_restx.namespace.Namespace.route.wrapper:
  - 104
  - 106
  - 107
  - 103
  flask_restx.namespace.Namespace.schema_model:
  - 176
  - 181
  - 182
  flask_restx.namespace.Namespace.vendor:
  - 336
  - 345
  - 346
  - 344
  flask_restx.namespace.handle_deprecations:
  - 362
  - 363
  - 368
  - 369
  - 370
  - 375
  flask_restx.namespace.unshortcut_params_description:
  - 355
  - 356
  - 357
  flask_restx.postman.Folder.as_dict:
  - 130
  flask_restx.postman.Folder.id:
  - 123
  flask_restx.postman.PostmanCollectionV1:
  - 142
  flask_restx.postman.PostmanCollectionV1.apikeys:
  - 185
  - 187
  - 188
  flask_restx.postman.PostmanCollectionV1.as_dict:
  - 192
  - 195
  - 198
  - 199
  - 200
  flask_restx.postman.PostmanCollectionV1.folders:
  - 180
  - 181
  flask_restx.postman.PostmanCollectionV1.id:
  - 154
  flask_restx.postman.PostmanCollectionV1.requests:
  - 160
  - 171
  - 172
  - 174
  - 175
  - 176
  - 158
  flask_restx.postman.PostmanCollectionV1.uuid:
  - 150
  flask_restx.postman.Request:
  - 21
  flask_restx.postman.Request.__init__:
  - 27
  flask_restx.postman.Request.as_dict:
  - 89
  - 83
  - 77
  - 78
  flask_restx.postman.Request.folder:
  - 72
  - 73
  - 69
  flask_restx.postman.Request.headers:
  - 64
  - 65
  - 43
  - 44
  - 45
  - 46
  - 50
  - 51
  - 52
  - 55
  - 56
  - 57
  - 59
  - 60
  - 61
  flask_restx.postman.Request.id:
  - 32
  - 33
  flask_restx.postman.Request.process_url:
  - 97
  - 98
  - 99
  - 101
  - 103
  - 104
  - 105
  - 106
  - 107
  - 108
  - 109
  - 110
  - 111
  flask_restx.postman.Request.url:
  - 37
  flask_restx.postman.clean:
  - 9
  - 10
  flask_restx.representations.output_json:
  - 10
  - 12
  - 17
  - 18
  - 22
  - 24
  - 25
  flask_restx.reqparse.Argument:
  - 67
  flask_restx.reqparse.Argument.__schema__:
  - 289
  - 291
  - 292
  - 293
  - 295
  - 297
  - 299
  - 301
  - 303
  - 304
  - 307
  - 311
  flask_restx.reqparse.Argument.convert:
  - 163
  - 164
  - 168
  - 169
  - 173
  - 177
  - 180
  - 181
  - 183
  - 185
  flask_restx.reqparse.Argument.handle_validation_error:
  - 197
  - 198
  - 201
  - 202
  - 203
  - 188
  flask_restx.reqparse.Argument.parse:
  - 256
  - 259
  - 261
  - 262
  - 263
  - 265
  - 266
  - 267
  - 269
  - 270
  - 271
  - 272
  - 274
  - 275
  - 276
  - 280
  - 283
  - 206
  - 215
  - 216
  - 224
  - 225
  - 226
  - 228
  - 229
  - 231
  - 233
  - 234
  - 235
  - 236
  - 237
  - 239
  - 240
  - 243
  - 245
  - 246
  - 249
  - 251
  - 253
  - 255
  flask_restx.reqparse.Argument.source:
  - 133
  - 137
  - 138
  - 139
  - 141
  - 142
  - 143
  - 144
  - 147
  - 148
  - 149
  - 150
  - 152
  - 153
  - 154
  - 155
  - 156
  - 159
  flask_restx.reqparse.ParseResult:
  - 20
  flask_restx.reqparse.RequestParser:
  - 317
  flask_restx.reqparse.RequestParser.__schema__:
  - 436
  - 437
  - 439
  - 440
  - 441
  - 442
  flask_restx.reqparse.RequestParser.add_argument:
  - 357
  - 358
  - 360
  - 363
  - 365
  - 348
  flask_restx.reqparse.RequestParser.copy:
  - 408
  - 409
  - 410
  flask_restx.reqparse.RequestParser.parse_args:
  - 385
  - 388
  - 389
  - 390
  - 391
  - 393
  - 395
  - 396
  - 400
  - 401
  - 370
  - 402
  - 377
  - 380
  flask_restx.reqparse.RequestParser.remove_argument:
  - 426
  - 427
  - 428
  flask_restx.reqparse.RequestParser.replace_argument:
  - 416
  - 417
  - 418
  - 419
  - 421
  flask_restx.reqparse._handle_arg_type:
  - 448
  - 450
  - 453
  - 454
  - 455
  flask_restx.resource:
  - 5
  flask_restx.resource.Resource:
  - 16
  flask_restx.resource.Resource.__validate_payload:
  - 69
  - 70
  - 71
  - 72
  - 73
  - 75
  - 63
  flask_restx.resource.Resource.dispatch_request:
  - 36
  - 37
  - 38
  - 41
  - 42
  - 44
  - 46
  - 48
  - 53
  - 54
  - 55
  - 56
  flask_restx.resource.Resource.validate_payload:
  - 78
  - 79
  - 81
  - 83
  - 84
  - 86
  - 87
  - 88
  - 89
  - 90
  flask_restx.schemas:
  - 1
  - 84
  flask_restx.schemas.LazySchema:
  - 43
  flask_restx.schemas.LazySchema.__getitem__:
  - 66
  - 67
  flask_restx.schemas.LazySchema.__init__:
  - 53
  flask_restx.schemas.LazySchema.__iter__:
  - 70
  - 71
  flask_restx.schemas.LazySchema.__len__:
  - 74
  - 75
  flask_restx.schemas.LazySchema._load:
  - 59
  - 60
  - 62
  - 63
  flask_restx.schemas.LazySchema.validator:
  - 80
  - 79
  flask_restx.schemas.SchemaValidationError:
  - 19
  flask_restx.schemas.SchemaValidationError.__init__:
  - 26
  flask_restx.schemas.SchemaValidationError.__str__:
  - 32
  - 33
  - 34
  - 35
  - 36
  - 37
  - 31
  flask_restx.schemas.validate:
  - 106
  - 110
  - 115
  - 116
  - 93
  flask_restx.swagger:
  - 42
  - 37
  - 46
  flask_restx.swagger.Swagger:
  - 228
  flask_restx.swagger.Swagger.as_dict:
  - 256
  - 257
  - 258
  - 260
  - 261
  - 262
  - 263
  - 266
  - 269
  - 271
  - 272
  - 273
  - 274
  - 275
  - 281
  - 282
  - 283
  - 286
  - 287
  - 288
  - 290
  - 297
  - 299
  - 302
  - 304
  - 306
  - 308
  - 237
  - 244
  - 247
  - 248
  - 250
  - 251
  - 252
  - 253
  - 254
  flask_restx.swagger.Swagger.description_for:
  - 527
  - 529
  - 530
  - 531
  - 532
  - 533
  - 534
  - 536
  flask_restx.swagger.Swagger.expected_params:
  - 416
  - 417
  - 450
  - 420
  - 423
  - 424
  - 455
  - 427
  - 428
  - 433
  - 436
  - 437
  - 440
  - 411
  - 412
  - 445
  - 415
  flask_restx.swagger.Swagger.extract_resource_doc:
  - 384
  - 385
  - 386
  - 387
  - 388
  - 393
  - 394
  - 395
  - 396
  - 399
  - 400
  - 402
  - 403
  - 405
  - 406
  - 349
  - 351
  - 352
  - 358
  - 361
  - 362
  - 364
  - 365
  - 366
  - 367
  - 368
  - 369
  - 370
  - 372
  - 374
  - 375
  - 377
  - 378
  - 379
  - 380
  - 381
  - 382
  flask_restx.swagger.Swagger.extract_tags:
  - 320
  - 322
  - 324
  - 328
  - 330
  - 332
  - 335
  - 337
  - 338
  - 343
  - 319
  flask_restx.swagger.Swagger.get_host:
  - 312
  - 313
  - 311
  flask_restx.swagger.Swagger.operation_id_for:
  - 539
  - 543
  flask_restx.swagger.Swagger.parameters_for:
  - 577
  - 579
  - 548
  - 550
  - 552
  - 555
  - 556
  - 557
  - 560
  - 562
  - 565
  - 568
  - 569
  flask_restx.swagger.Swagger.process_headers:
  - 646
  - 647
  - 648
  - 649
  - 650
  - 651
  - 652
  - 653
  flask_restx.swagger.Swagger.register_errors:
  - 462
  - 463
  - 465
  - 466
  - 467
  - 468
  - 469
  - 470
  flask_restx.swagger.Swagger.register_field:
  - 707
  - 708
  - 709
  - 710
  - 711
  - 712
  - 713
  flask_restx.swagger.Swagger.register_model:
  - 704
  - 691
  - 692
  - 695
  - 696
  - 698
  - 699
  - 700
  - 701
  - 702
  - 703
  flask_restx.swagger.Swagger.responses_for:
  - 640
  - 641
  - 587
  - 588
  - 589
  - 590
  - 591
  - 595
  - 597
  - 603
  - 604
  - 607
  - 608
  - 609
  - 610
  - 613
  - 614
  - 616
  - 617
  - 618
  - 619
  - 620
  - 622
  - 624
  - 625
  - 626
  - 627
  - 631
  - 635
  - 639
  flask_restx.swagger.Swagger.security_for:
  - 721
  - 723
  - 717
  - 719
  flask_restx.swagger.Swagger.security_requirement:
  - 737
  - 739
  - 740
  - 741
  - 742
  flask_restx.swagger.Swagger.security_requirements:
  - 728
  - 729
  - 730
  - 731
  flask_restx.swagger.Swagger.serialize_definitions:
  - 659
  - 660
  flask_restx.swagger.Swagger.serialize_operation:
  - 512
  - 513
  - 488
  - 490
  - 491
  - 492
  - 493
  - 496
  - 499
  - 502
  - 504
  - 505
  flask_restx.swagger.Swagger.serialize_resource:
  - 480
  - 482
  - 484
  - 474
  - 475
  - 477
  - 478
  - 479
  flask_restx.swagger.Swagger.serialize_schema:
  - 672
  - 673
  - 675
  - 676
  - 677
  - 679
  - 680
  - 682
  - 685
  - 664
  - 668
  - 671
  flask_restx.swagger.Swagger.vendor_fields:
  - 521
  - 522
  - 523
  - 516
  flask_restx.swagger._clean_header:
  - 140
  - 142
  - 143
  - 145
  - 146
  - 147
  - 152
  - 153
  - 156
  flask_restx.swagger._param_to_header:
  - 136
  - 134
  - 135
  flask_restx.swagger._v:
  - 69
  - 70
  flask_restx.swagger.build_request_body_parameters_schema:
  - 216
  - 217
  - 191
  flask_restx.swagger.extract_path:
  - 74
  - 77
  flask_restx.swagger.extract_path_params:
  - 114
  - 117
  - 118
  - 119
  - 123
  - 125
  flask_restx.swagger.is_hidden:
  - 184
  - 187
  - 180
  flask_restx.swagger.parse_docstring:
  - 160
  - 161
  - 163
  - 164
  - 165
  - 166
  - 167
  flask_restx.swagger.parse_rule:
  - 96
  - 97
  - 98
  - 101
  - 103
  - 104
  - 105
  - 106
  - 108
  - 110
  - 81
  - 89
  - 91
  - 93
  - 94
  flask_restx.swagger.ref:
  - 64
  - 65
  - 63
  flask_restx.utils:
  - 9
  - 10
  flask_restx.utils.camel_to_dash:
  - 55
  - 54
  - 47
  flask_restx.utils.default_id:
  - 59
  - 60
  flask_restx.utils.merge:
  - 35
  - 37
  - 38
  - 39
  - 40
  - 42
  - 24
  flask_restx.utils.not_none:
  - 64
  - 71
  flask_restx.utils.not_none_sorted:
  - 82
  - 75
  flask_restx.utils.unpack:
  - 105
  - 108
  - 111
  - 115
  - 86
  werkzeug._internal:
  - 32
  - 33
  - 35
  - 14
  - 21
  - 22
  - 23
  - 24
  - 249
  - 58
  - 92
  - 29
  - 30
  werkzeug._internal._ColorStreamHandler:
  - 192
  werkzeug._internal._ColorStreamHandler.__init__:
  - 200
  - 202
  werkzeug._internal._DictAccessorProperty:
  - 253
  werkzeug._internal._DictAccessorProperty.__delete__:
  - 321
  - 318
  werkzeug._internal._DictAccessorProperty.__get__:
  - 290
  - 293
  - 295
  - 300
  - 302
  - 281
  - 285
  werkzeug._internal._DictAccessorProperty.__init__:
  - 270
  werkzeug._internal._DictAccessorProperty.__repr__:
  - 324
  werkzeug._internal._DictAccessorProperty.__set__:
  - 312
  - 313
  - 315
  - 309
  werkzeug._internal._check_str_tuple:
  - 88
  - 82
  - 83
  - 86
  werkzeug._internal._cookie_parse_impl:
  - 384
  - 387
  - 388
  - 391
  - 392
  - 393
  - 395
  - 382
  werkzeug._internal._cookie_quote:
  - 328
  - 333
  - 334
  - 335
  - 337
  - 338
  - 340
  - 341
  - 342
  werkzeug._internal._cookie_unquote:
  - 354
  - 355
  - 359
  - 360
  - 361
  - 362
  - 365
  - 366
  - 367
  - 368
  - 369
  - 370
  - 371
  - 378
  - 374
  - 375
  - 346
  - 348
  werkzeug._internal._decode_idna:
  - 433
  - 418
  - 420
  werkzeug._internal._decode_idna.decode_part:
  - 429
  - 431
  werkzeug._internal._dt_as_utc:
  - 229
  - 234
  - 238
  - 241
  - 242
  - 243
  - 244
  werkzeug._internal._easteregg:
  - 464
  - 474
  - 475
  - 472
  werkzeug._internal._easteregg.bzzzzzzz:
  - 470
  werkzeug._internal._easteregg.easteregged:
  - 521
  - 522
  - 523
  - 525
  werkzeug._internal._easteregg.easteregged.injecting_start_response:
  - 518
  - 519
  werkzeug._internal._encode_idna:
  - 400
  - 401
  - 411
  - 406
  werkzeug._internal._get_environ:
  - 168
  - 165
  - 166
  werkzeug._internal._has_level_handler:
  - 176
  - 180
  - 173
  - 183
  werkzeug._internal._log:
  - 224
  - 206
  - 215
  - 216
  - 218
  - 219
  - 221
  - 222
  werkzeug._internal._make_cookie_domain:
  - 449
  - 450
  - 451
  - 452
  - 438
  - 443
  - 447
  werkzeug._internal._make_encode_wrapper:
  - 68
  - 72
  - 75
  - 76
  - 78
  - 63
  werkzeug._internal._to_bytes:
  - 98
  - 101
  - 102
  - 104
  - 105
  werkzeug._internal._to_str:
  - 136
  - 139
  - 140
  - 142
  - 143
  - 146
  - 117
  - 127
  werkzeug._internal._wsgi_decoding_dance:
  - 152
  werkzeug._internal._wsgi_encoding_dance:
  - 161
  - 158
  - 159
  werkzeug._reloader:
  - 391
  - 18
  - 21
  - 23
  - 25
  werkzeug._reloader.ReloaderLoop.__enter__:
  - 233
  - 236
  werkzeug._reloader.ReloaderLoop.__exit__:
  - 240
  werkzeug._reloader.ReloaderLoop.__init__:
  - 228
  - 229
  werkzeug._reloader.ReloaderLoop.log_reload:
  - 276
  - 277
  werkzeug._reloader.ReloaderLoop.restart_with_reloader:
  - 258
  - 262
  - 263
  - 264
  - 266
  - 268
  werkzeug._reloader.ReloaderLoop.run:
  - 248
  - 249
  - 244
  werkzeug._reloader.ReloaderLoop.run_step:
  - 252
  werkzeug._reloader.ReloaderLoop.trigger_reload:
  - 272
  - 273
  werkzeug._reloader.StatReloaderLoop.__enter__:
  - 285
  werkzeug._reloader.StatReloaderLoop.run_step:
  - 288
  - 290
  - 294
  - 296
  - 300
  - 301
  werkzeug._reloader.WatchdogReloaderLoop.__enter__:
  - 347
  - 348
  werkzeug._reloader.WatchdogReloaderLoop.__exit__:
  - 352
  - 351
  werkzeug._reloader.WatchdogReloaderLoop.__init__:
  - 322
  - 328
  - 329
  - 309
  - 316
  - 318
  werkzeug._reloader.WatchdogReloaderLoop.__init__.EventHandler.on_any_event:
  - 314
  werkzeug._reloader.WatchdogReloaderLoop.run:
  - 356
  - 357
  - 359
  werkzeug._reloader.WatchdogReloaderLoop.run_step:
  - 362
  - 364
  - 365
  - 367
  - 376
  - 378
  - 379
  - 381
  - 382
  werkzeug._reloader.WatchdogReloaderLoop.trigger_reload:
  - 343
  werkzeug._reloader._find_common_roots:
  - 161
  - 144
  - 147
  - 148
  - 150
  - 152
  werkzeug._reloader._find_common_roots._walk:
  - 155
  - 156
  - 158
  - 159
  werkzeug._reloader._find_stat_paths:
  - 66
  - 74
  - 76
  - 77
  - 79
  - 81
  - 84
  - 86
  - 90
  - 91
  - 92
  - 94
  - 99
  - 100
  - 102
  - 106
  - 107
  - 112
  - 113
  werkzeug._reloader._find_watchdog_paths:
  - 129
  - 130
  - 132
  - 134
  - 135
  - 137
  - 138
  - 120
  - 124
  - 126
  - 127
  werkzeug._reloader._get_args_for_reloading:
  - 193
  - 194
  - 195
  - 197
  - 166
  - 199
  - 202
  - 204
  - 205
  - 207
  - 178
  - 181
  - 182
  - 213
  - 185
  - 215
  - 187
  - 190
  werkzeug._reloader._iter_module_paths:
  - 39
  - 41
  - 42
  - 44
  - 47
  - 50
  - 52
  - 55
  werkzeug._reloader._remove_by_pattern:
  - 59
  - 60
  werkzeug._reloader.ensure_echo_on:
  - 399
  - 402
  - 410
  - 412
  - 414
  werkzeug._reloader.run_with_reloader:
  - 424
  - 427
  - 428
  - 433
  - 434
  - 435
  - 441
  - 442
  - 444
  werkzeug._reloader.run_with_reloader.<lambda1>:
  - 427
  werkzeug.datastructures:
  - 1801
  - 1874
  werkzeug.datastructures.Accept:
  - 1630
  werkzeug.datastructures.Accept.__contains__:
  - 1709
  - 1710
  werkzeug.datastructures.Accept.__getitem__:
  - 1688
  - 1692
  - 1693
  - 1694
  werkzeug.datastructures.Accept.__init__:
  - 1666
  - 1667
  - 1669
  - 1671
  - 1674
  - 1675
  - 1677
  werkzeug.datastructures.Accept.__init__.<lambda1>:
  - 1675
  werkzeug.datastructures.Accept.__repr__:
  - 1715
  - 1716
  werkzeug.datastructures.Accept.__str__:
  - 1759
  werkzeug.datastructures.Accept._best_single_match:
  - 1762
  - 1763
  werkzeug.datastructures.Accept._specificity:
  - 1680
  werkzeug.datastructures.Accept._value_matches:
  - 1684
  - 1685
  werkzeug.datastructures.Accept.best:
  - 1796
  - 1797
  werkzeug.datastructures.Accept.best_match:
  - 1769
  - 1779
  - 1780
  - 1781
  - 1784
  - 1785
  - 1788
  werkzeug.datastructures.Accept.find:
  - 1740
  - 1735
  werkzeug.datastructures.Accept.index:
  - 1728
  - 1729
  - 1732
  - 1719
  - 1727
  werkzeug.datastructures.Accept.quality:
  - 1704
  - 1697
  - 1703
  werkzeug.datastructures.Accept.to_header:
  - 1750
  - 1752
  - 1753
  - 1755
  - 1756
  werkzeug.datastructures.Accept.values:
  - 1745
  - 1746
  - 1747
  werkzeug.datastructures.Authorization:
  - 2632
  werkzeug.datastructures.Authorization.__init__:
  - 2644
  werkzeug.datastructures.Authorization.cnonce:
  - 2690
  - 2694
  werkzeug.datastructures.Authorization.nc:
  - 2683
  - 2686
  werkzeug.datastructures.Authorization.nonce:
  - 2668
  - 2671
  werkzeug.datastructures.Authorization.opaque:
  - 2705
  - 2709
  werkzeug.datastructures.Authorization.password:
  - 2656
  - 2659
  werkzeug.datastructures.Authorization.qop:
  - 2713
  - 2717
  werkzeug.datastructures.Authorization.realm:
  - 2664
  - 2663
  werkzeug.datastructures.Authorization.response:
  - 2698
  - 2701
  werkzeug.datastructures.Authorization.to_header:
  - 2720
  - 2725
  - 2726
  - 2727
  - 2731
  - 2732
  werkzeug.datastructures.Authorization.uri:
  - 2675
  - 2679
  werkzeug.datastructures.Authorization.username:
  - 2649
  - 2652
  werkzeug.datastructures.CallbackDict:
  - 2206
  werkzeug.datastructures.CallbackDict.__init__:
  - 2211
  werkzeug.datastructures.CallbackDict.__repr__:
  - 2215
  werkzeug.datastructures.CharsetAccept:
  - 1937
  werkzeug.datastructures.CharsetAccept._value_matches:
  - 1946
  werkzeug.datastructures.CharsetAccept._value_matches._normalize:
  - 1944
  - 1942
  werkzeug.datastructures.CombinedMultiDict:
  - 1406
  werkzeug.datastructures.CombinedMultiDict.__contains__:
  - 1530
  - 1531
  werkzeug.datastructures.CombinedMultiDict.__getitem__:
  - 1440
  - 1439
  werkzeug.datastructures.CombinedMultiDict.__init__:
  - 1432
  werkzeug.datastructures.CombinedMultiDict.__iter__:
  - 1473
  werkzeug.datastructures.CombinedMultiDict.__len__:
  - 1527
  werkzeug.datastructures.CombinedMultiDict.__reduce_ex__:
  - 1429
  werkzeug.datastructures.CombinedMultiDict.__repr__:
  - 1536
  werkzeug.datastructures.CombinedMultiDict._keys_impl:
  - 1465
  - 1466
  - 1462
  werkzeug.datastructures.CombinedMultiDict.copy:
  - 1500
  - 1509
  werkzeug.datastructures.CombinedMultiDict.get:
  - 1449
  - 1445
  - 1446
  - 1447
  werkzeug.datastructures.CombinedMultiDict.getlist:
  - 1457
  - 1458
  werkzeug.datastructures.CombinedMultiDict.items:
  - 1476
  - 1477
  - 1478
  - 1479
  - 1480
  - 1481
  - 1482
  - 1483
  werkzeug.datastructures.CombinedMultiDict.keys:
  - 1470
  werkzeug.datastructures.CombinedMultiDict.lists:
  - 1491
  - 1492
  - 1493
  - 1494
  werkzeug.datastructures.CombinedMultiDict.listvalues:
  - 1497
  werkzeug.datastructures.CombinedMultiDict.to_dict:
  - 1512
  - 1521
  - 1522
  - 1524
  werkzeug.datastructures.CombinedMultiDict.values:
  - 1486
  - 1487
  werkzeug.datastructures.ContentRange:
  - 2592
  - 2574
  - 2585
  - 2587
  - 2590
  werkzeug.datastructures.ContentRange.__init__:
  - 2580
  - 2582
  werkzeug.datastructures.ContentRange.__repr__:
  - 2628
  werkzeug.datastructures.ContentRange.__str__:
  - 2625
  werkzeug.datastructures.ContentRange.set:
  - 2601
  - 2602
  - 2595
  - 2596
  werkzeug.datastructures.ContentRange.to_header:
  - 2617
  - 2611
  - 2613
  werkzeug.datastructures.ContentRange.unset:
  - 2608
  - 2605
  werkzeug.datastructures.ContentSecurityPolicy:
  - 2130
  - 2146
  - 2147
  - 2148
  - 2149
  - 2150
  - 2151
  - 2152
  - 2153
  - 2154
  - 2155
  - 2156
  - 2157
  - 2158
  - 2159
  - 2160
  - 2161
  - 2162
  - 2163
  - 2164
  - 2165
  - 2166
  - 2167
  - 2168
  - 2169
  - 2170
  werkzeug.datastructures.ContentSecurityPolicy.__init__:
  - 2173
  werkzeug.datastructures.ContentSecurityPolicy.__repr__:
  - 2201
  - 2202
  werkzeug.datastructures.ContentSecurityPolicy.__str__:
  - 2198
  werkzeug.datastructures.ContentSecurityPolicy._del_value:
  - 2189
  - 2190
  werkzeug.datastructures.ContentSecurityPolicy._get_value:
  - 2178
  - 2179
  werkzeug.datastructures.ContentSecurityPolicy._set_value:
  - 2184
  - 2182
  - 2183
  werkzeug.datastructures.ContentSecurityPolicy.to_header:
  - 2194
  - 2195
  werkzeug.datastructures.ETags:
  - 2369
  werkzeug.datastructures.ETags.__bool__:
  - 2438
  werkzeug.datastructures.ETags.__call__:
  - 2432
  - 2433
  - 2428
  - 2430
  - 2431
  werkzeug.datastructures.ETags.__contains__:
  - 2450
  werkzeug.datastructures.ETags.__init__:
  - 2377
  - 2379
  - 2374
  - 2375
  werkzeug.datastructures.ETags.__iter__:
  - 2447
  werkzeug.datastructures.ETags.__len__:
  - 2444
  werkzeug.datastructures.ETags.__repr__:
  - 2453
  werkzeug.datastructures.ETags.__str__:
  - 2441
  werkzeug.datastructures.ETags.as_set:
  - 2385
  - 2386
  - 2387
  - 2383
  werkzeug.datastructures.ETags.contains:
  - 2408
  - 2403
  - 2406
  werkzeug.datastructures.ETags.contains_raw:
  - 2411
  - 2414
  - 2415
  - 2416
  - 2417
  werkzeug.datastructures.ETags.contains_weak:
  - 2400
  - 2399
  werkzeug.datastructures.ETags.is_strong:
  - 2395
  werkzeug.datastructures.ETags.is_weak:
  - 2391
  werkzeug.datastructures.ETags.to_header:
  - 2420
  - 2421
  - 2423
  werkzeug.datastructures.EnvironHeaders:
  - 1355
  werkzeug.datastructures.EnvironHeaders.__getitem__:
  - 1376
  - 1378
  - 1379
  - 1380
  - 1381
  werkzeug.datastructures.EnvironHeaders.__iter__:
  - 1389
  - 1390
  - 1394
  - 1395
  - 1396
  - 1398
  - 1399
  werkzeug.datastructures.EnvironHeaders.__len__:
  - 1386
  werkzeug.datastructures.FileMultiDict:
  - 1540
  werkzeug.datastructures.FileMultiDict.add_file:
  - 1569
  - 1548
  - 1556
  - 1559
  - 1560
  - 1562
  - 1563
  - 1565
  - 1567
  werkzeug.datastructures.FileStorage:
  - 2895
  werkzeug.datastructures.FileStorage.__bool__:
  - 3016
  werkzeug.datastructures.FileStorage.__getattr__:
  - 3025
  - 3026
  - 3020
  werkzeug.datastructures.FileStorage.__init__:
  - 2912
  - 2917
  - 2918
  - 2920
  - 2921
  - 2923
  - 2926
  - 2930
  - 2931
  - 2933
  - 2935
  - 2936
  werkzeug.datastructures.FileStorage.__iter__:
  - 3030
  werkzeug.datastructures.FileStorage.__repr__:
  - 3033
  werkzeug.datastructures.FileStorage._parse_content_type:
  - 2939
  - 2940
  werkzeug.datastructures.FileStorage.close:
  - 3009
  - 3011
  werkzeug.datastructures.FileStorage.content_length:
  - 2949
  - 2950
  werkzeug.datastructures.FileStorage.content_type:
  - 2944
  - 2945
  werkzeug.datastructures.FileStorage.mimetype:
  - 2961
  - 2954
  - 2962
  werkzeug.datastructures.FileStorage.mimetype_params:
  - 2972
  - 2966
  werkzeug.datastructures.FileStorage.save:
  - 2976
  - 2995
  - 2996
  - 2998
  - 2999
  - 3003
  - 3005
  - 3006
  werkzeug.datastructures.HeaderSet:
  - 2219
  werkzeug.datastructures.HeaderSet.__bool__:
  - 2359
  werkzeug.datastructures.HeaderSet.__contains__:
  - 2350
  werkzeug.datastructures.HeaderSet.__delitem__:
  - 2336
  - 2337
  - 2338
  - 2339
  werkzeug.datastructures.HeaderSet.__init__:
  - 2232
  - 2233
  werkzeug.datastructures.HeaderSet.__iter__:
  - 2356
  werkzeug.datastructures.HeaderSet.__len__:
  - 2353
  werkzeug.datastructures.HeaderSet.__repr__:
  - 2365
  werkzeug.datastructures.HeaderSet.__setitem__:
  - 2345
  - 2346
  - 2347
  - 2343
  werkzeug.datastructures.HeaderSet.__str__:
  - 2362
  werkzeug.datastructures.HeaderSet.add:
  - 2237
  - 2238
  werkzeug.datastructures.HeaderSet.as_set:
  - 2325
  - 2316
  - 2324
  - 2326
  werkzeug.datastructures.HeaderSet.clear:
  - 2312
  - 2313
  - 2309
  - 2310
  werkzeug.datastructures.HeaderSet.discard:
  - 2282
  - 2277
  werkzeug.datastructures.HeaderSet.find:
  - 2291
  - 2292
  - 2293
  - 2287
  werkzeug.datastructures.HeaderSet.index:
  - 2304
  - 2298
  - 2303
  werkzeug.datastructures.HeaderSet.remove:
  - 2241
  - 2250
  - 2251
  - 2253
  - 2254
  - 2255
  - 2258
  - 2259
  werkzeug.datastructures.HeaderSet.to_header:
  - 2329
  - 2330
  werkzeug.datastructures.HeaderSet.update:
  - 2273
  - 2274
  - 2262
  - 2267
  - 2268
  - 2269
  - 2270
  - 2271
  werkzeug.datastructures.Headers:
  - 849
  werkzeug.datastructures.Headers.__contains__:
  - 1076
  - 1078
  werkzeug.datastructures.Headers.__copy__:
  - 1287
  werkzeug.datastructures.Headers.__delitem__:
  - 1032
  - 1035
  - 1037
  - 1038
  - 1039
  werkzeug.datastructures.Headers.__eq__:
  - 913
  - 914
  - 915
  werkzeug.datastructures.Headers.__eq__.lowered:
  - 911
  werkzeug.datastructures.Headers.__getitem__:
  - 896
  - 898
  - 899
  - 900
  - 905
  - 891
  - 892
  - 894
  - 895
  werkzeug.datastructures.Headers.__init__:
  - 888
  - 887
  werkzeug.datastructures.Headers.__iter__:
  - 1084
  - 1085
  werkzeug.datastructures.Headers.__len__:
  - 1088
  werkzeug.datastructures.Headers.__repr__:
  - 1298
  werkzeug.datastructures.Headers.__setitem__:
  - 1221
  - 1222
  - 1223
  - 1226
  - 1229
  - 1230
  - 1231
  - 1236
  werkzeug.datastructures.Headers.__str__:
  - 1290
  - 1292
  - 1293
  - 1294
  - 1295
  werkzeug.datastructures.Headers._validate_value:
  - 1114
  - 1116
  werkzeug.datastructures.Headers.add:
  - 1091
  - 1106
  - 1107
  - 1108
  - 1109
  - 1110
  - 1111
  werkzeug.datastructures.Headers.add_header:
  - 1128
  - 1123
  werkzeug.datastructures.Headers.clear:
  - 1131
  werkzeug.datastructures.Headers.copy:
  - 1284
  werkzeug.datastructures.Headers.extend:
  - 1024
  - 1025
  - 1026
  - 1028
  - 1029
  - 1008
  - 1021
  werkzeug.datastructures.Headers.get:
  - 943
  - 946
  - 947
  - 948
  - 951
  - 920
  werkzeug.datastructures.Headers.get_all:
  - 986
  - 991
  werkzeug.datastructures.Headers.getlist:
  - 971
  - 973
  - 974
  - 975
  - 976
  - 977
  - 979
  - 982
  - 956
  werkzeug.datastructures.Headers.items:
  - 994
  - 995
  - 996
  - 997
  werkzeug.datastructures.Headers.keys:
  - 1000
  - 1001
  werkzeug.datastructures.Headers.pop:
  - 1058
  - 1059
  - 1060
  - 1061
  - 1064
  - 1066
  - 1050
  werkzeug.datastructures.Headers.popitem:
  - 1072
  - 1073
  werkzeug.datastructures.Headers.remove:
  - 1043
  - 1047
  werkzeug.datastructures.Headers.set:
  - 1152
  - 1153
  - 1154
  - 1155
  - 1157
  - 1158
  - 1159
  - 1160
  - 1135
  - 1167
  - 1149
  - 1150
  - 1151
  werkzeug.datastructures.Headers.setdefault:
  - 1187
  - 1195
  - 1198
  werkzeug.datastructures.Headers.setlist:
  - 1184
  - 1170
  - 1177
  - 1178
  - 1179
  - 1181
  - 1182
  werkzeug.datastructures.Headers.setlistdefault:
  - 1216
  - 1218
  - 1202
  - 1215
  werkzeug.datastructures.Headers.to_wsgi_list:
  - 1281
  - 1277
  werkzeug.datastructures.Headers.update:
  - 1251
  - 1254
  - 1257
  - 1258
  - 1259
  - 1260
  - 1261
  - 1262
  - 1263
  - 1265
  - 1267
  - 1268
  - 1270
  - 1239
  - 1272
  - 1274
  - 1271
  werkzeug.datastructures.Headers.values:
  - 1004
  - 1005
  werkzeug.datastructures.IfRange:
  - 2457
  werkzeug.datastructures.IfRange.__repr__:
  - 2483
  werkzeug.datastructures.IfRange.__str__:
  - 2480
  werkzeug.datastructures.IfRange.to_header:
  - 2472
  - 2473
  - 2474
  - 2475
  - 2476
  werkzeug.datastructures.ImmutableDict:
  - 1573
  werkzeug.datastructures.ImmutableDict.__repr__:
  - 1579
  werkzeug.datastructures.ImmutableDict.copy:
  - 1586
  - 1582
  werkzeug.datastructures.ImmutableDictMixin:
  - 104
  werkzeug.datastructures.ImmutableDictMixin.__delitem__:
  - 147
  werkzeug.datastructures.ImmutableDictMixin.__hash__:
  - 128
  - 126
  werkzeug.datastructures.ImmutableDictMixin.__reduce_ex__:
  - 120
  werkzeug.datastructures.ImmutableDictMixin.__setitem__:
  - 144
  werkzeug.datastructures.ImmutableDictMixin._iter_hashitems:
  - 123
  werkzeug.datastructures.ImmutableDictMixin.clear:
  - 150
  werkzeug.datastructures.ImmutableDictMixin.fromkeys:
  - 115
  - 116
  werkzeug.datastructures.ImmutableDictMixin.pop:
  - 138
  werkzeug.datastructures.ImmutableDictMixin.popitem:
  - 141
  werkzeug.datastructures.ImmutableDictMixin.setdefault:
  - 132
  werkzeug.datastructures.ImmutableDictMixin.update:
  - 135
  werkzeug.datastructures.ImmutableHeadersMixin:
  - 1302
  werkzeug.datastructures.ImmutableHeadersMixin.__delitem__:
  - 1312
  werkzeug.datastructures.ImmutableHeadersMixin.__setitem__:
  - 1315
  werkzeug.datastructures.ImmutableHeadersMixin.add:
  - 1324
  werkzeug.datastructures.ImmutableHeadersMixin.add_header:
  - 1327
  werkzeug.datastructures.ImmutableHeadersMixin.extend:
  - 1333
  werkzeug.datastructures.ImmutableHeadersMixin.insert:
  - 1339
  werkzeug.datastructures.ImmutableHeadersMixin.pop:
  - 1342
  werkzeug.datastructures.ImmutableHeadersMixin.popitem:
  - 1345
  werkzeug.datastructures.ImmutableHeadersMixin.remove:
  - 1330
  werkzeug.datastructures.ImmutableHeadersMixin.set:
  - 1318
  werkzeug.datastructures.ImmutableHeadersMixin.setdefault:
  - 1348
  werkzeug.datastructures.ImmutableHeadersMixin.setlist:
  - 1321
  werkzeug.datastructures.ImmutableHeadersMixin.setlistdefault:
  - 1351
  werkzeug.datastructures.ImmutableHeadersMixin.update:
  - 1336
  werkzeug.datastructures.ImmutableList:
  - 92
  werkzeug.datastructures.ImmutableList.__repr__:
  - 100
  werkzeug.datastructures.ImmutableListMixin:
  - 39
  werkzeug.datastructures.ImmutableListMixin.__delitem__:
  - 58
  werkzeug.datastructures.ImmutableListMixin.__hash__:
  - 49
  - 51
  werkzeug.datastructures.ImmutableListMixin.__iadd__:
  - 61
  werkzeug.datastructures.ImmutableListMixin.__imul__:
  - 64
  werkzeug.datastructures.ImmutableListMixin.__reduce_ex__:
  - 55
  werkzeug.datastructures.ImmutableListMixin.__setitem__:
  - 67
  werkzeug.datastructures.ImmutableListMixin.append:
  - 70
  werkzeug.datastructures.ImmutableListMixin.extend:
  - 76
  werkzeug.datastructures.ImmutableListMixin.insert:
  - 79
  werkzeug.datastructures.ImmutableListMixin.pop:
  - 82
  werkzeug.datastructures.ImmutableListMixin.remove:
  - 73
  werkzeug.datastructures.ImmutableListMixin.reverse:
  - 85
  werkzeug.datastructures.ImmutableListMixin.sort:
  - 88
  werkzeug.datastructures.ImmutableMultiDict:
  - 1593
  werkzeug.datastructures.ImmutableMultiDict.copy:
  - 1603
  - 1599
  werkzeug.datastructures.ImmutableMultiDictMixin:
  - 154
  werkzeug.datastructures.ImmutableMultiDictMixin.__reduce_ex__:
  - 162
  werkzeug.datastructures.ImmutableMultiDictMixin._iter_hashitems:
  - 165
  werkzeug.datastructures.ImmutableMultiDictMixin.add:
  - 168
  werkzeug.datastructures.ImmutableMultiDictMixin.popitemlist:
  - 171
  werkzeug.datastructures.ImmutableMultiDictMixin.poplist:
  - 174
  werkzeug.datastructures.ImmutableMultiDictMixin.setlist:
  - 177
  werkzeug.datastructures.ImmutableMultiDictMixin.setlistdefault:
  - 180
  werkzeug.datastructures.ImmutableOrderedMultiDict:
  - 1610
  werkzeug.datastructures.ImmutableOrderedMultiDict._iter_hashitems:
  - 1616
  werkzeug.datastructures.ImmutableOrderedMultiDict.copy:
  - 1619
  - 1623
  werkzeug.datastructures.ImmutableTypeConversionDict:
  - 272
  werkzeug.datastructures.ImmutableTypeConversionDict.copy:
  - 283
  - 279
  werkzeug.datastructures.LanguageAccept:
  - 1883
  werkzeug.datastructures.LanguageAccept._value_matches:
  - 1886
  werkzeug.datastructures.LanguageAccept.best_match:
  - 1920
  - 1889
  - 1925
  - 1926
  - 1930
  - 1931
  - 1907
  - 1909
  - 1915
  - 1916
  - 1918
  werkzeug.datastructures.MIMEAccept:
  - 1809
  werkzeug.datastructures.MIMEAccept._specificity:
  - 1814
  werkzeug.datastructures.MIMEAccept._value_matches:
  - 1827
  - 1829
  - 1832
  - 1836
  - 1838
  - 1841
  - 1818
  - 1823
  werkzeug.datastructures.MIMEAccept.accept_html:
  - 1858
  werkzeug.datastructures.MIMEAccept.accept_json:
  - 1870
  werkzeug.datastructures.MIMEAccept.accept_xhtml:
  - 1865
  werkzeug.datastructures.MultiDict:
  - 290
  werkzeug.datastructures.MultiDict.__copy__:
  - 612
  werkzeug.datastructures.MultiDict.__deepcopy__:
  - 615
  werkzeug.datastructures.MultiDict.__getitem__:
  - 372
  - 371
  - 364
  - 373
  werkzeug.datastructures.MultiDict.__getstate__:
  - 351
  werkzeug.datastructures.MultiDict.__init__:
  - 331
  - 332
  - 333
  - 335
  - 336
  - 337
  - 339
  - 343
  - 346
  - 347
  - 348
  werkzeug.datastructures.MultiDict.__iter__:
  - 361
  werkzeug.datastructures.MultiDict.__repr__:
  - 618
  werkzeug.datastructures.MultiDict.__setitem__:
  - 378
  - 383
  werkzeug.datastructures.MultiDict.__setstate__:
  - 354
  - 355
  werkzeug.datastructures.MultiDict.add:
  - 393
  - 386
  werkzeug.datastructures.MultiDict.copy:
  - 513
  - 514
  werkzeug.datastructures.MultiDict.deepcopy:
  - 517
  - 518
  werkzeug.datastructures.MultiDict.getlist:
  - 416
  - 396
  - 408
  - 411
  - 412
  - 414
  werkzeug.datastructures.MultiDict.items:
  - 484
  - 485
  - 486
  - 487
  - 489
  - 478
  werkzeug.datastructures.MultiDict.lists:
  - 492
  - 494
  - 495
  werkzeug.datastructures.MultiDict.listvalues:
  - 510
  - 503
  werkzeug.datastructures.MultiDict.pop:
  - 577
  - 570
  - 556
  - 572
  werkzeug.datastructures.MultiDict.popitem:
  - 585
  - 587
  - 583
  werkzeug.datastructures.MultiDict.popitemlist:
  - 605
  - 607
  werkzeug.datastructures.MultiDict.poplist:
  - 602
  - 595
  werkzeug.datastructures.MultiDict.setdefault:
  - 440
  - 447
  werkzeug.datastructures.MultiDict.setlist:
  - 437
  - 422
  werkzeug.datastructures.MultiDict.setlistdefault:
  - 454
  - 470
  - 471
  - 472
  - 474
  werkzeug.datastructures.MultiDict.to_dict:
  - 521
  - 530
  - 531
  - 532
  werkzeug.datastructures.MultiDict.update:
  - 552
  - 553
  - 535
  werkzeug.datastructures.MultiDict.values:
  - 498
  - 499
  - 500
  werkzeug.datastructures.OrderedMultiDict:
  - 654
  werkzeug.datastructures.OrderedMultiDict.__delitem__:
  - 723
  werkzeug.datastructures.OrderedMultiDict.__eq__:
  - 676
  - 678
  - 679
  - 680
  - 682
  - 683
  - 684
  - 689
  - 693
  - 695
  - 696
  werkzeug.datastructures.OrderedMultiDict.__getitem__:
  - 714
  - 715
  werkzeug.datastructures.OrderedMultiDict.__getstate__:
  - 706
  werkzeug.datastructures.OrderedMultiDict.__init__:
  - 672
  - 673
  - 670
  werkzeug.datastructures.OrderedMultiDict.__iter__:
  - 729
  werkzeug.datastructures.OrderedMultiDict.__reduce_ex__:
  - 703
  werkzeug.datastructures.OrderedMultiDict.__setitem__:
  - 720
  - 719
  werkzeug.datastructures.OrderedMultiDict.__setstate__:
  - 709
  - 710
  - 711
  werkzeug.datastructures.OrderedMultiDict.add:
  - 762
  werkzeug.datastructures.OrderedMultiDict.getlist:
  - 769
  - 772
  - 766
  - 774
  werkzeug.datastructures.OrderedMultiDict.items:
  - 736
  - 738
  - 741
  - 743
  - 744
  - 745
  werkzeug.datastructures.OrderedMultiDict.keys:
  - 726
  werkzeug.datastructures.OrderedMultiDict.lists:
  - 752
  - 753
  - 754
  - 749
  werkzeug.datastructures.OrderedMultiDict.listvalues:
  - 758
  - 759
  werkzeug.datastructures.OrderedMultiDict.pop:
  - 801
  - 807
  - 806
  - 799
  werkzeug.datastructures.OrderedMultiDict.popitem:
  - 817
  - 818
  - 813
  werkzeug.datastructures.OrderedMultiDict.popitemlist:
  - 824
  - 828
  - 829
  werkzeug.datastructures.OrderedMultiDict.poplist:
  - 792
  - 793
  - 794
  werkzeug.datastructures.OrderedMultiDict.setlist:
  - 780
  - 781
  - 782
  werkzeug.datastructures.OrderedMultiDict.update:
  - 788
  - 789
  werkzeug.datastructures.OrderedMultiDict.values:
  - 732
  werkzeug.datastructures.Range:
  - 2487
  werkzeug.datastructures.Range.__init__:
  - 2506
  - 2507
  werkzeug.datastructures.Range.__repr__:
  - 2558
  werkzeug.datastructures.Range.__str__:
  - 2555
  werkzeug.datastructures.Range.make_content_range:
  - 2530
  - 2531
  - 2532
  - 2527
  werkzeug.datastructures.Range.range_for_length:
  - 2511
  - 2515
  - 2518
  - 2520
  - 2522
  - 2523
  werkzeug.datastructures.Range.to_content_range_header:
  - 2546
  - 2549
  - 2550
  werkzeug.datastructures.Range.to_header:
  - 2536
  - 2538
  - 2539
  - 2540
  - 2542
  - 2543
  werkzeug.datastructures.RequestCacheControl:
  - 2064
  - 2081
  - 2082
  - 2083
  werkzeug.datastructures.ResponseCacheControl:
  - 2112
  - 2113
  - 2087
  - 2108
  - 2109
  - 2110
  - 2111
  werkzeug.datastructures.TypeConversionDict:
  - 231
  werkzeug.datastructures.TypeConversionDict.get:
  - 265
  - 263
  - 239
  werkzeug.datastructures.UpdateDictMixin:
  - 224
  - 225
  - 226
  - 227
  - 197
  - 223
  werkzeug.datastructures.UpdateDictMixin.pop:
  - 215
  - 216
  - 218
  - 219
  - 220
  werkzeug.datastructures.UpdateDictMixin.setdefault:
  - 208
  - 209
  - 210
  werkzeug.datastructures.WWWAuthenticate:
  - 2853
  - 2827
  - 2891
  - 2861
  - 2832
  - 2771
  - 2869
  - 2774
  - 2840
  - 2846
  werkzeug.datastructures.WWWAuthenticate.__init__:
  - 2777
  - 2778
  werkzeug.datastructures.WWWAuthenticate.__repr__:
  - 2825
  werkzeug.datastructures.WWWAuthenticate.__str__:
  - 2822
  werkzeug.datastructures.WWWAuthenticate.set_basic:
  - 2784
  - 2785
  - 2786
  - 2787
  - 2783
  werkzeug.datastructures.WWWAuthenticate.set_digest:
  - 2792
  - 2797
  - 2799
  - 2801
  - 2803
  - 2805
  - 2806
  - 2807
  - 2808
  werkzeug.datastructures.WWWAuthenticate.stale:
  - 2880
  - 2881
  - 2882
  - 2886
  - 2887
  - 2877
  werkzeug.datastructures.WWWAuthenticate.to_header:
  - 2816
  - 2818
  - 2819
  - 2811
  - 2812
  - 2813
  - 2815
  werkzeug.datastructures._CacheControl:
  - 2060
  - 1965
  - 2000
  - 2001
  - 2002
  - 2003
  werkzeug.datastructures._CacheControl.__init__:
  - 2006
  werkzeug.datastructures._CacheControl.__repr__:
  - 2057
  - 2058
  werkzeug.datastructures._CacheControl.__str__:
  - 2054
  werkzeug.datastructures._CacheControl._del_cache_value:
  - 2045
  - 2046
  werkzeug.datastructures._CacheControl._get_cache_value:
  - 2016
  - 2018
  - 2020
  - 2011
  - 2012
  - 2014
  werkzeug.datastructures._CacheControl._set_cache_value:
  - 2027
  - 2028
  - 2029
  - 2032
  - 2034
  - 2035
  - 2036
  - 2039
  - 2040
  werkzeug.datastructures._CacheControl.to_header:
  - 2050
  - 2051
  werkzeug.datastructures._callback_property:
  - 2570
  werkzeug.datastructures._callback_property.fget:
  - 2563
  werkzeug.datastructures._callback_property.fset:
  - 2568
  - 2566
  - 2567
  werkzeug.datastructures._calls_update.oncall:
  - 185
  - 187
  - 188
  werkzeug.datastructures._normalize_lang:
  - 1878
  - 1879
  werkzeug.datastructures._normalize_mime:
  - 1805
  werkzeug.datastructures._omd_bucket:
  - 622
  werkzeug.datastructures._omd_bucket.__init__:
  - 636
  - 638
  werkzeug.datastructures._omd_bucket.unlink:
  - 649
  - 643
  - 645
  - 647
  werkzeug.datastructures._options_header_vkw:
  - 835
  - 836
  werkzeug.datastructures._set_property:
  - 2767
  werkzeug.datastructures._set_property.fget:
  - 2765
  werkzeug.datastructures._set_property.fget.on_update:
  - 2760
  - 2762
  - 2763
  werkzeug.datastructures._unicodify_header_value:
  - 841
  - 842
  - 843
  - 844
  werkzeug.datastructures.auth_property:
  - 2754
  - 2738
  werkzeug.datastructures.auth_property.<lambda1>:
  - 2754
  werkzeug.datastructures.auth_property._set_value:
  - 2752
  - 2749
  - 2750
  werkzeug.datastructures.cache_control_property:
  - 1956
  - 1957
  - 1958
  - 1959
  - 1950
  werkzeug.datastructures.cache_control_property.<lambda1>:
  - 1957
  werkzeug.datastructures.cache_control_property.<lambda2>:
  - 1958
  werkzeug.datastructures.cache_control_property.<lambda3>:
  - 1959
  werkzeug.datastructures.csp_property:
  - 2117
  - 2121
  - 2122
  - 2123
  - 2124
  werkzeug.datastructures.csp_property.<lambda1>:
  - 2122
  werkzeug.datastructures.csp_property.<lambda2>:
  - 2123
  werkzeug.datastructures.csp_property.<lambda3>:
  - 2124
  werkzeug.datastructures.iter_multi_items:
  - 33
  - 35
  - 22
  - 25
  - 26
  - 27
  - 28
  - 29
  - 30
  - 31
  werkzeug.debug:
  - 29
  werkzeug.debug.DebuggedApplication:
  - 222
  werkzeug.debug.DebuggedApplication.__call__:
  - 473
  - 477
  - 479
  - 480
  - 481
  - 482
  - 483
  - 484
  - 485
  - 486
  - 487
  - 488
  - 489
  - 490
  - 495
  - 497
  - 498
  - 503
  - 504
  werkzeug.debug.DebuggedApplication.__init__:
  - 262
  - 271
  - 275
  - 277
  - 278
  - 279
  - 280
  - 282
  werkzeug.debug.DebuggedApplication._fail_pin_auth:
  - 407
  werkzeug.debug.DebuggedApplication.check_pin_trust:
  - 389
  - 394
  - 396
  - 397
  - 399
  - 400
  - 402
  - 404
  werkzeug.debug.DebuggedApplication.debug_application:
  - 321
  - 322
  - 324
  - 325
  - 345
  - 330
  - 333
  - 339
  - 308
  - 311
  - 312
  - 313
  - 314
  - 316
  - 317
  - 319
  werkzeug.debug.DebuggedApplication.display_console:
  - 357
  - 358
  - 359
  - 362
  - 363
  - 364
  - 365
  - 366
  - 367
  werkzeug.debug.DebuggedApplication.execute_command:
  - 353
  - 354
  werkzeug.debug.DebuggedApplication.get_resource:
  - 384
  - 385
  - 372
  - 373
  - 376
  - 378
  - 380
  - 381
  - 383
  werkzeug.debug.DebuggedApplication.log_pin_request:
  - 462
  - 463
  - 464
  - 467
  - 468
  werkzeug.debug.DebuggedApplication.pin:
  - 288
  - 289
  werkzeug.debug.DebuggedApplication.pin_auth:
  - 449
  - 450
  - 446
  - 452
  - 423
  - 424
  - 457
  - 458
  - 428
  - 432
  - 443
  - 439
  - 411
  - 445
  - 414
  - 415
  werkzeug.debug.DebuggedApplication.pin_cookie_name:
  - 299
  - 300
  - 301
  werkzeug.debug._ConsoleFrame:
  - 123
  werkzeug.debug._ConsoleFrame.__init__:
  - 128
  werkzeug.debug._ConsoleFrame.eval:
  - 132
  werkzeug.debug.console:
  - 12
  - 15
  werkzeug.debug.console.Console:
  - 197
  werkzeug.debug.console.Console.__init__:
  - 208
  - 204
  - 206
  werkzeug.debug.console.Console.eval:
  - 214
  werkzeug.debug.console.HTMLStringO:
  - 19
  werkzeug.debug.console.HTMLStringO._write:
  - 49
  - 50
  - 51
  werkzeug.debug.console.HTMLStringO.readline:
  - 37
  werkzeug.debug.console.HTMLStringO.reset:
  - 44
  werkzeug.debug.console.HTMLStringO.write:
  - 54
  werkzeug.debug.console.HTMLStringO.writelines:
  - 57
  werkzeug.debug.console.ThreadedStream:
  - 61
  werkzeug.debug.console.ThreadedStream.__dir__:
  - 93
  werkzeug.debug.console.ThreadedStream.__getattribute__:
  - 100
  werkzeug.debug.console.ThreadedStream.__repr__:
  - 103
  werkzeug.debug.console.ThreadedStream.displayhook:
  - 82
  - 85
  - 87
  werkzeug.debug.console.ThreadedStream.fetch:
  - 75
  werkzeug.debug.console.ThreadedStream.push:
  - 65
  - 66
  - 67
  werkzeug.debug.console._ConsoleLoader.get_source_by_code:
  - 124
  werkzeug.debug.console._ConsoleLoader.register:
  - 120
  - 116
  - 118
  - 119
  werkzeug.debug.console._InteractiveConsole.__init__:
  - 133
  - 141
  werkzeug.debug.console._InteractiveConsole.__init__.compile:
  - 145
  - 147
  - 148
  werkzeug.debug.console._InteractiveConsole.runcode:
  - 176
  - 174
  werkzeug.debug.console._InteractiveConsole.runsource:
  - 161
  - 162
  - 164
  - 169
  - 170
  - 157
  - 158
  werkzeug.debug.console._InteractiveConsole.showsyntaxerror:
  - 188
  - 189
  - 190
  werkzeug.debug.console._InteractiveConsole.showtraceback:
  - 181
  - 182
  - 183
  werkzeug.debug.console._InteractiveConsole.write:
  - 193
  werkzeug.debug.get_machine_id:
  - 48
  - 118
  werkzeug.debug.get_machine_id._generate:
  - 89
  - 99
  - 90
  - 70
  - 71
  - 75
  - 107
  - 109
  - 110
  - 84
  - 87
  - 55
  - 57
  - 58
  - 62
  - 95
  werkzeug.debug.get_pin_and_cookie_name:
  - 138
  - 145
  - 150
  - 154
  - 156
  - 161
  - 168
  - 172
  - 179
  - 180
  - 186
  - 188
  - 189
  - 190
  - 192
  - 193
  - 194
  - 195
  - 197
  - 201
  - 202
  - 203
  - 207
  - 208
  - 209
  - 210
  - 211
  - 212
  werkzeug.debug.hash_pin:
  - 39
  werkzeug.debug.repr:
  - 1
  - 79
  - 16
  - 17
  - 15
  werkzeug.debug.repr.DebugReprGenerator:
  - 128
  - 124
  - 125
  - 126
  - 127
  werkzeug.debug.repr.DebugReprGenerator.dict_repr:
  - 171
  - 172
  - 175
  - 176
  - 177
  - 178
  - 179
  - 181
  - 182
  - 183
  - 185
  - 186
  - 187
  - 188
  werkzeug.debug.repr.DebugReprGenerator.dispatch_repr:
  - 197
  - 199
  - 201
  - 202
  - 203
  - 204
  - 205
  - 206
  - 207
  - 208
  - 209
  - 210
  - 211
  - 212
  - 213
  - 214
  - 215
  - 216
  - 217
  werkzeug.debug.repr.DebugReprGenerator.dump_locals:
  - 269
  - 270
  werkzeug.debug.repr.DebugReprGenerator.dump_object:
  - 256
  - 258
  - 259
  - 261
  - 265
  - 266
  - 248
  - 251
  - 252
  - 255
  werkzeug.debug.repr.DebugReprGenerator.fallback_repr:
  - 226
  - 221
  werkzeug.debug.repr.DebugReprGenerator.object_repr:
  - 193
  - 194
  werkzeug.debug.repr.DebugReprGenerator.regex_repr:
  - 133
  - 134
  werkzeug.debug.repr.DebugReprGenerator.render_object_dump:
  - 276
  - 277
  - 278
  - 279
  - 281
  - 283
  werkzeug.debug.repr.DebugReprGenerator.repr:
  - 231
  - 232
  - 235
  - 238
  - 240
  - 242
  werkzeug.debug.repr.DebugReprGenerator.string_repr:
  - 160
  - 140
  - 143
  - 144
  - 146
  - 148
  - 153
  - 155
  - 156
  - 159
  werkzeug.debug.repr._Helper:
  - 52
  werkzeug.debug.repr._Helper.__call__:
  - 65
  - 66
  - 67
  - 68
  - 69
  - 70
  - 72
  - 76
  - 60
  - 61
  werkzeug.debug.repr._add_subclass_info:
  - 85
  - 86
  - 87
  - 89
  - 92
  - 94
  werkzeug.debug.repr._sequence_repr_maker.proxy:
  - 101
  - 102
  - 105
  - 106
  - 107
  - 108
  - 109
  - 111
  - 112
  - 113
  - 114
  - 115
  werkzeug.debug.repr.debug_repr:
  - 35
  - 36
  werkzeug.debug.repr.dump:
  - 40
  - 43
  - 44
  - 45
  - 47
  - 48
  werkzeug.debug.tbtools.DebugFrameSummary:
  - 334
  werkzeug.debug.tbtools.DebugFrameSummary.__init__:
  - 353
  werkzeug.debug.tbtools.DebugFrameSummary.console:
  - 370
  werkzeug.debug.tbtools.DebugFrameSummary.eval:
  - 373
  werkzeug.debug.tbtools.DebugFrameSummary.info:
  - 359
  werkzeug.debug.tbtools.DebugFrameSummary.is_library:
  - 363
  - 364
  - 365
  werkzeug.debug.tbtools.DebugFrameSummary.render_html:
  - 392
  - 393
  - 394
  - 396
  - 398
  - 399
  - 402
  - 403
  - 405
  - 406
  - 377
  - 379
  - 380
  werkzeug.debug.tbtools.DebugFrameSummary.render_html.render_line:
  - 384
  - 385
  - 386
  - 387
  - 389
  werkzeug.debug.tbtools.DebugTraceback.__init__:
  - 224
  werkzeug.debug.tbtools.DebugTraceback.__str__:
  - 227
  werkzeug.debug.tbtools.DebugTraceback.all_tracebacks:
  - 253
  - 243
  - 237
  werkzeug.debug.tbtools.DebugTraceback.render_debugger_html:
  - 324
  - 325
  - 326
  - 327
  - 328
  - 317
  - 318
  werkzeug.debug.tbtools.DebugTraceback.render_traceback_html:
  - 288
  - 290
  - 292
  - 293
  - 300
  - 269
  - 302
  - 272
  - 277
  - 310
  - 280
  - 281
  - 283
  - 284
  - 285
  - 286
  werkzeug.debug.tbtools.DebugTraceback.render_traceback_text:
  - 265
  werkzeug.debug.tbtools._process_traceback:
  - 130
  - 131
  - 135
  - 136
  - 138
  - 139
  - 142
  - 144
  - 145
  - 154
  - 155
  - 156
  - 158
  - 162
  - 164
  - 167
  - 169
  - 172
  - 174
  - 177
  - 178
  - 190
  - 192
  - 193
  - 195
  - 202
  - 203
  - 204
  - 206
  - 207
  - 208
  werkzeug.exceptions:
  - 1
  - 882
  - 827
  - 52
  werkzeug.exceptions.Aborter:
  - 832
  werkzeug.exceptions.Aborter.__call__:
  - 856
  - 859
  werkzeug.exceptions.Aborter.__init__:
  - 848
  - 849
  - 845
  - 847
  werkzeug.exceptions.BadGateway:
  - 752
  werkzeug.exceptions.BadHost:
  - 244
  werkzeug.exceptions.BadRequest:
  - 173
  werkzeug.exceptions.BadRequestKeyError:
  - 187
  werkzeug.exceptions.BadRequestKeyError.__init__:
  - 200
  - 201
  - 203
  - 198
  werkzeug.exceptions.BadRequestKeyError.description:
  - 210
  - 207
  werkzeug.exceptions.ClientDisconnected:
  - 221
  werkzeug.exceptions.Conflict:
  - 418
  werkzeug.exceptions.ExpectationFailed:
  - 549
  werkzeug.exceptions.FailedDependency:
  - 598
  werkzeug.exceptions.Forbidden:
  - 325
  werkzeug.exceptions.GatewayTimeout:
  - 788
  werkzeug.exceptions.Gone:
  - 435
  werkzeug.exceptions.HTTPException:
  - 63
  werkzeug.exceptions.HTTPException.__call__:
  - 160
  - 161
  - 154
  werkzeug.exceptions.HTTPException.__init__:
  - 80
  - 79
  werkzeug.exceptions.HTTPException.__repr__:
  - 169
  werkzeug.exceptions.HTTPException.get_body:
  - 112
  - 116
  - 117
  - 118
  werkzeug.exceptions.HTTPException.get_description:
  - 96
  - 97
  - 99
  - 100
  - 104
  werkzeug.exceptions.HTTPException.get_headers:
  - 126
  werkzeug.exceptions.HTTPException.get_response:
  - 134
  - 144
  - 146
  - 147
  - 148
  - 149
  werkzeug.exceptions.HTTPException.name:
  - 89
  - 86
  werkzeug.exceptions.HTTPVersionNotSupported:
  - 799
  werkzeug.exceptions.ImATeapot:
  - 561
  werkzeug.exceptions.InternalServerError:
  - 711
  werkzeug.exceptions.InternalServerError.__init__:
  - 737
  werkzeug.exceptions.LengthRequired:
  - 449
  werkzeug.exceptions.Locked:
  - 588
  werkzeug.exceptions.MethodNotAllowed:
  - 353
  werkzeug.exceptions.MethodNotAllowed.__init__:
  - 372
  - 374
  werkzeug.exceptions.MethodNotAllowed.get_headers:
  - 384
  - 382
  - 383
  werkzeug.exceptions.NotAcceptable:
  - 389
  werkzeug.exceptions.NotFound:
  - 340
  werkzeug.exceptions.NotImplemented:
  - 741
  werkzeug.exceptions.PreconditionFailed:
  - 463
  werkzeug.exceptions.PreconditionRequired:
  - 613
  werkzeug.exceptions.RequestEntityTooLarge:
  - 476
  werkzeug.exceptions.RequestHeaderFieldsTooLarge:
  - 688
  werkzeug.exceptions.RequestTimeout:
  - 405
  werkzeug.exceptions.RequestURITooLarge:
  - 487
  werkzeug.exceptions.RequestedRangeNotSatisfiable:
  - 513
  werkzeug.exceptions.RequestedRangeNotSatisfiable.__init__:
  - 530
  - 533
  werkzeug.exceptions.RequestedRangeNotSatisfiable.get_headers:
  - 544
  - 542
  - 543
  werkzeug.exceptions.SecurityError:
  - 236
  werkzeug.exceptions.ServiceUnavailable:
  - 766
  werkzeug.exceptions.TooManyRequests:
  - 667
  werkzeug.exceptions.Unauthorized:
  - 251
  werkzeug.exceptions.Unauthorized.__init__:
  - 304
  - 308
  werkzeug.exceptions.Unauthorized.get_headers:
  - 320
  - 318
  - 319
  werkzeug.exceptions.UnavailableForLegalReasons:
  - 700
  werkzeug.exceptions.UnprocessableEntity:
  - 574
  werkzeug.exceptions.UnsupportedMediaType:
  - 500
  werkzeug.exceptions._RetryAfter:
  - 632
  werkzeug.exceptions._RetryAfter.__init__:
  - 643
  werkzeug.exceptions._RetryAfter.get_headers:
  - 651
  - 653
  - 654
  - 657
  - 659
  - 661
  werkzeug.exceptions._find_exceptions:
  - 814
  - 816
  - 819
  - 821
  - 822
  werkzeug.exceptions.abort:
  - 868
  - 879
  werkzeug.formparser:
  - 32
  - 49
  werkzeug.formparser.FormDataParser:
  - 157
  werkzeug.formparser.FormDataParser.__init__:
  - 194
  - 203
  werkzeug.formparser.FormDataParser._parse_multipart:
  - 290
  - 285
  - 278
  - 287
  werkzeug.formparser.FormDataParser._parse_urlencoded:
  - 307
  - 301
  - 310
  - 311
  werkzeug.formparser.FormDataParser.get_parse_func:
  - 217
  werkzeug.formparser.FormDataParser.parse:
  - 256
  - 259
  - 261
  - 263
  - 265
  - 268
  - 237
  - 247
  - 253
  werkzeug.formparser.FormDataParser.parse_from_environ:
  - 225
  - 226
  - 227
  - 228
  - 220
  werkzeug.formparser.MultiPartParser.__init__:
  - 354
  - 359
  werkzeug.formparser.MultiPartParser.get_part_charset:
  - 371
  - 373
  - 374
  - 375
  werkzeug.formparser.MultiPartParser.parse:
  - 403
  - 404
  - 412
  - 418
  - 419
  - 420
  - 421
  - 422
  - 426
  - 428
  - 430
  - 431
  - 432
  - 433
  - 434
  - 435
  - 437
  - 439
  - 440
  - 441
  - 444
  - 453
  - 455
  werkzeug.formparser.MultiPartParser.start_file_streaming:
  - 385
  - 389
  - 382
  werkzeug.formparser.TStreamFactory.__call__:
  - 46
  werkzeug.formparser._exhaust:
  - 53
  - 55
  werkzeug.formparser._line_parse:
  - 328
  - 331
  - 334
  werkzeug.formparser.default_stream_factory:
  - 66
  - 67
  - 68
  - 69
  - 71
  werkzeug.formparser.exhaust_stream:
  - 136
  - 153
  werkzeug.formparser.exhaust_stream.wrapper:
  - 140
  - 142
  - 144
  - 145
  - 148
  - 150
  werkzeug.formparser.parse_form_data:
  - 124
  - 84
  werkzeug.http:
  - 32
  - 100
  - 567
  - 519
  - 51
  - 85
  - 54
  - 55
  - 86
  - 469
  - 27
  werkzeug.http.COEP:
  - 181
  werkzeug.http.COOP:
  - 188
  werkzeug.http.dump_age:
  - 1006
  - 1012
  - 1014
  - 1015
  - 1017
  - 1019
  - 1022
  werkzeug.http.dump_cookie:
  - 1281
  - 1283
  - 1284
  - 1286
  - 1287
  - 1288
  - 1289
  - 1290
  - 1292
  - 1293
  - 1295
  - 1298
  - 1303
  - 1312
  - 1313
  - 1314
  - 1317
  - 1320
  - 1321
  - 1322
  - 1323
  - 1324
  - 1326
  - 1330
  - 1331
  - 1336
  - 1338
  - 1339
  - 1340
  - 1341
  - 1232
  - 1273
  - 1274
  - 1276
  - 1279
  werkzeug.http.dump_csp_header:
  - 297
  - 306
  werkzeug.http.dump_header:
  - 288
  - 289
  - 292
  - 293
  - 268
  - 282
  - 284
  - 285
  - 286
  werkzeug.http.dump_options_header:
  - 256
  - 257
  - 258
  - 260
  - 261
  - 248
  - 254
  - 255
  werkzeug.http.generate_etag:
  - 914
  - 919
  werkzeug.http.http_date:
  - 967
  - 968
  - 970
  - 973
  - 975
  - 977
  - 978
  - 980
  - 954
  werkzeug.http.is_byte_range_valid:
  - 1355
  - 1359
  - 1361
  - 1363
  - 1365
  werkzeug.http.is_entity_header:
  - 1150
  - 1143
  werkzeug.http.is_hop_by_hop_header:
  - 1161
  - 1154
  werkzeug.http.is_resource_modified:
  - 1032
  - 1050
  - 1051
  - 1052
  - 1056
  - 1057
  - 1061
  - 1062
  - 1065
  - 1069
  - 1071
  - 1074
  - 1076
  - 1079
  - 1080
  - 1081
  - 1083
  - 1084
  - 1086
  - 1087
  - 1091
  - 1096
  - 1097
  - 1098
  werkzeug.http.parse_accept_header:
  - 481
  - 514
  - 515
  - 516
  - 487
  - 506
  - 502
  - 503
  - 505
  - 474
  - 509
  - 510
  - 511
  werkzeug.http.parse_age:
  - 994
  - 997
  - 1000
  - 984
  - 991
  werkzeug.http.parse_authorization_header:
  - 673
  - 675
  - 679
  - 682
  - 683
  - 688
  - 657
  - 689
  - 690
  - 691
  - 693
  - 694
  - 696
  - 665
  - 667
  - 669
  - 670
  werkzeug.http.parse_cache_control_header:
  - 558
  - 559
  - 527
  - 561
  - 562
  - 564
  - 534
  - 542
  werkzeug.http.parse_content_range_header:
  - 832
  - 834
  - 835
  - 839
  - 840
  - 810
  - 813
  - 817
  - 819
  - 820
  - 822
  - 823
  - 827
  - 828
  - 829
  - 799
  werkzeug.http.parse_cookie:
  - 1192
  - 1193
  - 1194
  - 1199
  - 1200
  - 1170
  - 1202
  - 1215
  werkzeug.http.parse_cookie._parse_pairs:
  - 1206
  - 1207
  - 1209
  - 1212
  - 1213
  werkzeug.http.parse_csp_header:
  - 610
  - 611
  - 582
  - 614
  - 615
  - 616
  - 618
  - 590
  - 602
  - 603
  - 605
  - 606
  - 575
  werkzeug.http.parse_date:
  - 937
  - 941
  - 945
  - 946
  - 923
  werkzeug.http.parse_dict_header:
  - 365
  - 366
  - 367
  - 368
  - 369
  - 340
  - 372
  - 373
  - 374
  werkzeug.http.parse_etags:
  - 897
  - 898
  - 900
  - 901
  - 902
  - 903
  - 905
  - 906
  - 908
  - 909
  - 910
  - 885
  - 890
  - 891
  - 894
  werkzeug.http.parse_if_range_header:
  - 736
  - 738
  - 724
  - 732
  - 733
  - 734
  - 735
  werkzeug.http.parse_list_header:
  - 332
  - 333
  - 334
  - 335
  - 310
  werkzeug.http.parse_options_header:
  - 402
  - 405
  - 412
  - 417
  - 419
  - 420
  - 422
  - 425
  - 429
  - 430
  - 432
  - 437
  - 440
  - 443
  - 445
  - 446
  - 448
  - 449
  - 451
  - 455
  - 456
  - 460
  - 461
  - 462
  - 463
  - 466
  - 382
  werkzeug.http.parse_range_header:
  - 772
  - 773
  - 774
  - 775
  - 776
  - 778
  - 779
  - 781
  - 782
  - 784
  - 785
  - 790
  - 792
  - 744
  - 751
  - 756
  - 757
  - 759
  - 760
  - 761
  - 763
  - 764
  - 767
  werkzeug.http.parse_set_header:
  - 625
  - 649
  - 651
  - 650
  werkzeug.http.parse_www_authenticate_header:
  - 704
  - 713
  - 714
  - 716
  - 717
  - 719
  - 720
  werkzeug.http.quote_etag:
  - 854
  - 851
  - 846
  werkzeug.http.quote_header_value:
  - 198
  - 207
  - 208
  - 209
  - 210
  - 211
  - 212
  - 214
  werkzeug.http.remove_entity_headers:
  - 1123
  - 1107
  - 1119
  werkzeug.http.remove_hop_by_hop_headers:
  - 1130
  - 1138
  werkzeug.http.unquote_etag:
  - 872
  - 874
  - 876
  - 879
  - 862
  werkzeug.http.unquote_header_value:
  - 240
  - 241
  - 219
  - 228
  werkzeug.local:
  - 16
  - 11
  werkzeug.local.Local.__call__:
  - 52
  - 53
  werkzeug.local.Local.__delattr__:
  - 74
  - 71
  werkzeug.local.Local.__getattr__:
  - 59
  werkzeug.local.Local.__init__:
  - 46
  werkzeug.local.Local.__iter__:
  - 49
  werkzeug.local.Local.__release_local__:
  - 56
  werkzeug.local.Local.__setattr__:
  - 66
  - 68
  werkzeug.local.LocalManager:
  - 153
  werkzeug.local.LocalManager.__init__:
  - 176
  - 179
  - 174
  werkzeug.local.LocalManager.__repr__:
  - 216
  werkzeug.local.LocalManager.cleanup:
  - 185
  - 186
  - 182
  werkzeug.local.LocalManager.make_middleware:
  - 189
  werkzeug.local.LocalManager.make_middleware.application:
  - 196
  werkzeug.local.LocalManager.middleware:
  - 201
  - 213
  werkzeug.local.LocalProxy:
  - 512
  - 513
  - 514
  - 515
  - 516
  - 517
  - 518
  - 519
  - 520
  - 521
  - 522
  - 523
  - 524
  - 525
  - 526
  - 341
  - 415
  - 416
  - 419
  - 420
  - 422
  - 423
  - 424
  - 425
  - 426
  - 427
  - 428
  - 429
  - 430
  - 431
  - 432
  - 433
  - 435
  - 436
  - 437
  - 448
  - 449
  - 451
  - 452
  - 454
  - 455
  - 456
  - 457
  - 458
  - 459
  - 461
  - 462
  - 463
  - 464
  - 465
  - 466
  - 467
  - 468
  - 469
  - 470
  - 471
  - 472
  - 473
  - 474
  - 475
  - 476
  - 477
  - 478
  - 479
  - 480
  - 481
  - 482
  - 483
  - 484
  - 485
  - 486
  - 487
  - 488
  - 489
  - 490
  - 491
  - 492
  - 493
  - 494
  - 495
  - 496
  - 497
  - 498
  - 499
  - 500
  - 501
  - 502
  - 503
  - 504
  - 505
  - 506
  - 507
  - 508
  - 509
  - 510
  - 511
  werkzeug.local.LocalProxy.<lambda1>:
  - 416
  werkzeug.local.LocalProxy.<lambda2>:
  - 420
  werkzeug.local.LocalProxy.<lambda5>:
  - 449
  werkzeug.local.LocalProxy.<lambda6>:
  - 451
  werkzeug.local.LocalProxy.<lambda7>:
  - 452
  werkzeug.local.LocalProxy.<lambda8>:
  - 454
  werkzeug.local.LocalProxy.__init__:
  - 393
  - 394
  - 396
  - 399
  werkzeug.local.LocalProxy._get_current_object:
  - 402
  - 410
  - 406
  - 407
  werkzeug.local.LocalStack:
  - 80
  werkzeug.local.LocalStack.__call__:
  - 119
  werkzeug.local.LocalStack.__call__._lookup:
  - 115
  werkzeug.local.LocalStack.__init__:
  - 107
  werkzeug.local.LocalStack.__release_local__:
  - 110
  werkzeug.local.LocalStack.pop:
  - 129
  - 132
  - 133
  - 135
  - 136
  - 139
  werkzeug.local.LocalStack.push:
  - 122
  - 123
  - 124
  werkzeug.local._ProxyIOp:
  - 310
  werkzeug.local._ProxyIOp.__init__:
  - 319
  werkzeug.local._ProxyIOp.__init__.bind_f:
  - 326
  werkzeug.local._ProxyIOp.__init__.bind_f.i_op:
  - 323
  werkzeug.local._ProxyLookup:
  - 220
  werkzeug.local._ProxyLookup.__call__:
  - 306
  - 301
  werkzeug.local._ProxyLookup.__get__:
  - 288
  - 292
  - 293
  - 295
  - 271
  - 272
  - 278
  - 280
  - 283
  - 285
  werkzeug.local._ProxyLookup.__init__:
  - 252
  - 246
  werkzeug.local._ProxyLookup.__init__.bind_f:
  - 256
  - 250
  werkzeug.local._l_to_r_op:
  - 337
  - 332
  werkzeug.local._l_to_r_op.r_op:
  - 335
  werkzeug.local.release_local:
  - 20
  - 39
  werkzeug.middleware:
  - 1
  werkzeug.middleware.dispatcher:
  - 1
  - 35
  werkzeug.middleware.dispatcher.DispatcherMiddleware:
  - 42
  werkzeug.middleware.dispatcher.DispatcherMiddleware.__call__:
  - 66
  - 70
  - 73
  - 75
  - 78
  - 62
  werkzeug.middleware.http_proxy:
  - 1
  - 19
  werkzeug.middleware.http_proxy.ProxyMiddleware:
  - 26
  werkzeug.middleware.http_proxy.ProxyMiddleware.__call__:
  - 225
  - 226
  - 227
  - 230
  werkzeug.middleware.http_proxy.ProxyMiddleware.__init__:
  - 95
  werkzeug.middleware.http_proxy.ProxyMiddleware.__init__._set_defaults:
  - 88
  - 89
  - 90
  - 87
  werkzeug.middleware.http_proxy.ProxyMiddleware.proxy_to:
  - 104
  - 103
  werkzeug.middleware.http_proxy.ProxyMiddleware.proxy_to.application:
  - 128
  - 129
  - 130
  - 132
  - 135
  - 136
  - 137
  - 138
  - 142
  - 143
  - 146
  - 147
  - 159
  - 160
  - 163
  - 166
  - 168
  - 169
  - 172
  - 174
  - 175
  - 178
  - 180
  - 183
  - 184
  - 186
  - 188
  - 192
  - 194
  - 197
  - 198
  - 199
  - 215
  - 109
  - 113
  - 114
  - 116
  - 118
  - 119
  - 120
  - 121
  - 123
  - 125
  werkzeug.middleware.http_proxy.ProxyMiddleware.proxy_to.application.read:
  - 210
  - 213
  - 206
  werkzeug.middleware.lint:
  - 24
  - 1
  werkzeug.middleware.lint.ErrorStream.close:
  - 115
  - 116
  werkzeug.middleware.lint.ErrorStream.flush:
  - 108
  werkzeug.middleware.lint.ErrorStream.write:
  - 104
  - 105
  werkzeug.middleware.lint.ErrorStream.writelines:
  - 112
  - 111
  werkzeug.middleware.lint.GuardedIterator.__del__:
  - 201
  - 203
  werkzeug.middleware.lint.GuardedIterator.__init__:
  - 138
  werkzeug.middleware.lint.GuardedIterator.__next__:
  - 160
  - 147
  - 148
  - 150
  - 152
  - 153
  - 159
  werkzeug.middleware.lint.GuardedIterator.close:
  - 166
  - 167
  - 169
  - 171
  - 172
  - 174
  - 175
  - 176
  - 177
  - 180
  - 183
  - 184
  - 185
  - 186
  - 187
  - 191
  - 192
  - 193
  - 194
  werkzeug.middleware.lint.GuardedWrite.__call__:
  - 125
  - 126
  - 127
  werkzeug.middleware.lint.HTTPWarning:
  - 35
  werkzeug.middleware.lint.InputStream.__iter__:
  - 89
  - 91
  - 92
  werkzeug.middleware.lint.InputStream.close:
  - 96
  - 95
  werkzeug.middleware.lint.InputStream.read:
  - 66
  - 52
  - 53
  - 60
  - 61
  werkzeug.middleware.lint.InputStream.readline:
  - 69
  - 70
  - 76
  - 77
  - 85
  werkzeug.middleware.lint.LintMiddleware:
  - 211
  werkzeug.middleware.lint.LintMiddleware.__call__:
  - 384
  - 385
  - 416
  - 417
  - 418
  - 419
  - 372
  - 373
  - 375
  - 376
  - 383
  werkzeug.middleware.lint.LintMiddleware.__call__.checking_start_response:
  - 397
  - 398
  - 399
  - 404
  - 405
  - 411
  - 413
  - 414
  werkzeug.middleware.lint.LintMiddleware.check_environ:
  - 260
  - 261
  - 263
  - 264
  - 266
  - 267
  - 237
  - 238
  - 273
  - 274
  - 243
  - 254
  - 255
  werkzeug.middleware.lint.LintMiddleware.check_headers:
  - 353
  - 354
  - 355
  - 335
  - 337
  - 338
  - 339
  - 340
  - 348
  - 349
  - 351
  werkzeug.middleware.lint.LintMiddleware.check_iterator:
  - 362
  - 363
  werkzeug.middleware.lint.LintMiddleware.check_start_response:
  - 288
  - 289
  - 291
  - 292
  - 294
  - 295
  - 302
  - 304
  - 305
  - 307
  - 308
  - 310
  - 311
  - 312
  - 314
  - 315
  - 318
  - 319
  - 326
  - 327
  - 329
  - 330
  werkzeug.middleware.lint.WSGIWarning:
  - 31
  werkzeug.middleware.lint.check_type:
  - 40
  - 41
  - 39
  werkzeug.middleware.profiler:
  - 1
  - 25
  werkzeug.middleware.profiler.ProfilerMiddleware:
  - 32
  werkzeug.middleware.profiler.ProfilerMiddleware.__call__:
  - 128
  - 130
  - 131
  - 132
  - 133
  - 134
  - 135
  - 136
  - 137
  - 111
  - 112
  - 113
  - 114
  - 115
  - 117
  - 118
  - 119
  - 121
  - 123
  - 125
  - 127
  werkzeug.middleware.profiler.ProfilerMiddleware.__call__.catching_start_response:
  - 99
  werkzeug.middleware.profiler.ProfilerMiddleware.__call__.runapp:
  - 103
  - 104
  - 106
  - 108
  - 109
  werkzeug.middleware.proxy_fix:
  - 1
  - 28
  werkzeug.middleware.proxy_fix.ProxyFix:
  - 35
  werkzeug.middleware.proxy_fix.ProxyFix.__call__:
  - 133
  - 138
  - 139
  - 140
  - 141
  - 154
  - 155
  - 158
  - 159
  - 161
  - 164
  - 165
  - 168
  - 169
  - 171
  - 172
  - 173
  - 174
  - 176
  - 177
  - 181
  - 182
  - 184
  - 187
  werkzeug.middleware.proxy_fix.ProxyFix._get_real_value:
  - 126
  - 123
  - 125
  - 110
  werkzeug.middleware.shared_data:
  - 32
  - 1
  werkzeug.middleware.shared_data.SharedDataMiddleware:
  - 40
  werkzeug.middleware.shared_data.SharedDataMiddleware.__call__:
  - 257
  - 263
  - 264
  - 265
  - 268
  - 270
  - 272
  - 275
  - 276
  - 279
  - 280
  - 227
  - 230
  - 231
  - 232
  - 234
  - 237
  - 240
  - 241
  - 243
  - 246
  - 247
  - 249
  - 250
  - 251
  - 253
  - 255
  werkzeug.middleware.shared_data.SharedDataMiddleware.__init__:
  - 131
  - 133
  - 136
  - 117
  - 118
  - 120
  - 121
  - 122
  - 123
  - 124
  - 125
  - 127
  werkzeug.middleware.shared_data.SharedDataMiddleware.__init__.<lambda1>:
  - 136
  werkzeug.middleware.shared_data.SharedDataMiddleware._opener:
  - 148
  werkzeug.middleware.shared_data.SharedDataMiddleware._opener.<lambda1>:
  - 149
  - 150
  - 151
  werkzeug.middleware.shared_data.SharedDataMiddleware.generate_etag:
  - 219
  - 220
  - 221
  werkzeug.middleware.shared_data.SharedDataMiddleware.get_directory_loader.loader:
  - 203
  - 204
  - 206
  - 211
  - 212
  werkzeug.middleware.shared_data.SharedDataMiddleware.get_file_loader:
  - 155
  werkzeug.middleware.shared_data.SharedDataMiddleware.get_file_loader.<lambda1>:
  - 155
  werkzeug.middleware.shared_data.SharedDataMiddleware.get_package_loader:
  - 160
  - 158
  - 159
  werkzeug.middleware.shared_data.SharedDataMiddleware.get_package_loader.loader:
  - 165
  - 168
  - 170
  - 173
  - 176
  - 180
  - 183
  - 188
  werkzeug.middleware.shared_data.SharedDataMiddleware.get_package_loader.loader.<lambda1>:
  - 183
  werkzeug.middleware.shared_data.SharedDataMiddleware.get_package_loader.loader.<lambda2>:
  - 193
  - 190
  - 191
  werkzeug.middleware.shared_data.SharedDataMiddleware.is_allowed:
  - 141
  werkzeug.routing:
  - 1
  - 163
  - 164
  - 554
  - 555
  - 142
  - 149
  werkzeug.routing.AnyConverter:
  - 1251
  werkzeug.routing.AnyConverter.__init__:
  - 1262
  - 1263
  werkzeug.routing.BaseConverter:
  - 1196
  werkzeug.routing.BaseConverter.to_url:
  - 1208
  - 1209
  - 1210
  werkzeug.routing.BuildError:
  - 295
  werkzeug.routing.BuildError.__init__:
  - 306
  werkzeug.routing.BuildError.__str__:
  - 352
  - 353
  - 354
  - 355
  - 356
  - 357
  - 360
  - 361
  - 336
  - 337
  - 338
  - 339
  - 340
  - 341
  - 342
  - 343
  - 348
  - 350
  werkzeug.routing.BuildError.closest_rule:
  - 329
  - 330
  werkzeug.routing.BuildError.closest_rule._score_rule:
  - 318
  werkzeug.routing.BuildError.suggested:
  - 314
  werkzeug.routing.EndpointPrefix:
  - 446
  werkzeug.routing.EndpointPrefix.get_rules:
  - 464
  - 465
  - 467
  - 463
  werkzeug.routing.FloatConverter:
  - 1352
  werkzeug.routing.FloatConverter.__init__:
  - 1380
  werkzeug.routing.IntegerConverter:
  - 1327
  werkzeug.routing.Map:
  - 1418
  - 1463
  werkzeug.routing.Map.__init__:
  - 1504
  - 1505
  - 1487
  - 1497
  - 1498
  - 1499
  werkzeug.routing.Map.__repr__:
  - 1744
  - 1743
  werkzeug.routing.Map.add:
  - 1540
  - 1545
  - 1546
  - 1547
  - 1548
  werkzeug.routing.Map.bind:
  - 1602
  - 1606
  - 1590
  - 1591
  - 1592
  - 1561
  - 1594
  - 1596
  - 1598
  werkzeug.routing.Map.bind_to_environ:
  - 1664
  - 1665
  - 1667
  - 1668
  - 1669
  - 1672
  - 1675
  - 1678
  - 1681
  - 1683
  - 1686
  - 1687
  - 1688
  - 1689
  - 1691
  - 1697
  - 1704
  - 1712
  - 1713
  - 1714
  - 1715
  - 1623
  werkzeug.routing.Map.bind_to_environ._get_wsgi_string:
  - 1707
  - 1708
  - 1709
  werkzeug.routing.Map.is_endpoint_expecting:
  - 1508
  - 1520
  - 1521
  - 1522
  - 1523
  werkzeug.routing.Map.iter_rules:
  - 1536
  - 1537
  - 1528
  - 1534
  - 1535
  werkzeug.routing.Map.update:
  - 1730
  - 1734
  - 1737
  - 1738
  - 1739
  - 1727
  werkzeug.routing.Map.update.<lambda1>:
  - 1737
  werkzeug.routing.Map.update.<lambda2>:
  - 1739
  werkzeug.routing.MapAdapter:
  - 1749
  werkzeug.routing.MapAdapter.__init__:
  - 1765
  - 1766
  - 1767
  - 1770
  - 1771
  - 1772
  - 1773
  werkzeug.routing.MapAdapter._partial_build:
  - 2181
  - 2182
  - 2185
  - 2193
  - 2194
  - 2195
  - 2197
  - 2199
  - 2200
  - 2202
  - 2175
  werkzeug.routing.MapAdapter.allowed_methods:
  - 2074
  - 2069
  werkzeug.routing.MapAdapter.build:
  - 2304
  - 2308
  - 2310
  - 2218
  - 2318
  - 2289
  - 2321
  - 2291
  - 2292
  - 2325
  - 2294
  - 2295
  - 2296
  - 2329
  - 2299
  - 2332
  - 2303
  werkzeug.routing.MapAdapter.dispatch:
  - 1784
  - 1833
  - 1828
  - 1831
  werkzeug.routing.MapAdapter.encode_query_args:
  - 2128
  - 2127
  werkzeug.routing.MapAdapter.get_default_redirect:
  - 2114
  - 2118
  - 2120
  - 2121
  - 2122
  - 2123
  - 2108
  werkzeug.routing.MapAdapter.get_host:
  - 2082
  - 2086
  - 2087
  - 2089
  - 2091
  - 2094
  - 2096
  werkzeug.routing.MapAdapter.make_alias_redirect_url:
  - 2160
  - 2163
  - 2164
  - 2159
  werkzeug.routing.MapAdapter.make_redirect_url:
  - 2147
  - 2148
  - 2137
  - 2141
  - 2142
  werkzeug.routing.MapAdapter.match:
  - 1954
  - 1955
  - 1958
  - 1959
  - 1961
  - 1963
  - 1969
  - 1972
  - 1846
  - 1975
  - 1977
  - 1857
  - 1991
  - 1993
  - 1994
  - 1867
  - 1997
  - 2001
  - 2002
  - 2003
  - 2006
  - 2007
  - 2013
  - 2015
  - 2017
  - 2029
  - 2036
  - 2041
  - 2044
  werkzeug.routing.MapAdapter.match._handle_match:
  - 2010
  - 2011
  werkzeug.routing.MapAdapter.test:
  - 2052
  - 2061
  werkzeug.routing.NumberConverter:
  - 1281
  werkzeug.routing.NumberConverter.__init__:
  - 1297
  - 1299
  werkzeug.routing.NumberConverter.to_python:
  - 1306
  - 1308
  - 1309
  werkzeug.routing.NumberConverter.to_url:
  - 1316
  - 1317
  - 1318
  werkzeug.routing.PathConverter:
  - 1267
  werkzeug.routing.RequestAliasRedirect:
  - 287
  werkzeug.routing.RequestAliasRedirect.__init__:
  - 290
  werkzeug.routing.RequestPath:
  - 277
  werkzeug.routing.RequestPath.__init__:
  - 282
  werkzeug.routing.RequestRedirect:
  - 256
  werkzeug.routing.RequestRedirect.__init__:
  - 265
  werkzeug.routing.RequestRedirect.get_response:
  - 273
  werkzeug.routing.RoutingException:
  - 248
  werkzeug.routing.Rule:
  - 559
  werkzeug.routing.Rule.__eq__:
  - 1174
  werkzeug.routing.Rule.__init__:
  - 736
  - 705
  - 738
  - 717
  - 718
  - 721
  - 723
  - 724
  - 726
  - 702
  - 735
  werkzeug.routing.Rule.__repr__:
  - 1185
  - 1186
  - 1187
  - 1189
  - 1190
  - 1191
  - 1192
  - 1182
  - 1183
  werkzeug.routing.Rule._compile_builder:
  - 1025
  - 1026
  - 1027
  - 1031
  - 1038
  - 1039
  - 1047
  - 1049
  - 1051
  - 1052
  - 1053
  - 1054
  - 1055
  - 1056
  - 1061
  - 1067
  - 1068
  - 1070
  - 1073
  - 1074
  - 988
  - 989
  - 995
  - 996
  - 997
  - 998
  - 999
  - 1000
  - 1003
  werkzeug.routing.Rule._compile_builder._convert:
  - 1006
  - 1007
  werkzeug.routing.Rule._compile_builder._join:
  - 1034
  - 1036
  werkzeug.routing.Rule._compile_builder._parts:
  - 1012
  - 1015
  - 1018
  - 1019
  - 1020
  - 1022
  werkzeug.routing.Rule._encode_query_vars:
  - 823
  werkzeug.routing.Rule._get_func_code:
  - 977
  werkzeug.routing.Rule.bind:
  - 801
  - 803
  - 805
  - 791
  - 796
  - 799
  werkzeug.routing.Rule.build:
  - 1088
  - 1085
  - 1086
  - 1079
  werkzeug.routing.Rule.build_compare_key:
  - 1171
  - 1167
  werkzeug.routing.Rule.compile:
  - 834
  - 900
  - 901
  - 877
  - 878
  - 879
  - 880
  - 881
  - 882
  - 885
  - 887
  - 889
  - 892
  - 831
  werkzeug.routing.Rule.compile._build_regex:
  - 847
  - 848
  - 849
  - 850
  - 851
  - 852
  - 853
  - 854
  - 856
  - 857
  - 859
  - 860
  - 861
  - 862
  - 864
  - 865
  - 869
  - 870
  - 872
  - 873
  - 874
  werkzeug.routing.Rule.empty:
  - 750
  - 743
  werkzeug.routing.Rule.get_converter:
  - 818
  - 820
  - 814
  werkzeug.routing.Rule.get_empty_kwargs:
  - 753
  - 765
  - 766
  - 767
  werkzeug.routing.Rule.get_rules:
  - 780
  werkzeug.routing.Rule.match:
  - 906
  - 916
  - 919
  - 920
  - 921
  - 926
  - 929
  - 938
  - 942
  - 944
  - 947
  - 948
  - 949
  - 951
  - 952
  - 953
  - 955
  - 959
  - 962
  - 963
  - 966
  werkzeug.routing.Rule.match_compare_key:
  - 1160
  - 1162
  - 1141
  - 1159
  werkzeug.routing.Rule.provides_defaults_for:
  - 1097
  - 1093
  werkzeug.routing.Rule.refresh:
  - 788
  - 783
  werkzeug.routing.Rule.suitable_for:
  - 1125
  - 1126
  - 1131
  - 1132
  - 1133
  - 1108
  - 1114
  werkzeug.routing.RuleFactory:
  - 377
  werkzeug.routing.RuleFactory.get_rules:
  - 383
  werkzeug.routing.RuleTemplate:
  - 471
  werkzeug.routing.RuleTemplate.__call__:
  - 493
  werkzeug.routing.RuleTemplate.__init__:
  - 490
  werkzeug.routing.RuleTemplateFactory:
  - 497
  werkzeug.routing.RuleTemplateFactory.get_rules:
  - 513
  - 515
  - 516
  - 517
  - 519
  - 520
  - 522
  - 523
  - 524
  - 525
  - 510
  - 511
  werkzeug.routing.Subdomain:
  - 389
  werkzeug.routing.Subdomain.get_rules:
  - 416
  - 412
  - 413
  - 414
  werkzeug.routing.Submount:
  - 420
  werkzeug.routing.Submount.__init__:
  - 434
  werkzeug.routing.Submount.get_rules:
  - 440
  - 442
  - 438
  - 439
  werkzeug.routing.UUIDConverter:
  - 1384
  werkzeug.routing.UUIDConverter.to_python:
  - 1399
  werkzeug.routing.UUIDConverter.to_url:
  - 1402
  werkzeug.routing.UnicodeConverter:
  - 1214
  werkzeug.routing.UnicodeConverter.__init__:
  - 1238
  - 1239
  - 1240
  - 1242
  - 1245
  - 1246
  werkzeug.routing.ValidationError:
  - 371
  werkzeug.routing.WebsocketMismatch:
  - 365
  werkzeug.routing._prefix_names:
  - 536
  - 537
  - 538
  - 540
  - 541
  werkzeug.routing._pythonize:
  - 193
  - 184
  - 186
  - 188
  - 191
  werkzeug.routing.parse_converter_args:
  - 201
  - 202
  - 203
  - 204
  - 205
  - 206
  - 207
  - 209
  - 212
  werkzeug.routing.parse_rule:
  - 225
  - 227
  - 228
  - 230
  - 231
  - 232
  - 235
  - 237
  - 238
  - 239
  - 240
  - 242
  - 244
  - 216
  - 223
  werkzeug.sansio.multipart:
  - 72
  - 68
  - 69
  - 54
  werkzeug.sansio.multipart.MultipartDecoder:
  - 76
  werkzeug.sansio.multipart.MultipartDecoder.__init__:
  - 102
  - 104
  - 111
  - 113
  - 87
  werkzeug.sansio.multipart.MultipartDecoder._parse_headers:
  - 224
  - 225
  - 226
  - 220
  - 222
  - 223
  werkzeug.sansio.multipart.MultipartDecoder.last_newline:
  - 119
  - 121
  - 123
  - 125
  - 127
  werkzeug.sansio.multipart.MultipartDecoder.next_event:
  - 143
  - 144
  - 145
  - 146
  - 150
  - 151
  - 152
  - 154
  - 155
  - 156
  - 157
  - 158
  - 160
  - 163
  - 166
  - 167
  - 168
  - 169
  - 175
  - 181
  - 182
  - 187
  - 190
  - 191
  - 192
  - 196
  - 197
  - 199
  - 202
  - 204
  - 205
  - 207
  - 208
  - 212
  werkzeug.sansio.multipart.MultipartDecoder.receive_data:
  - 130
  - 132
  - 134
  - 138
  werkzeug.sansio.multipart.MultipartEncoder.send_event:
  - 256
  - 235
  - 238
  - 245
  - 246
  - 247
  - 249
  - 250
  - 251
  - 254
  werkzeug.sansio.multipart.State:
  - 58
  - 59
  - 60
  - 61
  - 62
  werkzeug.sansio.request.Request:
  - 288
  - 320
  - 98
  - 514
  - 260
  - 39
  - 504
  - 300
  - 333
  - 526
  - 312
  werkzeug.sansio.request.Request.__init__:
  - 131
  - 140
  - 143
  werkzeug.sansio.request.Request.__repr__:
  - 158
  werkzeug.sansio.request.Request._parse_content_type:
  - 345
  - 346
  - 347
  werkzeug.sansio.request.Request.accept_charsets:
  - 393
  - 390
  werkzeug.sansio.request.Request.accept_encodings:
  - 401
  - 397
  werkzeug.sansio.request.Request.accept_languages:
  - 412
  - 405
  werkzeug.sansio.request.Request.accept_mimetypes:
  - 386
  - 383
  werkzeug.sansio.request.Request.access_route:
  - 192
  - 193
  - 194
  - 196
  - 197
  - 198
  - 189
  werkzeug.sansio.request.Request.args:
  - 171
  - 180
  werkzeug.sansio.request.Request.authorization:
  - 499
  - 500
  werkzeug.sansio.request.Request.base_url:
  - 222
  - 223
  werkzeug.sansio.request.Request.cache_control:
  - 418
  - 421
  - 422
  werkzeug.sansio.request.Request.content_length:
  - 271
  - 276
  - 279
  - 280
  - 282
  werkzeug.sansio.request.Request.cookies:
  - 248
  - 250
  - 251
  werkzeug.sansio.request.Request.full_path:
  - 202
  - 203
  werkzeug.sansio.request.Request.host:
  - 242
  - 243
  - 239
  werkzeug.sansio.request.Request.host_url:
  - 234
  - 235
  werkzeug.sansio.request.Request.if_match:
  - 426
  - 430
  werkzeug.sansio.request.Request.if_modified_since:
  - 442
  - 447
  werkzeug.sansio.request.Request.if_none_match:
  - 434
  - 438
  werkzeug.sansio.request.Request.if_range:
  - 467
  - 460
  werkzeug.sansio.request.Request.if_unmodified_since:
  - 456
  - 451
  werkzeug.sansio.request.Request.is_json:
  - 545
  - 546
  - 539
  werkzeug.sansio.request.Request.is_secure:
  - 207
  werkzeug.sansio.request.Request.mimetype:
  - 352
  - 357
  - 358
  werkzeug.sansio.request.Request.mimetype_params:
  - 362
  - 366
  werkzeug.sansio.request.Request.pragma:
  - 377
  - 371
  werkzeug.sansio.request.Request.range:
  - 477
  - 471
  werkzeug.sansio.request.Request.root_url:
  - 227
  - 230
  werkzeug.sansio.request.Request.url:
  - 216
  - 214
  werkzeug.sansio.request.Request.url_charset:
  - 162
  werkzeug.sansio.request.Request.user_agent:
  - 483
  - 493
  werkzeug.sansio.response.Response:
  - 387
  - 654
  - 400
  - 661
  - 668
  - 413
  - 673
  - 680
  - 687
  - 689
  - 690
  - 696
  - 698
  - 699
  - 64
  - 325
  - 457
  - 332
  - 464
  - 471
  - 344
  - 351
  - 362
  - 369
  - 378
  - 510
  werkzeug.sansio.response.Response.<lambda1>:
  - 689
  werkzeug.sansio.response.Response.<lambda3>:
  - 698
  werkzeug.sansio.response.Response.__init__:
  - 129
  - 130
  - 132
  - 133
  - 135
  - 137
  - 122
  - 124
  - 125
  - 127
  werkzeug.sansio.response.Response.__repr__:
  - 142
  werkzeug.sansio.response.Response._clean_status:
  - 166
  - 167
  - 168
  - 169
  - 171
  - 174
  - 175
  - 177
  - 182
  - 184
  - 187
  werkzeug.sansio.response.Response.access_control_allow_credentials:
  - 641
  - 649
  - 652
  werkzeug.sansio.response.Response.cache_control:
  - 496
  - 497
  - 485
  werkzeug.sansio.response.Response.cache_control.on_update:
  - 491
  - 493
  - 494
  werkzeug.sansio.response.Response.content_range:
  - 546
  - 548
  - 551
  - 523
  - 536
  - 540
  - 541
  werkzeug.sansio.response.Response.content_range.on_update:
  - 531
  - 534
  werkzeug.sansio.response.Response.content_security_policy:
  - 586
  - 587
  - 588
  - 595
  - 597
  - 600
  - 572
  werkzeug.sansio.response.Response.content_security_policy.on_update:
  - 584
  - 581
  werkzeug.sansio.response.Response.content_security_policy_report_only:
  - 619
  - 620
  - 622
  - 623
  - 630
  - 632
  - 635
  - 604
  werkzeug.sansio.response.Response.content_security_policy_report_only.on_update:
  - 617
  - 614
  werkzeug.sansio.response.Response.delete_cookie:
  - 258
  - 271
  werkzeug.sansio.response.Response.get_etag:
  - 505
  - 508
  werkzeug.sansio.response.Response.is_json:
  - 290
  - 291
  - 284
  werkzeug.sansio.response.Response.mimetype:
  - 298
  - 299
  - 301
  - 302
  - 308
  werkzeug.sansio.response.Response.mimetype_params:
  - 312
  - 322
  - 323
  werkzeug.sansio.response.Response.mimetype_params.on_update:
  - 320
  werkzeug.sansio.response.Response.retry_after:
  - 448
  - 451
  - 452
  - 454
  - 429
  - 438
  - 439
  - 441
  - 442
  - 443
  - 447
  werkzeug.sansio.response.Response.set_cookie:
  - 208
  - 232
  - 234
  werkzeug.sansio.response.Response.set_etag:
  - 501
  - 502
  werkzeug.sansio.response.Response.status:
  - 160
  - 155
  - 163
  werkzeug.sansio.response.Response.status_code:
  - 146
  werkzeug.sansio.response.Response.www_authenticate:
  - 565
  - 557
  - 566
  werkzeug.sansio.response.Response.www_authenticate.on_update:
  - 560
  - 562
  - 563
  werkzeug.sansio.response._set_property:
  - 60
  werkzeug.sansio.response._set_property.fget:
  - 45
  werkzeug.sansio.response._set_property.fget.on_update:
  - 40
  - 42
  - 43
  werkzeug.sansio.response._set_property.fset:
  - 58
  - 53
  - 55
  werkzeug.sansio.utils.get_current_url:
  - 128
  - 130
  - 131
  - 133
  - 134
  - 136
  - 138
  - 139
  - 140
  - 142
  - 111
  - 126
  - 127
  werkzeug.sansio.utils.get_host:
  - 97
  - 98
  - 84
  - 86
  - 94
  - 89
  - 92
  - 62
  werkzeug.sansio.utils.host_is_trusted:
  - 35
  - 36
  - 10
  - 43
  - 47
  - 18
  - 50
  - 21
  - 31
  werkzeug.sansio.utils.host_is_trusted._normalize:
  - 25
  - 26
  - 28
  werkzeug.security:
  - 8
  - 14
  werkzeug.security._hash_internal:
  - 32
  - 35
  - 36
  - 38
  - 39
  - 42
  - 44
  - 47
  - 48
  - 50
  - 54
  - 55
  - 57
  - 28
  werkzeug.security.check_password_hash:
  - 106
  - 107
  - 93
  - 103
  werkzeug.security.gen_salt:
  - 24
  - 20
  - 21
  werkzeug.security.generate_password_hash:
  - 88
  - 87
  - 63
  werkzeug.security.safe_join:
  - 128
  - 130
  - 131
  - 132
  - 134
  - 138
  - 140
  - 111
  - 119
  - 126
  - 127
  werkzeug.serving:
  - 1
  - 76
  - 45
  - 49
  - 51
  - 55
  - 57
  werkzeug.serving.BaseWSGIServer:
  - 652
  werkzeug.serving.BaseWSGIServer.__init__:
  - 671
  - 677
  - 687
  - 688
  - 692
  - 693
  - 695
  - 696
  - 700
  - 706
  - 709
  - 710
  - 712
  - 716
  - 717
  - 719
  - 723
  - 724
  - 725
  - 726
  - 727
  - 729
  werkzeug.serving.BaseWSGIServer.handle_error:
  - 748
  - 751
  werkzeug.serving.BaseWSGIServer.log:
  - 735
  werkzeug.serving.BaseWSGIServer.log_startup:
  - 768
  - 769
  - 770
  - 771
  - 772
  - 773
  - 777
  - 780
  - 784
  - 754
  - 755
  - 756
  - 766
  - 767
  werkzeug.serving.BaseWSGIServer.serve_forever:
  - 739
  - 743
  werkzeug.serving.DechunkedInput:
  - 87
  werkzeug.serving.DechunkedInput.read_chunk_len:
  - 99
  - 100
  - 103
  werkzeug.serving.DechunkedInput.readinto:
  - 129
  - 130
  - 131
  - 132
  - 134
  - 138
  - 109
  - 110
  - 141
  - 142
  - 113
  - 115
  - 120
  - 124
  werkzeug.serving.ForkingWSGIServer:
  - 799
  werkzeug.serving.ForkingWSGIServer.__init__:
  - 818
  - 821
  werkzeug.serving.ThreadedWSGIServer:
  - 788
  werkzeug.serving.WSGIRequestHandler:
  - 149
  werkzeug.serving.WSGIRequestHandler.__getattr__:
  - 385
  - 381
  werkzeug.serving.WSGIRequestHandler.address_string:
  - 388
  - 391
  werkzeug.serving.WSGIRequestHandler.connection_dropped:
  - 375
  werkzeug.serving.WSGIRequestHandler.handle:
  - 361
  - 363
  - 365
  - 367
  - 368
  werkzeug.serving.WSGIRequestHandler.log:
  - 436
  - 438
  werkzeug.serving.WSGIRequestHandler.log_error:
  - 430
  werkzeug.serving.WSGIRequestHandler.log_message:
  - 433
  werkzeug.serving.WSGIRequestHandler.log_request:
  - 416
  - 417
  - 418
  - 419
  - 420
  - 421
  - 422
  - 423
  - 425
  - 427
  - 403
  - 409
  - 411
  - 412
  - 413
  - 414
  werkzeug.serving.WSGIRequestHandler.make_environ:
  - 160
  - 163
  - 165
  - 171
  - 176
  - 190
  - 191
  - 193
  - 195
  - 196
  - 197
  - 199
  - 203
  - 204
  - 205
  - 206
  - 208
  - 212
  - 214
  - 218
  - 224
  - 227
  - 229
  - 232
  werkzeug.serving.WSGIRequestHandler.run_wsgi:
  - 357
  - 358
  - 335
  - 240
  - 241
  - 337
  - 243
  - 339
  - 342
  - 348
  - 351
  werkzeug.serving.WSGIRequestHandler.run_wsgi.execute:
  - 322
  - 324
  - 325
  - 326
  - 327
  - 328
  - 329
  - 331
  - 332
  werkzeug.serving.WSGIRequestHandler.run_wsgi.start_response:
  - 315
  - 309
  - 311
  werkzeug.serving.WSGIRequestHandler.run_wsgi.write:
  - 258
  - 261
  - 262
  - 263
  - 264
  - 265
  - 266
  - 274
  - 284
  - 290
  - 291
  - 293
  - 295
  - 296
  - 297
  - 298
  - 300
  - 302
  - 303
  - 305
  - 254
  werkzeug.serving._ansi_style:
  - 453
  werkzeug.serving.generate_adhoc_ssl_context:
  - 550
  - 554
  - 558
  - 559
  - 560
  - 561
  - 563
  - 564
  - 566
  - 569
  - 573
  - 574
  - 575
  werkzeug.serving.generate_adhoc_ssl_pair:
  - 482
  - 484
  - 485
  - 489
  - 491
  - 494
  - 495
  - 496
  - 497
  - 498
  - 499
  - 500
  - 473
  - 474
  - 479
  werkzeug.serving.get_interface_ip:
  - 648
  - 634
  - 644
  - 642
  werkzeug.serving.get_sockaddr:
  - 625
  - 620
  - 622
  - 623
  werkzeug.serving.is_running_from_reloader:
  - 876
  - 871
  werkzeug.serving.is_ssl_error:
  - 601
  - 602
  - 603
  - 604
  werkzeug.serving.load_ssl_context:
  - 592
  - 595
  - 596
  - 582
  werkzeug.serving.make_server:
  - 865
  - 836
  - 845
  - 848
  - 849
  - 853
  - 854
  werkzeug.serving.make_ssl_devcert:
  - 526
  - 528
  - 535
  - 536
  - 537
  - 538
  - 539
  - 508
  - 542
  werkzeug.serving.prepare_socket:
  - 896
  - 929
  - 899
  - 900
  - 902
  - 903
  - 908
  - 910
  - 880
  - 912
  - 913
  - 927
  - 920
  - 921
  - 892
  - 893
  - 894
  - 895
  werkzeug.serving.run_simple:
  - 1056
  - 1058
  - 1059
  - 1060
  - 1061
  - 1091
  - 1063
  - 1065
  - 1083
  - 1045
  - 1077
  - 951
  - 1048
  - 1078
  - 1080
  - 1051
  - 1053
  werkzeug.serving.select_address_family:
  - 608
  - 610
  - 612
  werkzeug.test:
  - 48
  - 238
  werkzeug.test.Client:
  - 838
  werkzeug.test.Client.__init__:
  - 870
  - 872
  - 873
  - 879
  - 881
  - 882
  werkzeug.test.Client.__repr__:
  - 1173
  werkzeug.test.Client.delete:
  - 1148
  - 1150
  werkzeug.test.Client.delete_cookie:
  - 933
  - 934
  werkzeug.test.Client.get:
  - 1133
  - 1135
  werkzeug.test.Client.head:
  - 1163
  - 1165
  werkzeug.test.Client.open:
  - 1033
  - 1071
  - 1074
  - 1075
  - 1076
  - 1077
  - 1078
  - 1081
  - 1082
  - 1085
  - 1087
  - 1089
  - 1090
  - 1092
  - 1095
  - 1108
  - 1109
  - 1110
  - 1114
  - 1120
  - 1121
  - 1122
  - 1123
  - 1126
  - 1129
  werkzeug.test.Client.options:
  - 1160
  - 1158
  werkzeug.test.Client.patch:
  - 1153
  - 1155
  werkzeug.test.Client.post:
  - 1138
  - 1140
  werkzeug.test.Client.put:
  - 1145
  - 1143
  werkzeug.test.Client.resolve_redirect:
  - 1024
  - 966
  - 971
  - 972
  - 976
  - 977
  - 979
  - 989
  - 990
  - 991
  - 996
  - 997
  - 999
  - 1001
  - 1009
  - 1011
  - 1016
  - 1017
  - 1022
  werkzeug.test.Client.run_wsgi_app:
  - 949
  - 953
  - 954
  - 956
  - 958
  - 959
  werkzeug.test.Client.set_cookie:
  - 921
  - 907
  - 902
  - 919
  werkzeug.test.Client.trace:
  - 1168
  - 1170
  werkzeug.test.ClientRedirectError:
  - 832
  werkzeug.test.EnvironBuilder:
  - 242
  - 350
  werkzeug.test.EnvironBuilder.__del__:
  - 709
  werkzeug.test.EnvironBuilder.__init__:
  - 384
  - 386
  - 387
  - 390
  - 392
  - 393
  - 395
  - 398
  - 399
  - 400
  - 401
  - 404
  - 405
  - 406
  - 407
  - 409
  - 411
  - 423
  - 424
  - 425
  - 429
  - 431
  - 432
  - 435
  - 437
  - 440
  - 441
  - 443
  - 444
  - 445
  - 446
  - 447
  - 448
  - 449
  - 450
  - 452
  - 453
  - 454
  - 456
  - 458
  - 383
  werkzeug.test.EnvironBuilder._add_file_from_data:
  - 504
  - 505
  - 507
  - 503
  werkzeug.test.EnvironBuilder._get_form:
  - 609
  - 611
  - 612
  - 613
  - 600
  - 606
  werkzeug.test.EnvironBuilder._make_base_url:
  - 511
  werkzeug.test.EnvironBuilder._set_form:
  - 625
  - 618
  werkzeug.test.EnvironBuilder.args:
  - 680
  - 681
  - 683
  - 684
  werkzeug.test.EnvironBuilder.base_url:
  - 515
  - 518
  - 522
  - 527
  - 528
  - 530
  werkzeug.test.EnvironBuilder.close:
  - 714
  - 718
  - 721
  - 724
  - 726
  werkzeug.test.EnvironBuilder.content_length:
  - 586
  - 590
  - 594
  - 595
  - 597
  werkzeug.test.EnvironBuilder.content_type:
  - 544
  - 551
  - 552
  - 536
  - 540
  - 541
  - 542
  werkzeug.test.EnvironBuilder.files:
  - 641
  - 645
  - 638
  werkzeug.test.EnvironBuilder.form:
  - 634
  - 629
  - 630
  werkzeug.test.EnvironBuilder.from_environ:
  - 480
  - 482
  - 485
  - 486
  - 493
  - 494
  - 465
  - 474
  - 476
  - 477
  - 479
  werkzeug.test.EnvironBuilder.get_environ:
  - 770
  - 771
  - 795
  - 797
  - 798
  - 800
  - 803
  - 804
  - 806
  - 808
  - 809
  - 811
  - 812
  - 814
  - 815
  - 732
  - 745
  - 746
  - 747
  - 748
  - 749
  - 751
  - 752
  - 753
  - 756
  - 757
  - 758
  - 759
  - 761
  - 764
  - 765
  werkzeug.test.EnvironBuilder.get_environ._path_encode:
  - 768
  werkzeug.test.EnvironBuilder.get_request:
  - 825
  - 820
  - 828
  werkzeug.test.EnvironBuilder.input_stream:
  - 649
  werkzeug.test.EnvironBuilder.mimetype:
  - 563
  - 558
  - 567
  werkzeug.test.EnvironBuilder.mimetype_params:
  - 571
  - 581
  - 582
  werkzeug.test.EnvironBuilder.mimetype_params.on_update:
  - 579
  werkzeug.test.EnvironBuilder.query_string:
  - 664
  - 667
  - 668
  - 669
  werkzeug.test.EnvironBuilder.server_name:
  - 694
  - 695
  werkzeug.test.EnvironBuilder.server_port:
  - 699
  - 700
  - 701
  - 702
  - 703
  werkzeug.test.TestResponse:
  - 1272
  - 1297
  - 1292
  werkzeug.test.TestResponse.__init__:
  - 1313
  werkzeug.test.TestResponse.text:
  - 1320
  - 1325
  werkzeug.test._TestCookieHeaders:
  - 156
  werkzeug.test._TestCookieHeaders.get_all:
  - 172
  - 174
  werkzeug.test._TestCookieHeaders.getheaders:
  - 163
  - 164
  - 165
  - 166
  werkzeug.test._TestCookieJar:
  - 193
  werkzeug.test._TestCookieJar.extract_wsgi:
  - 216
  - 217
  - 218
  - 213
  werkzeug.test._TestCookieJar.inject_wsgi:
  - 203
  - 204
  - 206
  - 198
  werkzeug.test._TestCookieResponse:
  - 181
  werkzeug.test._TestCookieResponse.__init__:
  - 186
  werkzeug.test._iter_data:
  - 227
  - 228
  - 230
  - 231
  - 232
  - 233
  - 235
  - 223
  werkzeug.test.create_environ:
  - 1177
  - 1194
  - 1196
  - 1191
  werkzeug.test.encode_multipart:
  - 152
  - 146
  - 149
  werkzeug.test.run_wsgi_app:
  - 1248
  - 1220
  - 1255
  - 1256
  - 1258
  - 1261
  - 1262
  - 1264
  - 1265
  - 1202
  - 1268
  - 1237
  - 1238
  - 1239
  - 1243
  - 1245
  - 1247
  werkzeug.test.run_wsgi_app.start_response:
  - 1228
  werkzeug.test.stream_encode_multipart:
  - 128
  - 129
  - 130
  - 131
  - 134
  - 136
  - 137
  - 60
  - 64
  - 65
  - 67
  - 72
  - 97
  - 98
  - 99
  - 100
  - 101
  - 102
  - 103
  - 104
  - 107
  - 110
  - 111
  - 112
  - 114
  - 115
  - 116
  - 120
  - 122
  - 125
  - 127
  werkzeug.test.stream_encode_multipart.write_binary:
  - 77
  - 78
  - 80
  - 82
  - 83
  - 85
  - 86
  - 87
  werkzeug.testapp:
  - 1
  - 237
  - 15
  - 240
  - 20
  - 21
  werkzeug.testapp.iter_sys_path:
  - 142
  - 155
  - 156
  - 157
  - 158
  werkzeug.testapp.iter_sys_path.strip:
  - 145
  - 146
  - 147
  werkzeug.testapp.render_testapp:
  - 167
  - 169
  - 172
  - 177
  - 178
  - 182
  - 183
  - 184
  - 185
  - 188
  - 190
  - 191
  - 192
  - 193
  - 194
  - 195
  - 197
  - 200
  - 201
  - 202
  - 206
  - 207
  - 208
  werkzeug.testapp.render_testapp.<lambda1>:
  - 169
  werkzeug.testapp.render_testapp.<lambda2>:
  - 182
  werkzeug.testapp.test_app:
  - 229
  - 230
  - 233
  - 234
  - 216
  werkzeug.urls:
  - 384
  - 1
  - 36
  - 40
  - 712
  - 17
  - 21
  - 24
  - 25
  - 539
  - 540
  - 699
  werkzeug.urls.BaseURL:
  - 52
  werkzeug.urls.BaseURL.__str__:
  - 61
  werkzeug.urls.BaseURL._split_auth:
  - 305
  - 299
  - 300
  - 302
  werkzeug.urls.BaseURL._split_host:
  - 320
  - 325
  - 309
  - 310
  - 313
  - 314
  - 315
  - 319
  werkzeug.urls.BaseURL._split_netloc:
  - 293
  - 294
  werkzeug.urls.BaseURL.ascii_host:
  - 78
  - 84
  - 86
  - 88
  - 89
  werkzeug.urls.BaseURL.auth:
  - 106
  - 109
  werkzeug.urls.BaseURL.decode_netloc:
  - 194
  - 196
  - 197
  - 205
  - 188
  - 189
  - 191
  werkzeug.urls.BaseURL.decode_query:
  - 146
  - 150
  werkzeug.urls.BaseURL.encode_netloc:
  - 167
  - 169
  - 172
  - 174
  - 175
  - 183
  werkzeug.urls.BaseURL.get_file_location:
  - 256
  - 257
  - 262
  - 263
  - 233
  - 268
  - 273
  - 274
  - 275
  - 280
  - 250
  - 283
  - 253
  - 287
  werkzeug.urls.BaseURL.host:
  - 74
  - 70
  werkzeug.urls.BaseURL.join:
  - 153
  - 157
  werkzeug.urls.BaseURL.password:
  - 130
  - 133
  - 134
  - 135
  werkzeug.urls.BaseURL.port:
  - 97
  - 98
  - 93
  werkzeug.urls.BaseURL.raw_password:
  - 140
  - 143
  werkzeug.urls.BaseURL.raw_username:
  - 123
  - 126
  werkzeug.urls.BaseURL.replace:
  - 64
  - 66
  werkzeug.urls.BaseURL.to_iri_tuple:
  - 220
  - 228
  werkzeug.urls.BaseURL.to_uri_tuple:
  - 217
  - 210
  werkzeug.urls.BaseURL.to_url:
  - 160
  - 164
  werkzeug.urls.BaseURL.username:
  - 113
  - 116
  - 117
  - 118
  werkzeug.urls.BytesURL:
  - 356
  werkzeug.urls.BytesURL.__str__:
  - 365
  werkzeug.urls.BytesURL.decode:
  - 372
  - 375
  - 376
  - 377
  - 378
  - 379
  - 380
  werkzeug.urls.BytesURL.encode_netloc:
  - 368
  werkzeug.urls.URL:
  - 331
  werkzeug.urls.URL.encode:
  - 343
  - 346
  - 347
  - 348
  - 349
  - 350
  - 351
  werkzeug.urls._codec_error_url_quote:
  - 708
  - 703
  werkzeug.urls._fast_url_quote_plus:
  - 544
  werkzeug.urls._make_fast_url_quote:
  - 514
  - 524
  - 525
  - 527
  - 528
  - 530
  - 531
  werkzeug.urls._make_fast_url_quote.quote:
  - 534
  werkzeug.urls._unquote_to_bytes:
  - 417
  - 390
  - 391
  - 393
  - 394
  - 396
  - 397
  - 398
  - 404
  - 407
  - 410
  - 411
  - 412
  - 414
  - 415
  werkzeug.urls._url_decode_impl:
  - 913
  - 914
  - 916
  - 917
  - 918
  - 919
  - 921
  - 924
  - 925
  - 926
  - 927
  werkzeug.urls._url_encode_impl:
  - 428
  - 430
  - 431
  - 433
  - 434
  - 437
  - 438
  - 442
  - 443
  - 447
  werkzeug.urls._url_unquote_legacy:
  - 452
  - 454
  werkzeug.urls.iri_to_uri:
  - 803
  - 804
  - 807
  - 812
  - 813
  - 814
  - 815
  - 816
  - 759
  - 796
  - 797
  - 799
  werkzeug.urls.uri_to_iri:
  - 739
  - 740
  - 742
  - 743
  - 744
  - 745
  - 746
  - 720
  werkzeug.urls.url_decode:
  - 859
  - 849
  - 853
  - 854
  - 855
  - 856
  - 857
  - 858
  - 827
  werkzeug.urls.url_decode_stream:
  - 899
  - 900
  - 902
  - 873
  - 907
  werkzeug.urls.url_encode:
  - 938
  - 956
  - 957
  werkzeug.urls.url_encode_stream:
  - 992
  - 993
  - 994
  - 995
  - 968
  - 988
  - 989
  - 990
  werkzeug.urls.url_fix:
  - 684
  - 688
  - 691
  - 692
  - 693
  - 694
  - 695
  - 669
  werkzeug.urls.url_join:
  - 1024
  - 1027
  - 1028
  - 1030
  - 1031
  - 1034
  - 1035
  - 1036
  - 1037
  - 1038
  - 1041
  - 1045
  - 1046
  - 1049
  - 1052
  - 1054
  - 1062
  - 1066
  - 1067
  - 1004
  - 1011
  - 1012
  - 1013
  - 1014
  - 1016
  - 1017
  - 1019
  - 1021
  werkzeug.urls.url_parse:
  - 460
  - 472
  - 473
  - 475
  - 476
  - 477
  - 478
  - 479
  - 483
  - 485
  - 487
  - 488
  - 489
  - 490
  - 491
  - 492
  - 494
  - 495
  - 499
  - 500
  - 501
  - 502
  - 505
  werkzeug.urls.url_quote:
  - 576
  - 578
  - 579
  - 554
  - 564
  - 565
  - 566
  - 567
  - 568
  - 569
  - 570
  - 571
  - 572
  - 573
  - 574
  - 575
  werkzeug.urls.url_quote_plus:
  - 592
  - 585
  werkzeug.urls.url_unparse:
  - 611
  - 612
  - 613
  - 614
  - 615
  - 617
  - 618
  - 619
  - 620
  - 621
  - 622
  - 596
  - 602
  - 604
  - 605
  werkzeug.urls.url_unquote:
  - 632
  - 641
  - 642
  - 644
  werkzeug.urls.url_unquote_plus:
  - 650
  - 661
  - 662
  - 664
  - 665
  werkzeug.user_agent.UserAgent:
  - 5
  - 21
  - 24
  - 27
  - 30
  werkzeug.user_agent.UserAgent.__bool__:
  - 43
  werkzeug.user_agent.UserAgent.__init__:
  - 34
  werkzeug.user_agent.UserAgent.__repr__:
  - 37
  werkzeug.user_agent.UserAgent.to_header:
  - 46
  werkzeug.utils:
  - 28
  - 31
  - 30
  - 23
  werkzeug.utils.ImportStringError:
  - 667
  werkzeug.utils.ImportStringError.__init__:
  - 680
  - 682
  - 683
  - 684
  - 687
  - 688
  - 698
  - 702
  werkzeug.utils.ImportStringError.__repr__:
  - 705
  werkzeug.utils.append_slash_redirect:
  - 321
  - 323
  - 293
  - 326
  - 314
  - 316
  werkzeug.utils.cached_property:
  - 48
  werkzeug.utils.cached_property.__delete__:
  - 120
  - 117
  werkzeug.utils.cached_property.__get__:
  - 96
  - 99
  - 101
  - 102
  - 104
  - 106
  - 107
  - 109
  - 112
  werkzeug.utils.cached_property.__init__:
  - 84
  werkzeug.utils.cached_property.__set__:
  - 90
  - 93
  werkzeug.utils.environ_property:
  - 124
  werkzeug.utils.find_modules:
  - 650
  - 651
  - 652
  - 655
  - 657
  - 658
  - 659
  - 660
  - 661
  - 663
  - 636
  werkzeug.utils.get_content_type:
  - 185
  - 186
  - 171
  - 188
  werkzeug.utils.header_property:
  - 151
  werkzeug.utils.import_string:
  - 610
  - 612
  - 617
  - 618
  - 620
  - 625
  - 595
  - 607
  werkzeug.utils.redirect:
  - 266
  - 269
  - 270
  - 275
  - 245
  - 277
  - 283
  werkzeug.utils.secure_filename:
  - 224
  - 225
  - 196
  - 232
  - 235
  - 219
  - 220
  - 222
  - 223
  werkzeug.utils.send_file:
  - 515
  - 516
  - 518
  - 519
  - 524
  - 526
  - 527
  - 528
  - 529
  - 530
  - 532
  - 534
  - 536
  - 537
  - 543
  - 544
  - 417
  - 426
  - 428
  - 431
  - 435
  - 436
  - 438
  - 440
  - 446
  - 447
  - 449
  - 450
  - 457
  - 459
  - 464
  - 465
  - 467
  - 469
  - 471
  - 472
  - 345
  - 473
  - 479
  - 480
  - 486
  - 490
  - 491
  - 492
  - 493
  - 494
  - 497
  - 499
  - 503
  - 506
  - 508
  werkzeug.utils.send_from_directory:
  - 576
  - 581
  - 582
  - 585
  - 555
  - 591
  - 574
  werkzeug.wrappers.request:
  - 23
  werkzeug.wrappers.request.Request:
  - 513
  - 497
  - 339
  - 503
  - 508
  - 30
  werkzeug.wrappers.request.Request.__exit__:
  - 311
  werkzeug.wrappers.request.Request.__init__:
  - 105
  - 106
  - 107
  - 108
  - 109
  - 110
  - 112
  - 113
  - 115
  - 116
  - 117
  - 122
  werkzeug.wrappers.request.Request._get_file_stream:
  - 201
  - 220
  werkzeug.wrappers.request.Request._get_stream_for_parsing:
  - 293
  - 291
  - 292
  - 285
  werkzeug.wrappers.request.Request._load_form_data:
  - 261
  - 264
  - 265
  - 266
  - 267
  - 275
  - 276
  - 252
  werkzeug.wrappers.request.Request.application:
  - 192
  - 182
  - 158
  werkzeug.wrappers.request.Request.application.application:
  - 184
  - 187
  - 189
  - 190
  werkzeug.wrappers.request.Request.close:
  - 304
  - 297
  - 305
  - 303
  werkzeug.wrappers.request.Request.data:
  - 354
  - 350
  werkzeug.wrappers.request.Request.files:
  - 480
  - 462
  werkzeug.wrappers.request.Request.form:
  - 428
  - 414
  werkzeug.wrappers.request.Request.from_values:
  - 146
  - 148
  - 150
  - 152
  - 127
  werkzeug.wrappers.request.Request.get_data:
  - 409
  - 363
  - 401
  - 402
  - 403
  - 372
  - 404
  - 405
  - 406
  - 408
  - 377
  werkzeug.wrappers.request.Request.get_json:
  - 578
  - 580
  - 549
  - 583
  - 587
  - 589
  - 593
  - 566
  - 569
  - 570
  - 571
  - 575
  werkzeug.wrappers.request.Request.json:
  - 529
  - 540
  werkzeug.wrappers.request.Request.make_form_data_parser:
  - 242
  - 237
  werkzeug.wrappers.request.Request.on_json_loading_failed:
  - 608
  - 599
  werkzeug.wrappers.request.Request.script_root:
  - 485
  werkzeug.wrappers.request.Request.stream:
  - 337
  - 331
  - 315
  werkzeug.wrappers.request.Request.url_root:
  - 492
  werkzeug.wrappers.request.Request.values:
  - 448
  - 452
  - 453
  - 454
  - 456
  - 458
  - 433
  - 443
  werkzeug.wrappers.request.Request.want_form_data_parsed:
  - 234
  - 229
  werkzeug.wrappers.response:
  - 24
  werkzeug.wrappers.response.Response:
  - 339
  - 68
  werkzeug.wrappers.response.Response.__call__:
  - 630
  - 629
  - 622
  werkzeug.wrappers.response.Response.__exit__:
  - 450
  werkzeug.wrappers.response.Response.__init__:
  - 186
  - 203
  - 205
  - 206
  werkzeug.wrappers.response.Response.__repr__:
  - 226
  - 222
  - 223
  werkzeug.wrappers.response.Response._ensure_sequence:
  - 354
  - 360
  - 362
  - 363
  - 365
  - 370
  - 376
  werkzeug.wrappers.response.Response._is_range_request_processable:
  - 696
  - 692
  - 694
  - 687
  werkzeug.wrappers.response.Response._process_range_request:
  - 736
  - 738
  - 707
  - 746
  - 722
  - 726
  - 730
  - 732
  - 735
  werkzeug.wrappers.response.Response._wrap_range_response:
  - 682
  - 683
  - 684
  werkzeug.wrappers.response.Response.add_etag:
  - 832
  - 825
  - 831
  werkzeug.wrappers.response.Response.calculate_content_length:
  - 346
  - 348
  - 351
  werkzeug.wrappers.response.Response.call_on_close:
  - 218
  - 211
  werkzeug.wrappers.response.Response.close:
  - 435
  - 441
  - 442
  - 443
  - 444
  werkzeug.wrappers.response.Response.force_type:
  - 232
  - 259
  - 260
  - 268
  werkzeug.wrappers.response.Response.freeze:
  - 474
  - 475
  - 476
  - 453
  werkzeug.wrappers.response.Response.from_app:
  - 291
  - 277
  werkzeug.wrappers.response.Response.get_app_iter:
  - 586
  - 592
  - 593
  - 594
  - 597
  - 598
  - 572
  werkzeug.wrappers.response.Response.get_data:
  - 295
  - 299
  - 302
  - 314
  - 315
  - 317
  - 318
  werkzeug.wrappers.response.Response.get_json:
  - 649
  - 661
  - 664
  - 667
  - 669
  werkzeug.wrappers.response.Response.get_wsgi_headers:
  - 512
  - 513
  - 515
  - 517
  - 521
  - 523
  - 526
  - 528
  - 529
  - 530
  - 531
  - 532
  - 533
  - 537
  - 538
  - 540
  - 544
  - 545
  - 546
  - 553
  - 561
  - 567
  - 479
  - 502
  - 511
  werkzeug.wrappers.response.Response.get_wsgi_response:
  - 616
  - 617
  - 603
  - 615
  werkzeug.wrappers.response.Response.is_sequence:
  - 432
  - 426
  werkzeug.wrappers.response.Response.is_streamed:
  - 410
  - 419
  werkzeug.wrappers.response.Response.iter_encoded:
  - 401
  - 402
  - 396
  - 406
  werkzeug.wrappers.response.Response.json:
  - 641
  - 646
  werkzeug.wrappers.response.Response.make_conditional:
  - 801
  - 802
  - 803
  - 804
  - 805
  - 807
  - 809
  - 811
  - 815
  - 755
  - 819
  - 820
  - 795
  - 796
  werkzeug.wrappers.response.Response.make_sequence:
  - 386
  - 390
  - 391
  - 392
  - 393
  - 379
  werkzeug.wrappers.response.Response.set_data:
  - 323
  - 331
  - 332
  - 334
  - 336
  - 337
  werkzeug.wrappers.response.Response.stream:
  - 678
  - 679
  werkzeug.wrappers.response.ResponseStream:
  - 836
  werkzeug.wrappers.response.ResponseStream.flush:
  - 863
  werkzeug.wrappers.response.ResponseStream.isatty:
  - 867
  werkzeug.wrappers.response.ResponseStream.tell:
  - 872
  - 873
  werkzeug.wrappers.response.ResponseStream.write:
  - 848
  - 850
  - 851
  - 852
  - 853
  werkzeug.wrappers.response.ResponseStream.writelines:
  - 856
  - 857
  werkzeug.wrappers.response._clean_accept_ranges:
  - 58
  - 60
  - 62
  werkzeug.wrappers.response._iter_encoded:
  - 50
  - 51
  - 52
  - 54
  werkzeug.wrappers.response._warn_if_string:
  - 33
  - 36
  - 37
  werkzeug.wsgi:
  - 19
  werkzeug.wsgi.ClosingIterator:
  - 417
  werkzeug.wsgi.ClosingIterator.__init__:
  - 449
  - 452
  - 453
  - 454
  - 455
  - 445
  - 446
  - 447
  werkzeug.wsgi.ClosingIterator.__next__:
  - 462
  werkzeug.wsgi.ClosingIterator.close:
  - 465
  - 466
  werkzeug.wsgi.FileWrapper:
  - 493
  werkzeug.wsgi.FileWrapper.__next__:
  - 538
  - 539
  werkzeug.wsgi.FileWrapper.close:
  - 515
  - 516
  werkzeug.wsgi.FileWrapper.seek:
  - 526
  - 527
  werkzeug.wsgi.FileWrapper.seekable:
  - 520
  - 521
  - 519
  werkzeug.wsgi.FileWrapper.tell:
  - 530
  - 531
  werkzeug.wsgi.LimitedStream:
  - 829
  werkzeug.wsgi.LimitedStream.__next__:
  - 976
  - 977
  werkzeug.wsgi.LimitedStream.exhaust:
  - 896
  - 906
  - 907
  werkzeug.wsgi.LimitedStream.is_exhausted:
  - 873
  werkzeug.wsgi.LimitedStream.on_disconnect:
  - 886
  werkzeug.wsgi.LimitedStream.on_exhausted:
  - 883
  - 877
  werkzeug.wsgi.LimitedStream.read:
  - 911
  - 915
  - 916
  - 917
  - 919
  - 921
  - 923
  - 924
  - 925
  - 926
  werkzeug.wsgi.LimitedStream.readline:
  - 930
  - 931
  - 932
  - 933
  - 936
  - 938
  - 940
  - 941
  - 942
  - 943
  werkzeug.wsgi.LimitedStream.readlines:
  - 961
  - 963
  - 964
  - 947
  - 954
  - 955
  - 959
  werkzeug.wsgi.LimitedStream.tell:
  - 969
  werkzeug.wsgi._RangeWrapper:
  - 547
  werkzeug.wsgi._RangeWrapper.__init__:
  - 577
  - 572
  - 567
  werkzeug.wsgi._RangeWrapper.__next__:
  - 622
  - 623
  werkzeug.wsgi._RangeWrapper._first_iteration:
  - 595
  - 596
  - 597
  - 601
  - 602
  werkzeug.wsgi._RangeWrapper._next:
  - 608
  - 612
  - 613
  - 614
  - 615
  - 616
  werkzeug.wsgi._RangeWrapper._next_chunk:
  - 586
  - 587
  werkzeug.wsgi._RangeWrapper.close:
  - 629
  - 630
  werkzeug.wsgi._get_server:
  - 80
  - 84
  - 78
  werkzeug.wsgi._make_chunk_iter:
  - 643
  - 644
  - 645
  - 646
  - 648
  - 649
  - 650
  - 653
  - 654
  - 656
  - 638
  - 639
  werkzeug.wsgi.extract_path_info:
  - 384
  - 385
  - 386
  - 387
  - 388
  - 325
  - 389
  - 392
  - 393
  - 396
  - 397
  - 398
  - 401
  - 405
  - 409
  - 410
  - 413
  werkzeug.wsgi.extract_path_info._normalize_netloc:
  - 368
  - 370
  - 365
  - 378
  werkzeug.wsgi.get_content_length:
  - 129
  - 132
  - 133
  - 135
  - 121
  werkzeug.wsgi.get_current_url:
  - 64
  - 66
  - 67
  - 69
  - 70
  - 72
  - 44
  - 60
  - 63
  werkzeug.wsgi.get_host:
  - 112
  - 114
  - 115
  - 95
  werkzeug.wsgi.get_input_stream:
  - 160
  - 161
  - 166
  - 172
  - 173
  - 144
  - 176
  werkzeug.wsgi.get_path_info:
  - 208
  - 209
  - 198
  werkzeug.wsgi.get_query_string:
  - 192
  - 188
  - 180
  werkzeug.wsgi.get_script_name:
  - 225
  - 226
  - 215
  werkzeug.wsgi.make_chunk_iter:
  - 782
  - 784
  - 785
  - 788
  - 789
  - 790
  - 791
  - 794
  - 795
  - 800
  - 801
  - 803
  - 806
  - 807
  - 808
  - 812
  - 813
  - 815
  - 816
  - 817
  - 818
  - 821
  - 824
  - 825
  - 758
  werkzeug.wsgi.make_line_iter:
  - 704
  - 705
  - 706
  - 708
  - 740
  - 741
  - 744
  - 745
  - 747
  - 748
  - 696
  - 665
  - 698
  - 699
  - 702
  - 703
  werkzeug.wsgi.make_line_iter._iter_basic_lines:
  - 714
  - 715
  - 719
  - 720
  - 722
  - 723
  - 724
  - 725
  - 727
  - 728
  - 729
  - 730
  - 734
  - 735
  werkzeug.wsgi.peek_path_info:
  - 290
  - 310
  - 311
  - 312
  - 313
  werkzeug.wsgi.pop_path_info:
  - 262
  - 263
  - 232
  - 266
  - 270
  - 271
  - 272
  - 274
  - 277
  - 279
  - 282
  - 284
  werkzeug.wsgi.responder:
  - 25
  - 34
  werkzeug.wsgi.responder.<lambda1>:
  - 34
  werkzeug.wsgi.wrap_file:
  - 472
  - 487
Fuzzer filename: /src/fuzz_reqparse.py
Inheritance:
  flask.app.Flask:
  - Scaffold
  flask.blueprints.Blueprint:
  - Scaffold
  flask.blueprints.BlueprintSetupState: []
  flask.cli.AppGroup: []
  flask.cli.CertParamType: []
  flask.cli.DispatchingApp: []
  flask.cli.FlaskGroup:
  - AppGroup
  flask.cli.NoAppException: []
  flask.cli.ScriptInfo: []
  flask.cli.SeparatedPathType: []
  flask.config.Config:
  - dict
  flask.config.ConfigAttribute: []
  flask.ctx.AppContext: []
  flask.ctx.RequestContext: []
  flask.ctx._AppCtxGlobals: []
  flask.debughelpers.DebugFilesKeyError:
  - KeyError
  - AssertionError
  flask.debughelpers.FormDataRoutingRedirect:
  - AssertionError
  flask.debughelpers.UnexpectedUnicodeError:
  - UnicodeError
  - AssertionError
  flask.debughelpers.attach_enctype_error_multidict.newcls:
  - oldcls
  flask.helpers.locked_cached_property: []
  flask.json.JSONDecoder: []
  flask.json.JSONEncoder: []
  flask.json.tag.JSONTag: []
  flask.json.tag.PassDict:
  - JSONTag
  flask.json.tag.PassList:
  - JSONTag
  flask.json.tag.TagBytes:
  - JSONTag
  flask.json.tag.TagDateTime:
  - JSONTag
  flask.json.tag.TagDict:
  - JSONTag
  flask.json.tag.TagMarkup:
  - JSONTag
  flask.json.tag.TagTuple:
  - JSONTag
  flask.json.tag.TagUUID:
  - JSONTag
  flask.json.tag.TaggedJSONSerializer: []
  flask.scaffold.Scaffold: []
  flask.sessions.NullSession:
  - SecureCookieSession
  flask.sessions.SecureCookieSession:
  - CallbackDict
  - SessionMixin
  flask.sessions.SecureCookieSessionInterface:
  - SessionInterface
  flask.sessions.SessionInterface: []
  flask.sessions.SessionMixin:
  - MutableMapping
  flask.signals.Namespace: []
  flask.signals._FakeSignal: []
  flask.templating.DispatchingJinjaLoader:
  - BaseLoader
  flask.templating.Environment:
  - BaseEnvironment
  flask.testing.EnvironBuilder: []
  flask.testing.FlaskCliRunner:
  - CliRunner
  flask.testing.FlaskClient:
  - Client
  flask.views.MethodView:
  - View
  flask.views.MethodViewType:
  - type
  flask.views.View: []
  flask.wrappers.Request:
  - RequestBase
  flask.wrappers.Response:
  - ResponseBase
  flask_restx._http.HTTPStatus:
  - IntEnum
  flask_restx.api.Api:
  - object
  flask_restx.api.SwaggerView:
  - Resource
  flask_restx.apidoc.Apidoc:
  - Blueprint
  flask_restx.errors.RestError:
  - Exception
  flask_restx.errors.SpecsError:
  - RestError
  flask_restx.errors.ValidationError:
  - RestError
  flask_restx.fields.Arbitrary:
  - NumberMixin
  - Raw
  flask_restx.fields.Boolean:
  - Raw
  flask_restx.fields.ClassName:
  - String
  flask_restx.fields.Date:
  - DateTime
  flask_restx.fields.DateTime:
  - MinMaxMixin
  - Raw
  flask_restx.fields.Fixed:
  - NumberMixin
  - Raw
  flask_restx.fields.Float:
  - NumberMixin
  - Raw
  flask_restx.fields.FormattedString:
  - Raw
  - StringMixin
  flask_restx.fields.Integer:
  - NumberMixin
  - Raw
  flask_restx.fields.List:
  - Raw
  flask_restx.fields.MarshallingError:
  - RestError
  flask_restx.fields.MinMaxMixin:
  - object
  flask_restx.fields.Nested:
  - Raw
  flask_restx.fields.NumberMixin:
  - MinMaxMixin
  flask_restx.fields.Polymorph:
  - Nested
  flask_restx.fields.Raw:
  - object
  flask_restx.fields.String:
  - Raw
  - StringMixin
  flask_restx.fields.StringMixin:
  - object
  flask_restx.fields.Url:
  - Raw
  - StringMixin
  flask_restx.fields.Wildcard:
  - Raw
  flask_restx.inputs.URL:
  - object
  flask_restx.inputs.email:
  - object
  flask_restx.inputs.int_range:
  - object
  flask_restx.inputs.regex:
  - object
  flask_restx.marshalling.marshal_with:
  - object
  flask_restx.marshalling.marshal_with_field:
  - object
  flask_restx.mask.Mask:
  - OrderedDict
  flask_restx.mask.MaskError:
  - RestError
  flask_restx.mask.ParseError:
  - MaskError
  flask_restx.model.Model:
  - dict
  - RawModel
  - MutableMapping
  flask_restx.model.ModelBase:
  - object
  flask_restx.model.OrderedModel:
  - OrderedDict
  - RawModel
  - MutableMapping
  flask_restx.model.RawModel:
  - ModelBase
  flask_restx.model.SchemaModel:
  - ModelBase
  flask_restx.namespace.Namespace:
  - object
  flask_restx.postman.Folder:
  - object
  flask_restx.postman.PostmanCollectionV1:
  - object
  flask_restx.postman.Request:
  - object
  flask_restx.reqparse.Argument:
  - object
  flask_restx.reqparse.ParseResult:
  - dict
  flask_restx.reqparse.RequestParser:
  - object
  flask_restx.resource.Resource:
  - MethodView
  flask_restx.schemas.LazySchema:
  - Mapping
  flask_restx.schemas.SchemaValidationError: []
  flask_restx.swagger.Swagger:
  - object
  werkzeug._internal._ColorStreamHandler: []
  werkzeug._internal._DictAccessorProperty: []
  werkzeug._internal._Missing: []
  werkzeug._reloader.ReloaderLoop: []
  werkzeug._reloader.StatReloaderLoop:
  - ReloaderLoop
  werkzeug._reloader.WatchdogReloaderLoop:
  - ReloaderLoop
  werkzeug._reloader.WatchdogReloaderLoop.__init__.EventHandler:
  - PatternMatchingEventHandler
  werkzeug.datastructures.Accept:
  - ImmutableList
  werkzeug.datastructures.Authorization:
  - ImmutableDictMixin
  - dict
  werkzeug.datastructures.CallbackDict:
  - UpdateDictMixin
  - dict
  werkzeug.datastructures.CharsetAccept:
  - Accept
  werkzeug.datastructures.CombinedMultiDict:
  - ImmutableMultiDictMixin
  - MultiDict
  werkzeug.datastructures.ContentRange: []
  werkzeug.datastructures.ContentSecurityPolicy:
  - UpdateDictMixin
  - dict
  werkzeug.datastructures.ETags:
  - Collection
  werkzeug.datastructures.EnvironHeaders:
  - ImmutableHeadersMixin
  - Headers
  werkzeug.datastructures.FileMultiDict:
  - MultiDict
  werkzeug.datastructures.FileStorage: []
  werkzeug.datastructures.HeaderSet:
  - MutableSet
  werkzeug.datastructures.Headers: []
  werkzeug.datastructures.IfRange: []
  werkzeug.datastructures.ImmutableDict:
  - ImmutableDictMixin
  - dict
  werkzeug.datastructures.ImmutableDictMixin: []
  werkzeug.datastructures.ImmutableHeadersMixin: []
  werkzeug.datastructures.ImmutableList:
  - list
  - ImmutableListMixin
  werkzeug.datastructures.ImmutableListMixin: []
  werkzeug.datastructures.ImmutableMultiDict:
  - ImmutableMultiDictMixin
  - MultiDict
  werkzeug.datastructures.ImmutableMultiDictMixin:
  - ImmutableDictMixin
  werkzeug.datastructures.ImmutableOrderedMultiDict:
  - OrderedMultiDict
  - ImmutableMultiDictMixin
  werkzeug.datastructures.ImmutableTypeConversionDict:
  - ImmutableDictMixin
  - TypeConversionDict
  werkzeug.datastructures.LanguageAccept:
  - Accept
  werkzeug.datastructures.MIMEAccept:
  - Accept
  werkzeug.datastructures.MultiDict:
  - TypeConversionDict
  werkzeug.datastructures.OrderedMultiDict:
  - MultiDict
  werkzeug.datastructures.Range: []
  werkzeug.datastructures.RequestCacheControl:
  - ImmutableDictMixin
  - _CacheControl
  werkzeug.datastructures.ResponseCacheControl:
  - _CacheControl
  werkzeug.datastructures.TypeConversionDict:
  - dict
  werkzeug.datastructures.UpdateDictMixin:
  - dict
  werkzeug.datastructures.WWWAuthenticate:
  - UpdateDictMixin
  - dict
  werkzeug.datastructures._CacheControl:
  - UpdateDictMixin
  - dict
  werkzeug.datastructures._omd_bucket: []
  werkzeug.debug.DebuggedApplication: []
  werkzeug.debug._ConsoleFrame: []
  werkzeug.debug.console.Console: []
  werkzeug.debug.console.HTMLStringO: []
  werkzeug.debug.console.ThreadedStream: []
  werkzeug.debug.console._ConsoleLoader: []
  werkzeug.debug.console._InteractiveConsole: []
  werkzeug.debug.repr.DebugReprGenerator: []
  werkzeug.debug.repr._Helper: []
  werkzeug.debug.tbtools.DebugFrameSummary: []
  werkzeug.debug.tbtools.DebugTraceback: []
  werkzeug.exceptions.Aborter: []
  werkzeug.exceptions.BadGateway:
  - HTTPException
  werkzeug.exceptions.BadHost:
  - BadRequest
  werkzeug.exceptions.BadRequest:
  - HTTPException
  werkzeug.exceptions.BadRequestKeyError:
  - KeyError
  - BadRequest
  werkzeug.exceptions.ClientDisconnected:
  - BadRequest
  werkzeug.exceptions.Conflict:
  - HTTPException
  werkzeug.exceptions.ExpectationFailed:
  - HTTPException
  werkzeug.exceptions.FailedDependency:
  - HTTPException
  werkzeug.exceptions.Forbidden:
  - HTTPException
  werkzeug.exceptions.GatewayTimeout:
  - HTTPException
  werkzeug.exceptions.Gone:
  - HTTPException
  werkzeug.exceptions.HTTPException:
  - Exception
  werkzeug.exceptions.HTTPVersionNotSupported:
  - HTTPException
  werkzeug.exceptions.ImATeapot:
  - HTTPException
  werkzeug.exceptions.InternalServerError:
  - HTTPException
  werkzeug.exceptions.LengthRequired:
  - HTTPException
  werkzeug.exceptions.Locked:
  - HTTPException
  werkzeug.exceptions.MethodNotAllowed:
  - HTTPException
  werkzeug.exceptions.NotAcceptable:
  - HTTPException
  werkzeug.exceptions.NotFound:
  - HTTPException
  werkzeug.exceptions.NotImplemented:
  - HTTPException
  werkzeug.exceptions.PreconditionFailed:
  - HTTPException
  werkzeug.exceptions.PreconditionRequired:
  - HTTPException
  werkzeug.exceptions.RequestEntityTooLarge:
  - HTTPException
  werkzeug.exceptions.RequestHeaderFieldsTooLarge:
  - HTTPException
  werkzeug.exceptions.RequestTimeout:
  - HTTPException
  werkzeug.exceptions.RequestURITooLarge:
  - HTTPException
  werkzeug.exceptions.RequestedRangeNotSatisfiable:
  - HTTPException
  werkzeug.exceptions.SecurityError:
  - BadRequest
  werkzeug.exceptions.ServiceUnavailable:
  - _RetryAfter
  werkzeug.exceptions.TooManyRequests:
  - _RetryAfter
  werkzeug.exceptions.Unauthorized:
  - HTTPException
  werkzeug.exceptions.UnavailableForLegalReasons:
  - HTTPException
  werkzeug.exceptions.UnprocessableEntity:
  - HTTPException
  werkzeug.exceptions.UnsupportedMediaType:
  - HTTPException
  werkzeug.exceptions._RetryAfter:
  - HTTPException
  werkzeug.formparser.FormDataParser: []
  werkzeug.formparser.MultiPartParser: []
  werkzeug.formparser.TStreamFactory: []
  werkzeug.http.COEP:
  - Enum
  werkzeug.http.COOP:
  - Enum
  werkzeug.local.Local: []
  werkzeug.local.LocalManager: []
  werkzeug.local.LocalProxy: []
  werkzeug.local.LocalStack: []
  werkzeug.local._ProxyIOp:
  - _ProxyLookup
  werkzeug.local._ProxyLookup: []
  werkzeug.middleware.dispatcher.DispatcherMiddleware: []
  werkzeug.middleware.http_proxy.ProxyMiddleware: []
  werkzeug.middleware.lint.ErrorStream: []
  werkzeug.middleware.lint.GuardedIterator: []
  werkzeug.middleware.lint.GuardedWrite: []
  werkzeug.middleware.lint.HTTPWarning:
  - Warning
  werkzeug.middleware.lint.InputStream: []
  werkzeug.middleware.lint.LintMiddleware: []
  werkzeug.middleware.lint.WSGIWarning:
  - Warning
  werkzeug.middleware.profiler.ProfilerMiddleware: []
  werkzeug.middleware.proxy_fix.ProxyFix: []
  werkzeug.middleware.shared_data.SharedDataMiddleware: []
  werkzeug.routing.AnyConverter:
  - BaseConverter
  werkzeug.routing.BaseConverter: []
  werkzeug.routing.BuildError:
  - LookupError
  - RoutingException
  werkzeug.routing.EndpointPrefix:
  - RuleFactory
  werkzeug.routing.FloatConverter:
  - NumberConverter
  werkzeug.routing.IntegerConverter:
  - NumberConverter
  werkzeug.routing.Map: []
  werkzeug.routing.MapAdapter: []
  werkzeug.routing.NumberConverter:
  - BaseConverter
  werkzeug.routing.PathConverter:
  - BaseConverter
  werkzeug.routing.RequestAliasRedirect:
  - RoutingException
  werkzeug.routing.RequestPath:
  - RoutingException
  werkzeug.routing.RequestRedirect:
  - HTTPException
  - RoutingException
  werkzeug.routing.RoutingException:
  - Exception
  werkzeug.routing.Rule:
  - RuleFactory
  werkzeug.routing.RuleFactory: []
  werkzeug.routing.RuleTemplate: []
  werkzeug.routing.RuleTemplateFactory:
  - RuleFactory
  werkzeug.routing.Subdomain:
  - RuleFactory
  werkzeug.routing.Submount:
  - RuleFactory
  werkzeug.routing.UUIDConverter:
  - BaseConverter
  werkzeug.routing.UnicodeConverter:
  - BaseConverter
  werkzeug.routing.ValidationError:
  - ValueError
  werkzeug.routing.WebsocketMismatch:
  - BadRequest
  werkzeug.sansio.multipart.Data:
  - Event
  werkzeug.sansio.multipart.Epilogue:
  - Event
  werkzeug.sansio.multipart.Event: []
  werkzeug.sansio.multipart.Field:
  - Event
  werkzeug.sansio.multipart.File:
  - Event
  werkzeug.sansio.multipart.MultipartDecoder: []
  werkzeug.sansio.multipart.MultipartEncoder: []
  werkzeug.sansio.multipart.NeedData:
  - Event
  werkzeug.sansio.multipart.Preamble:
  - Event
  werkzeug.sansio.multipart.State:
  - Enum
  werkzeug.sansio.request.Request: []
  werkzeug.sansio.response.Response: []
  werkzeug.serving.BaseWSGIServer:
  - HTTPServer
  werkzeug.serving.DechunkedInput: []
  werkzeug.serving.ForkingMixIn: []
  werkzeug.serving.ForkingWSGIServer:
  - ForkingMixIn
  - BaseWSGIServer
  werkzeug.serving.ThreadedWSGIServer:
  - BaseWSGIServer
  werkzeug.serving.WSGIRequestHandler:
  - BaseHTTPRequestHandler
  werkzeug.serving._SslDummy: []
  werkzeug.test.Client: []
  werkzeug.test.ClientRedirectError:
  - Exception
  werkzeug.test.EnvironBuilder: []
  werkzeug.test.TestResponse:
  - Response
  werkzeug.test._TestCookieHeaders: []
  werkzeug.test._TestCookieJar:
  - CookieJar
  werkzeug.test._TestCookieResponse: []
  werkzeug.urls.BaseURL:
  - _URLTuple
  werkzeug.urls.BytesURL:
  - BaseURL
  werkzeug.urls.URL:
  - BaseURL
  werkzeug.urls._URLTuple: []
  werkzeug.user_agent.UserAgent: []
  werkzeug.utils.ImportStringError:
  - ImportError
  werkzeug.utils.cached_property:
  - property
  werkzeug.utils.environ_property: []
  werkzeug.utils.header_property: []
  werkzeug.wrappers.request.Request:
  - _SansIORequest
  werkzeug.wrappers.response.Response:
  - _SansIOResponse
  werkzeug.wrappers.response.ResponseStream: []
  werkzeug.wsgi.ClosingIterator: []
  werkzeug.wsgi.FileWrapper: []
  werkzeug.wsgi.LimitedStream: []
  werkzeug.wsgi._RangeWrapper: []
ep:
  func_name: TestOneInput
  module: '...fuzz_reqparse'
