All classes:
- jupyter_client.adapter.Adapter
- jupyter_client.adapter.V5toV4
- jupyter_client.adapter.V4toV5
- jupyter_client.session.SessionFactory
- jupyter_client.session.Message
- jupyter_client.session.Session
- jupyter_client.channelsabc.ChannelABC
- jupyter_client.channelsabc.HBChannelABC
- jupyter_client.channels.InvalidPortNumber
- jupyter_client.channels.HBChannel
- jupyter_client.channels.ZMQSocketChannel
- jupyter_client.channels.AsyncZMQSocketChannel
- jupyter_client.clientabc.KernelClientABC
- jupyter_client.localinterfaces.NoIPAddresses
- jupyter_client.ssh.tunnel.SSHException
- jupyter_client.ssh.forward.ForwardServer
- jupyter_client.ssh.forward.Handler
- jupyter_client.ssh.forward.forward_tunnel.SubHander
- jupyter_client.connect.ConnectionFileMixin
- jupyter_client.connect.LocalPortCache
- jupyter_client.client.KernelClient
- jupyter_client.provisioning.provisioner_base.KernelProvisionerMeta
- jupyter_client.provisioning.provisioner_base.KernelProvisionerBase
- jupyter_client.provisioning.factory.KernelProvisionerFactory
- jupyter_client.win_interrupt.create_interrupt_event.SECURITY_ATTRIBUTES
- jupyter_client.provisioning.local_provisioner.LocalProvisioner
- jupyter_client.kernelspec.KernelSpec
- jupyter_client.kernelspec.NoSuchKernel
- jupyter_client.kernelspec.KernelSpecManager
- jupyter_client.blocking.client.BlockingKernelClient
- jupyter_client.managerabc.KernelManagerABC
- jupyter_client.manager._ShutdownStatus
- jupyter_client.manager.KernelManager
- jupyter_client.manager.AsyncKernelManager
- jupyter_client.asynchronous.client.AsyncKernelClient
- jupyter_client.multikernelmanager.DuplicateKernelError
- jupyter_client.multikernelmanager.MultiKernelManager
- jupyter_client.multikernelmanager.AsyncMultiKernelManager
- jupyter_server.base.websocket.WebSocketMixin
- jupyter_server.services.kernels.connection.abc.KernelWebsocketConnectionABC
- jupyter_server.services.kernels.connection.base.BaseKernelWebsocketConnection
- jupyter_server.base.call_context.CallContext
- jupyter_server._tz.tzUTC
- jupyter_server.auth.identity.User
- jupyter_server.auth.identity.IdentityProvider
- jupyter_server.auth.identity.PasswordIdentityProvider
- jupyter_server.auth.identity.LegacyIdentityProvider
- jupyter_server.utils._request_for_tornado_client.UnixSocketResolver
- jupyter_server.config_manager.BaseJSONConfigManager
- jupyter_server.services.config.manager.ConfigManager
- jupyter_server.files.handlers.FilesHandler
- jupyter_server.services.contents.checkpoints.Checkpoints
- jupyter_server.services.contents.checkpoints.GenericCheckpointsMixin
- jupyter_server.services.contents.checkpoints.AsyncCheckpoints
- jupyter_server.services.contents.checkpoints.AsyncGenericCheckpointsMixin
- jupyter_server.services.contents.manager.ContentsManager
- jupyter_server.services.contents.manager.AsyncContentsManager
- jupyter_client.restarter.KernelRestarter
- jupyter_client.ioloop.restarter.IOLoopKernelRestarter
- jupyter_client.ioloop.restarter.AsyncIOLoopKernelRestarter
- jupyter_client.ioloop.manager.IOLoopKernelManager
- jupyter_client.ioloop.manager.AsyncIOLoopKernelManager
- jupyter_server.services.kernels.kernelmanager.MappingKernelManager
- jupyter_server.services.kernels.kernelmanager.AsyncMappingKernelManager
- jupyter_server.services.kernels.kernelmanager.ServerKernelManager
- jupyter_server.traittypes.TypeFromClasses
- jupyter_server.traittypes.InstanceFromClasses
- jupyter_server.services.sessions.sessionmanager.KernelSessionRecordConflict
- jupyter_server.services.sessions.sessionmanager.KernelSessionRecord
- jupyter_server.services.sessions.sessionmanager.KernelSessionRecordList
- jupyter_server.services.sessions.sessionmanager.SessionManager
- jupyter_server.base.handlers.AuthenticatedHandler
- jupyter_server.base.handlers.JupyterHandler
- jupyter_server.base.handlers.APIHandler
- jupyter_server.base.handlers.Template404
- jupyter_server.base.handlers.AuthenticatedFileHandler
- jupyter_server.base.handlers.FileFindHandler
- jupyter_server.base.handlers.APIVersionHandler
- jupyter_server.base.handlers.TrailingSlashHandler
- jupyter_server.base.handlers.MainHandler
- jupyter_server.base.handlers.FilesRedirectHandler
- jupyter_server.base.handlers.RedirectWithParams
- jupyter_server.base.handlers.PrometheusMetricsHandler
- jupyter_server.auth.login.LoginFormHandler
- jupyter_server.auth.login.LegacyLoginHandler
- jupyter_server.auth.authorizer.Authorizer
- jupyter_server.auth.authorizer.AllowAllAuthorizer
- jupyter_server.auth.logout.LogoutHandler
- jupyter_server.extension.config.ExtensionConfigManager
- jupyter_server.extension.utils.ExtensionLoadingError
- jupyter_server.extension.utils.ExtensionMetadataError
- jupyter_server.extension.utils.ExtensionModuleNotFound
- jupyter_server.extension.utils.NotAnExtensionApp
- jupyter_server.extension.manager.ExtensionPoint
- jupyter_server.extension.manager.ExtensionPackage
- jupyter_server.extension.manager.ExtensionManager
- jupyter_server.extension.serverextension.ArgumentConflict
- jupyter_server.extension.serverextension.BaseExtensionApp
- jupyter_server.extension.serverextension.ToggleServerExtensionApp
- jupyter_server.extension.serverextension.EnableServerExtensionApp
- jupyter_server.extension.serverextension.DisableServerExtensionApp
- jupyter_server.extension.serverextension.ListServerExtensionsApp
- jupyter_server.extension.serverextension.ServerExtensionApp
- jupyter_server.gateway.gateway_client.GatewayTokenRenewerMeta
- jupyter_server.gateway.gateway_client.GatewayTokenRenewerBase
- jupyter_server.gateway.gateway_client.NoOpTokenRenewer
- jupyter_server.gateway.gateway_client.GatewayClient
- jupyter_server.gateway.gateway_client.RetryableHTTPClient
- jupyter_server.gateway.connections.GatewayWebSocketConnection
- jupyter_server.gateway.managers.GatewayMappingKernelManager
- jupyter_server.gateway.managers.GatewayKernelSpecManager
- jupyter_server.gateway.managers.GatewaySessionManager
- jupyter_server.gateway.managers.GatewayKernelManager
- jupyter_server.gateway.managers.ChannelQueue
- jupyter_server.gateway.managers.HBChannelQueue
- jupyter_server.gateway.managers.GatewayKernelClient
- jupyter_server.services.contents.fileio.FileManagerMixin
- jupyter_server.services.contents.fileio.AsyncFileManagerMixin
- jupyter_server.services.contents.filecheckpoints.FileCheckpoints
- jupyter_server.services.contents.filecheckpoints.AsyncFileCheckpoints
- jupyter_server.services.contents.filecheckpoints.GenericFileCheckpoints
- jupyter_server.services.contents.filecheckpoints.AsyncGenericFileCheckpoints
- jupyter_server.services.contents.filemanager.FileContentsManager
- jupyter_server.services.contents.filemanager.AsyncFileContentsManager
- jupyter_server.services.contents.largefilemanager.LargeFileManager
- jupyter_server.services.contents.largefilemanager.AsyncLargeFileManager
- jupyter_server.services.kernels.websocket.KernelWebsocketHandler
- jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection
- jupyter_server.serverapp.ServerWebApplication
- jupyter_server.serverapp.JupyterPasswordApp
- jupyter_server.serverapp.JupyterServerStopApp
- jupyter_server.serverapp.JupyterServerListApp
- jupyter_server.serverapp.ServerApp
- jupyter_server.nbconvert.handlers.NbconvertFileHandler
- jupyter_server.nbconvert.handlers.NbconvertPostHandler
- jupyter_server.extension.handler.ExtensionHandlerJinjaMixin
- jupyter_server.extension.handler.ExtensionHandlerMixin
- jupyter_server.extension.application.ExtensionAppJinjaMixin
- jupyter_server.extension.application.JupyterServerExtensionException
- jupyter_server.extension.application.ExtensionApp
- jupyter_server.view.handlers.ViewHandler
- jupyter_server.services.shutdown.ShutdownHandler
- jupyter_server.services.nbconvert.handlers.NbconvertRootHandler
- jupyter_server.services.config.handlers.ConfigHandler
- jupyter_server.services.kernels.handlers.KernelsAPIHandler
- jupyter_server.services.kernels.handlers.MainKernelHandler
- jupyter_server.services.kernels.handlers.KernelHandler
- jupyter_server.services.kernels.handlers.KernelActionHandler
- jupyter_server.services.events.handlers.SubscribeWebsocket
- jupyter_server.services.events.handlers.EventHandler
- jupyter_server.services.sessions.handlers.SessionsAPIHandler
- jupyter_server.services.sessions.handlers.SessionRootHandler
- jupyter_server.services.sessions.handlers.SessionHandler
- jupyter_server.services.api.handlers.APISpecHandler
- jupyter_server.services.api.handlers.APIStatusHandler
- jupyter_server.services.api.handlers.IdentityHandler
- jupyter_server.services.security.handlers.CSPReportHandler
- jupyter_server.services.kernelspecs.handlers.KernelSpecsAPIHandler
- jupyter_server.services.kernelspecs.handlers.MainKernelSpecHandler
- jupyter_server.services.kernelspecs.handlers.KernelSpecHandler
- jupyter_server.services.contents.handlers.ContentsAPIHandler
- jupyter_server.services.contents.handlers.ContentsHandler
- jupyter_server.services.contents.handlers.CheckpointsHandler
- jupyter_server.services.contents.handlers.ModifyCheckpointsHandler
- jupyter_server.services.contents.handlers.NotebooksRedirectHandler
- jupyter_server.services.contents.handlers.TrustNotebooksHandler
- jupyter_server.kernelspecs.handlers.KernelSpecResourceHandler
- jupyter_server.gateway.handlers.WebSocketChannelsHandler
- jupyter_server.gateway.handlers.GatewayWebSocketClient
- jupyter_server.gateway.handlers.GatewayResourceHandler
- jupyter_client.kernelspecapp.ListKernelSpecs
- jupyter_client.kernelspecapp.InstallKernelSpec
- jupyter_client.kernelspecapp.RemoveKernelSpec
- jupyter_client.kernelspecapp.InstallNativeKernelSpec
- jupyter_client.kernelspecapp.ListProvisioners
- jupyter_client.kernelspecapp.KernelSpecApp
- jupyter_client.threaded.ThreadedZMQSocketChannel
- jupyter_client.threaded.IOLoopThread
- jupyter_client.threaded.ThreadedKernelClient
- jupyter_client.consoleapp.JupyterConsoleApp
- jupyter_client.consoleapp.IPythonConsoleApp
- jupyter_client.runapp.RunApp
- jupyter_client.kernelapp.KernelApp
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_serialization'
    functionSourceFile: '...fuzz_serialization'
    functionUses: 0
    functionsReached:
    - atheris.instrument_all
    - atheris.Setup
    - atheris.instrument_imports
    - atheris.Fuzz
    - '...fuzz_serialization.main'
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: atheris.instrument_imports
    functionSourceFile: atheris
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - data
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 27
    functionName: '...fuzz_serialization.TestOneInput'
    functionSourceFile: '...fuzz_serialization'
    functionUses: 0
    functionsReached:
    - traitlets.utils.importstring.import_item
    - jupyter_client.session.Session._new_auth
    - jupyter_client.jsonutil._ensure_tzinfo
    - jupyter_client.session.Session.msg_header
    - traitlets.log.get_logger.warning
    - <builtin>.repr
    - jupyter_client.jsonutil.parse_date
    - msg.copy
    - jupyter_client.session.Session._check_packers
    - <builtin>.map
    - pickle.loads
    - jupyter_client.session.Session.msg
    - obj.strftime
    - obj.items
    - <builtin>.memoryview
    - jupyter_server.services.kernels.connection.base.serialize_binary_message
    - <builtin>.len
    - <builtin>.type
    - msg.pop
    - <builtin>.hasattr
    - jupyter_client.jsonutil.extract_dates
    - <builtin>.float
    - jupyter_client.session.pickle_packer
    - traitlets.log.get_logger
    - buffers.insert
    - <builtin>.super
    - jupyter_client.session.json_unpacker
    - <builtin>.list
    - atheris.FuzzedDataProvider
    - dateutil.parser.parse.items
    - hmac.HMAC
    - struct.unpack
    - datetime.datetime.now
    - math.isnan
    - binascii.b2a_base64
    - warnings.warn
    - offsets.append
    - <builtin>.set
    - dateutil.parser.parse
    - jupyter_client.session.Session._check_packers.<lambda2>
    - fdp.ConsumeString
    - struct.pack
    - traitlets.Dict.copy
    - <builtin>.str
    - obj.isoformat
    - json.dumps
    - jupyter_client.session.utcnow
    - jupyter_client.session.extract_header
    - jupyter_client.jsonutil.squash_dates
    - <builtin>.isinstance
    - math.isinf
    - binascii.b2a_base64.decode
    - jupyter_client.session.Session.__init__
    - jupyter_client.session.Session._check_packers.<lambda1>
    - fdp.ConsumeBytes
    - <builtin>.dict
    - traitlets.Any
    - bufs.append
    - jupyter_client.jsonutil.json_clean
    - s.decode
    - json.loads
    - <builtin>.int
    - pickle.dumps
    - <builtin>.zip
    - jupyter_client.session.json_packer
    - ISO8601_PAT.match
    - dateutil.parser.parse.replace
    - os.getpid
    - jupyter_server.services.kernels.connection.base.deserialize_binary_message
    - dateutil.tz.tzlocal
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.ConsumeString
    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>.len
    functionSourceFile: <builtin>
    functionUses: 181
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 6
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 528
    functionName: jupyter_client.session.Session.__init__
    functionSourceFile: jupyter_client.session
    functionUses: 9
    functionsReached:
    - traitlets.utils.importstring.import_item
    - jupyter_client.session.Session._new_auth
    - traitlets.log.get_logger.warning
    - <builtin>.repr
    - jupyter_client.session.Session._check_packers
    - <builtin>.map
    - obj.strftime
    - pickle.loads
    - obj.items
    - <builtin>.len
    - <builtin>.type
    - <builtin>.hasattr
    - <builtin>.float
    - jupyter_client.session.pickle_packer
    - traitlets.log.get_logger
    - <builtin>.super
    - <builtin>.list
    - jupyter_client.session.json_unpacker
    - hmac.HMAC
    - math.isnan
    - binascii.b2a_base64
    - datetime.datetime.now
    - warnings.warn
    - <builtin>.set
    - jupyter_client.session.Session._check_packers.<lambda2>
    - <builtin>.str
    - obj.isoformat
    - json.dumps
    - jupyter_client.session.utcnow
    - jupyter_client.jsonutil.squash_dates
    - math.isinf
    - <builtin>.isinstance
    - binascii.b2a_base64.decode
    - jupyter_client.session.Session._check_packers.<lambda1>
    - <builtin>.dict
    - traitlets.Any
    - jupyter_client.jsonutil.json_clean
    - s.decode
    - json.loads
    - <builtin>.int
    - pickle.dumps
    - jupyter_client.session.json_packer
    - os.getpid
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 6
    argDefaultValues:
    - <ast.Constant object at 0x7fc4ab3bfe20>
    - <ast.Constant object at 0x7fc4ab3bfdf0>
    - <ast.Constant object at 0x7fc4ab3bfdc0>
    - <ast.Constant object at 0x7fc4ab3bfd90>
    argNames:
    - self
    - msg_type
    - content
    - parent
    - header
    - metadata
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 649
    functionName: jupyter_client.session.Session.msg
    functionSourceFile: jupyter_client.session
    functionUses: 2
    functionsReached:
    - jupyter_client.session.Session.msg_header
    - jupyter_client.session.extract_header
    - <builtin>.isinstance
    - <builtin>.dict
    - traitlets.Dict.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: fdp.ConsumeBytes
    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>.memoryview
    functionSourceFile: <builtin>
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 4
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - msg
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 23
    functionName: jupyter_server.services.kernels.connection.base.serialize_binary_message
    functionSourceFile: jupyter_server.services.kernels.connection.base
    functionUses: 5
    functionsReached:
    - buffers.insert
    - json.dumps
    - <builtin>.list
    - msg.copy
    - offsets.append
    - <builtin>.len
    - msg.pop
    - struct.pack
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 3
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - bmsg
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 52
    functionName: jupyter_server.services.kernels.connection.base.deserialize_binary_message
    functionSourceFile: jupyter_server.services.kernels.connection.base
    functionUses: 2
    functionsReached:
    - jupyter_client.jsonutil._ensure_tzinfo
    - bufs.append
    - json.loads
    - <builtin>.list
    - <builtin>.zip
    - jupyter_client.jsonutil.parse_date
    - ISO8601_PAT.match
    - dateutil.parser.parse.items
    - dateutil.parser.parse.replace
    - struct.unpack
    - <builtin>.isinstance
    - warnings.warn
    - offsets.append
    - dateutil.parser.parse
    - jupyter_client.jsonutil.extract_dates
    - dateutil.tz.tzlocal
    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: 45
    functionName: '...fuzz_serialization.main'
    functionSourceFile: '...fuzz_serialization'
    functionUses: 1
    functionsReached:
    - atheris.instrument_all
    - atheris.Setup
    - atheris.Fuzz
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: atheris.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: 2
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: jupyter_server.base.zmqhandlers
    functionSourceFile: jupyter_server.base.zmqhandlers
    functionUses: 0
    functionsReached:
    - 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: 87
    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: jupyter_server.base.websocket
    functionSourceFile: jupyter_server.base.websocket
    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: 22
    functionName: jupyter_server.base.websocket.WebSocketMixin.ping_interval
    functionSourceFile: jupyter_server.base.websocket
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 30
    functionName: jupyter_server.base.websocket.WebSocketMixin.ping_timeout
    functionSourceFile: jupyter_server.base.websocket
    functionUses: 0
    functionsReached:
    - <builtin>.max
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.max
    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: 1
    functionLinenumber: -1
    functionName: jupyter_server.base.websocket.WebSocketMixin
    functionSourceFile: jupyter_server.base.websocket
    functionUses: 0
    functionsReached:
    - typing.no_type_check
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: typing.no_type_check
    functionSourceFile: ''
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 11
    ICount: 2
    IfCount: 7
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7fc4ab6ee700>
    argNames:
    - self
    - origin
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 40
    functionName: jupyter_server.base.websocket.WebSocketMixin.check_origin
    functionSourceFile: jupyter_server.base.websocket
    functionUses: 0
    functionsReached:
    - re.match
    - origin.lower
    - <builtin>.hasattr
    - <builtin>.bool
    - urllib.parse.urlparse
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: 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: origin.lower
    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
    functionSourceFile: urllib
    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.match
    functionSourceFile: re
    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: <builtin>.bool
    functionSourceFile: <builtin>
    functionUses: 44
    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: 0
    functionLinenumber: 82
    functionName: jupyter_server.base.websocket.WebSocketMixin.clear_cookie
    functionSourceFile: jupyter_server.base.websocket
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 86
    functionName: jupyter_server.base.websocket.WebSocketMixin.open
    functionSourceFile: jupyter_server.base.websocket
    functionUses: 0
    functionsReached:
    - tornado.ioloop.IOLoop.current
    - <builtin>.super
    - tornado.ioloop.PeriodicCallback
    - loop.time
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: tornado.ioloop.IOLoop.current
    functionSourceFile: tornado
    functionUses: 36
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: loop.time
    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: tornado.ioloop.PeriodicCallback
    functionSourceFile: tornado
    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: <builtin>.super
    functionSourceFile: <builtin>
    functionUses: 164
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 6
    IfCount: 3
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 103
    functionName: jupyter_server.base.websocket.WebSocketMixin.send_ping
    functionSourceFile: jupyter_server.base.websocket
    functionUses: 0
    functionsReached:
    - tornado.ioloop.IOLoop.current
    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: 126
    functionName: jupyter_server.base.websocket.WebSocketMixin.on_pong
    functionSourceFile: jupyter_server.base.websocket
    functionUses: 0
    functionsReached:
    - tornado.ioloop.IOLoop.current
    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: jupyter_server.services.kernels.connection.base
    functionSourceFile: jupyter_server.services.kernels.connection.base
    functionUses: 0
    functionsReached:
    - abc.ABC.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: 0
    functionLinenumber: -1
    functionName: msg.copy
    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: msg.pop
    functionSourceFile: <builtin>
    functionUses: 7
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.list
    functionSourceFile: <builtin>
    functionUses: 63
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: 106
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: buffers.insert
    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: offsets.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: struct.pack
    functionSourceFile: struct
    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: struct.unpack
    functionSourceFile: struct
    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>.zip
    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: bufs.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: json.loads
    functionSourceFile: json
    functionUses: 58
    functionsReached: []
    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: 3
    functionLinenumber: 70
    functionName: jupyter_client.jsonutil.extract_dates
    functionSourceFile: jupyter_client.jsonutil
    functionUses: 7
    functionsReached:
    - jupyter_client.jsonutil._ensure_tzinfo
    - jupyter_client.jsonutil.parse_date
    - ISO8601_PAT.match
    - dateutil.parser.parse.items
    - dateutil.parser.parse.replace
    - <builtin>.isinstance
    - warnings.warn
    - dateutil.parser.parse
    - jupyter_client.jsonutil.extract_dates
    - dateutil.tz.tzlocal
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 4
    IfCount: 1
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7fc4ac4a2fd0>
    argNames:
    - msg_or_list
    - channel
    - pack
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 79
    functionName: jupyter_server.services.kernels.connection.base.serialize_msg_to_ws_v1
    functionSourceFile: jupyter_server.services.kernels.connection.base
    functionUses: 8
    functionsReached:
    - offset.to_bytes
    - channel.encode
    - offsets.append
    - <builtin>.len
    - traitlets.Instance.pack
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: traitlets.Instance.pack
    functionSourceFile: traitlets
    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: channel.encode
    functionSourceFile: <builtin>
    functionUses: 9
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: offset.to_bytes
    functionSourceFile: <builtin>
    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:
    - ws_msg
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 102
    functionName: jupyter_server.services.kernels.connection.base.deserialize_msg_from_ws_v1
    functionSourceFile: jupyter_server.services.kernels.connection.base
    functionUses: 1
    functionsReached:
    - int.from_bytes
    - <builtin>.range
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: int.from_bytes
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.range
    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: traitlets.Unicode
    functionSourceFile: traitlets
    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: 1
    functionLinenumber: -1
    functionName: jupyter_server.services.kernels.connection.base.BaseKernelWebsocketConnection
    functionSourceFile: jupyter_server.services.kernels.connection.base
    functionUses: 0
    functionsReached:
    - traitlets.Unicode
    - traitlets.default
    - traitlets.Instance
    - traitlets.Float
    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: 130
    functionName: jupyter_server.services.kernels.connection.base.BaseKernelWebsocketConnection.kernel_manager
    functionSourceFile: jupyter_server.services.kernels.connection.base
    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: 135
    functionName: jupyter_server.services.kernels.connection.base.BaseKernelWebsocketConnection.multi_kernel_manager
    functionSourceFile: jupyter_server.services.kernels.connection.base
    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: 140
    functionName: jupyter_server.services.kernels.connection.base.BaseKernelWebsocketConnection.kernel_id
    functionSourceFile: jupyter_server.services.kernels.connection.base
    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: 145
    functionName: jupyter_server.services.kernels.connection.base.BaseKernelWebsocketConnection.session_id
    functionSourceFile: jupyter_server.services.kernels.connection.base
    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: traitlets.Float
    functionSourceFile: traitlets
    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: traitlets.default
    functionSourceFile: traitlets
    functionUses: 25
    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: 152
    functionName: jupyter_server.services.kernels.connection.base.BaseKernelWebsocketConnection._default_kernel_info_timeout
    functionSourceFile: jupyter_server.services.kernels.connection.base
    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: traitlets.Instance
    functionSourceFile: traitlets
    functionUses: 32
    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: 5
    functionLinenumber: 158
    functionName: jupyter_server.services.kernels.connection.base.BaseKernelWebsocketConnection._default_session
    functionSourceFile: jupyter_server.services.kernels.connection.base
    functionUses: 0
    functionsReached:
    - traitlets.utils.importstring.import_item
    - jupyter_client.session.Session._new_auth
    - traitlets.log.get_logger.warning
    - <builtin>.repr
    - jupyter_client.session.Session._check_packers
    - <builtin>.map
    - obj.strftime
    - pickle.loads
    - obj.items
    - <builtin>.len
    - <builtin>.type
    - <builtin>.hasattr
    - <builtin>.float
    - jupyter_client.session.pickle_packer
    - traitlets.log.get_logger
    - <builtin>.super
    - <builtin>.list
    - jupyter_client.session.json_unpacker
    - hmac.HMAC
    - math.isnan
    - binascii.b2a_base64
    - datetime.datetime.now
    - warnings.warn
    - <builtin>.set
    - jupyter_client.session.Session._check_packers.<lambda2>
    - <builtin>.str
    - obj.isoformat
    - json.dumps
    - jupyter_client.session.utcnow
    - jupyter_client.jsonutil.squash_dates
    - math.isinf
    - <builtin>.isinstance
    - binascii.b2a_base64.decode
    - jupyter_client.session.Session.__init__
    - jupyter_client.session.Session._check_packers.<lambda1>
    - <builtin>.dict
    - traitlets.Any
    - jupyter_client.jsonutil.json_clean
    - s.decode
    - json.loads
    - <builtin>.int
    - pickle.dumps
    - jupyter_client.session.json_packer
    - os.getpid
    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: 163
    functionName: jupyter_server.services.kernels.connection.base.BaseKernelWebsocketConnection.connect
    functionSourceFile: jupyter_server.services.kernels.connection.base
    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: 0
    functionLinenumber: 167
    functionName: jupyter_server.services.kernels.connection.base.BaseKernelWebsocketConnection.disconnect
    functionSourceFile: jupyter_server.services.kernels.connection.base
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - NotImplementedError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - incoming_msg
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 171
    functionName: jupyter_server.services.kernels.connection.base.BaseKernelWebsocketConnection.handle_incoming_message
    functionSourceFile: jupyter_server.services.kernels.connection.base
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - NotImplementedError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - stream
    - outgoing_msg
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 175
    functionName: jupyter_server.services.kernels.connection.base.BaseKernelWebsocketConnection.handle_outgoing_message
    functionSourceFile: jupyter_server.services.kernels.connection.base
    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: abc.ABC.register
    functionSourceFile: abc
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: jupyter_client.jsonutil
    functionSourceFile: jupyter_client.jsonutil
    functionUses: 0
    functionsReached:
    - re.compile
    - 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: re.compile
    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: datetime.datetime.strptime
    functionSourceFile: datetime
    functionUses: 7
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - dt
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 38
    functionName: jupyter_client.jsonutil._ensure_tzinfo
    functionSourceFile: jupyter_client.jsonutil
    functionUses: 11
    functionsReached:
    - dateutil.parser.parse.replace
    - warnings.warn
    - dateutil.tz.tzlocal
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: dateutil.tz.tzlocal
    functionSourceFile: dateutil
    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: dateutil.parser.parse.replace
    functionSourceFile: dateutil
    functionUses: 12
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - s
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 54
    functionName: jupyter_client.jsonutil.parse_date
    functionSourceFile: jupyter_client.jsonutil
    functionUses: 8
    functionsReached:
    - jupyter_client.jsonutil._ensure_tzinfo
    - ISO8601_PAT.match
    - dateutil.parser.parse.replace
    - warnings.warn
    - dateutil.parser.parse
    - dateutil.tz.tzlocal
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: ISO8601_PAT.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: dateutil.parser.parse
    functionSourceFile: dateutil
    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>.isinstance
    functionSourceFile: <builtin>
    functionUses: 189
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: dateutil.parser.parse.items
    functionSourceFile: dateutil
    functionUses: 8
    functionsReached: []
    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: 84
    functionName: jupyter_client.jsonutil.squash_dates
    functionSourceFile: jupyter_client.jsonutil
    functionUses: 15
    functionsReached:
    - jupyter_client.jsonutil.squash_dates
    - <builtin>.isinstance
    - obj.items
    - <builtin>.dict
    - obj.isoformat
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: 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: obj.items
    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: obj.isoformat
    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:
    - obj
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 97
    functionName: jupyter_client.jsonutil.date_default
    functionSourceFile: jupyter_client.jsonutil
    functionUses: 0
    functionsReached:
    - jupyter_client.jsonutil._ensure_tzinfo
    - dateutil.parser.parse.isoformat
    - <builtin>.list
    - dateutil.tz.tzlocal
    - <builtin>.int
    - dateutil.parser.parse.replace
    - binascii.b2a_base64.decode
    - <builtin>.isinstance
    - warnings.warn
    - binascii.b2a_base64
    - <builtin>.float
    - jupyter_client.jsonutil.json_default
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 1
    IfCount: 5
    argCount: 1
    argDefaultValues: []
    argNames:
    - obj
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 107
    functionName: jupyter_client.jsonutil.json_default
    functionSourceFile: jupyter_client.jsonutil
    functionUses: 1
    functionsReached:
    - jupyter_client.jsonutil._ensure_tzinfo
    - dateutil.parser.parse.isoformat
    - <builtin>.list
    - <builtin>.int
    - dateutil.parser.parse.replace
    - binascii.b2a_base64.decode
    - <builtin>.isinstance
    - binascii.b2a_base64
    - warnings.warn
    - <builtin>.float
    - dateutil.tz.tzlocal
    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: dateutil.parser.parse.isoformat
    functionSourceFile: dateutil
    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: binascii.b2a_base64
    functionSourceFile: binascii
    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: binascii.b2a_base64.decode
    functionSourceFile: binascii
    functionUses: 18
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.int
    functionSourceFile: <builtin>
    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: <builtin>.float
    functionSourceFile: <builtin>
    functionUses: 36
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 11
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 16
    ICount: 0
    IfCount: 11
    argCount: 1
    argDefaultValues: []
    argNames:
    - obj
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 131
    functionName: jupyter_client.jsonutil.json_clean
    functionSourceFile: jupyter_client.jsonutil
    functionUses: 15
    functionsReached:
    - jupyter_client.jsonutil.json_clean
    - <builtin>.list
    - <builtin>.int
    - <builtin>.repr
    - <builtin>.map
    - obj.strftime
    - math.isinf
    - <builtin>.isinstance
    - binascii.b2a_base64.decode
    - math.isnan
    - binascii.b2a_base64
    - <builtin>.len
    - obj.items
    - <builtin>.set
    - <builtin>.hasattr
    - <builtin>.float
    - <builtin>.type
    - <builtin>.str
    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>.type
    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: math.isnan
    functionSourceFile: math
    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: math.isinf
    functionSourceFile: math
    functionUses: 16
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.repr
    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: <builtin>.map
    functionSourceFile: <builtin>
    functionUses: 17
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.set
    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: <builtin>.str
    functionSourceFile: <builtin>
    functionUses: 146
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.strftime
    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: jupyter_server.services.kernels.connection.abc
    functionSourceFile: jupyter_server.services.kernels.connection.abc
    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: jupyter_server.services.kernels.connection.abc.KernelWebsocketConnectionABC
    functionSourceFile: jupyter_server.services.kernels.connection.abc
    functionUses: 0
    functionsReached:
    - abc.abstractmethod
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: abc.abstractmethod
    functionSourceFile: ''
    functionUses: 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: 16
    functionName: jupyter_server.services.kernels.connection.abc.KernelWebsocketConnectionABC.connect
    functionSourceFile: jupyter_server.services.kernels.connection.abc
    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: 20
    functionName: jupyter_server.services.kernels.connection.abc.KernelWebsocketConnectionABC.disconnect
    functionSourceFile: jupyter_server.services.kernels.connection.abc
    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
    - incoming_msg
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 24
    functionName: jupyter_server.services.kernels.connection.abc.KernelWebsocketConnectionABC.handle_incoming_message
    functionSourceFile: jupyter_server.services.kernels.connection.abc
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - stream
    - outgoing_msg
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 28
    functionName: jupyter_server.services.kernels.connection.abc.KernelWebsocketConnectionABC.handle_outgoing_message
    functionSourceFile: jupyter_server.services.kernels.connection.abc
    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: -1
    functionName: jupyter_server.transutils
    functionSourceFile: jupyter_server.transutils
    functionUses: 0
    functionsReached:
    - gettext.translation
    - os.path.realpath
    - os.path.join
    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: 1
    functionLinenumber: 9
    functionName: jupyter_server.transutils._trans_gettext_deprecation_helper
    functionSourceFile: jupyter_server.transutils
    functionUses: 0
    functionsReached:
    - trans.gettext
    - 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: trans.gettext
    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.path.join
    functionSourceFile: os
    functionUses: 180
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: 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: gettext.translation
    functionSourceFile: gettext
    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: 3
    functionLinenumber: -1
    functionName: jupyter_client.session
    functionSourceFile: jupyter_client.session
    functionUses: 0
    functionsReached:
    - jupyter_client.session.new_id_bytes
    - os.urandom
    - binascii.b2a_hex
    - zmq.MessageTracker
    - jupyter_client.session.new_id
    - binascii.b2a_hex.decode
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 1
    IfCount: 4
    argCount: 1
    argDefaultValues: []
    argNames:
    - obj
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 64
    functionName: jupyter_client.session.squash_unicode
    functionSourceFile: jupyter_client.session
    functionUses: 0
    functionsReached:
    - obj.keys
    - <builtin>.list
    - obj.pop
    - obj.encode
    - <builtin>.isinstance
    - jupyter_client.session.squash_unicode
    - <builtin>.enumerate
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: obj.keys
    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: obj.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: <builtin>.enumerate
    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: obj.encode
    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:
    - obj
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 92
    functionName: jupyter_client.session.json_packer
    functionSourceFile: jupyter_client.session
    functionUses: 14
    functionsReached:
    - <builtin>.repr
    - <builtin>.map
    - obj.strftime
    - obj.items
    - <builtin>.len
    - <builtin>.hasattr
    - <builtin>.type
    - <builtin>.float
    - <builtin>.list
    - math.isnan
    - binascii.b2a_base64
    - warnings.warn
    - <builtin>.set
    - <builtin>.str
    - json.dumps
    - math.isinf
    - <builtin>.isinstance
    - binascii.b2a_base64.decode
    - jupyter_client.jsonutil.json_clean
    - <builtin>.int
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - s
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 120
    functionName: jupyter_client.session.json_unpacker
    functionSourceFile: jupyter_client.session
    functionUses: 16
    functionsReached:
    - s.decode
    - <builtin>.isinstance
    - json.loads
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: s.decode
    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:
    - o
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 127
    functionName: jupyter_client.session.pickle_packer
    functionSourceFile: jupyter_client.session
    functionUses: 14
    functionsReached:
    - pickle.dumps
    - jupyter_client.jsonutil.squash_dates
    - <builtin>.isinstance
    - obj.items
    - <builtin>.dict
    - obj.isoformat
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: pickle.dumps
    functionSourceFile: pickle
    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: zmq.MessageTracker
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 146
    functionName: jupyter_client.session.new_id
    functionSourceFile: jupyter_client.session
    functionUses: 5
    functionsReached:
    - binascii.b2a_hex
    - os.urandom
    - binascii.b2a_hex.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: os.urandom
    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: binascii.b2a_hex
    functionSourceFile: binascii
    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: binascii.b2a_hex.decode
    functionSourceFile: binascii
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 160
    functionName: jupyter_client.session.new_id_bytes
    functionSourceFile: jupyter_client.session
    functionUses: 3
    functionsReached:
    - binascii.b2a_hex
    - jupyter_client.session.new_id
    - os.urandom
    - binascii.b2a_hex.decode
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - cfg
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 185
    functionName: jupyter_client.session.default_secure
    functionSourceFile: jupyter_client.session
    functionUses: 0
    functionsReached:
    - jupyter_client.session.new_id_bytes
    - os.urandom
    - binascii.b2a_hex
    - jupyter_client.session.new_id
    - warnings.warn
    - binascii.b2a_hex.decode
    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: 198
    functionName: jupyter_client.session.utcnow
    functionSourceFile: jupyter_client.session
    functionUses: 22
    functionsReached:
    - datetime.datetime.now
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: 80
    functionsReached: []
    linkageType: 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: jupyter_client.session.SessionFactory
    functionSourceFile: jupyter_client.session
    functionUses: 0
    functionsReached:
    - traitlets.Unicode
    - traitlets.observe
    - traitlets.Instance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: traitlets.observe
    functionSourceFile: traitlets
    functionUses: 10
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - change
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 216
    functionName: jupyter_client.session.SessionFactory._logname_changed
    functionSourceFile: jupyter_client.session
    functionUses: 0
    functionsReached:
    - 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: logging.getLogger
    functionSourceFile: logging
    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: 222
    functionName: jupyter_client.session.SessionFactory._context_default
    functionSourceFile: jupyter_client.session
    functionUses: 0
    functionsReached:
    - zmq.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: zmq.Context
    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: 1
    functionLinenumber: 229
    functionName: jupyter_client.session.SessionFactory._loop_default
    functionSourceFile: jupyter_client.session
    functionUses: 0
    functionsReached:
    - tornado.ioloop.IOLoop.current
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 232
    functionName: jupyter_client.session.SessionFactory.__init__
    functionSourceFile: jupyter_client.session
    functionUses: 0
    functionsReached:
    - traitlets.utils.importstring.import_item
    - jupyter_client.session.Session._new_auth
    - traitlets.log.get_logger.warning
    - <builtin>.repr
    - jupyter_client.session.Session._check_packers
    - <builtin>.map
    - obj.strftime
    - pickle.loads
    - obj.items
    - <builtin>.len
    - <builtin>.type
    - <builtin>.hasattr
    - <builtin>.float
    - jupyter_client.session.pickle_packer
    - traitlets.log.get_logger
    - <builtin>.super
    - <builtin>.list
    - jupyter_client.session.json_unpacker
    - hmac.HMAC
    - math.isnan
    - binascii.b2a_base64
    - datetime.datetime.now
    - warnings.warn
    - <builtin>.set
    - jupyter_client.session.Session._check_packers.<lambda2>
    - <builtin>.str
    - obj.isoformat
    - json.dumps
    - jupyter_client.session.utcnow
    - jupyter_client.jsonutil.squash_dates
    - math.isinf
    - <builtin>.isinstance
    - binascii.b2a_base64.decode
    - jupyter_client.session.Session.__init__
    - jupyter_client.session.Session._check_packers.<lambda1>
    - <builtin>.dict
    - traitlets.Any
    - jupyter_client.jsonutil.json_clean
    - s.decode
    - json.loads
    - <builtin>.int
    - pickle.dumps
    - jupyter_client.session.json_packer
    - os.getpid
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - msg_dict
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 247
    functionName: jupyter_client.session.Message.__init__
    functionSourceFile: jupyter_client.session
    functionUses: 0
    functionsReached:
    - jupyter_client.session.Message.__init__
    - <builtin>.isinstance
    - <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: 256
    functionName: jupyter_client.session.Message.__iter__
    functionSourceFile: jupyter_client.session
    functionUses: 0
    functionsReached:
    - <builtin>.iter
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.iter
    functionSourceFile: <builtin>
    functionUses: 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: 259
    functionName: jupyter_client.session.Message.__repr__
    functionSourceFile: jupyter_client.session
    functionUses: 0
    functionsReached:
    - <builtin>.repr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 262
    functionName: jupyter_client.session.Message.__str__
    functionSourceFile: jupyter_client.session
    functionUses: 0
    functionsReached:
    - pprint.pformat
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: 2
    argDefaultValues: []
    argNames:
    - self
    - k
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 265
    functionName: jupyter_client.session.Message.__contains__
    functionSourceFile: jupyter_client.session
    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
    - k
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 268
    functionName: jupyter_client.session.Message.__getitem__
    functionSourceFile: jupyter_client.session
    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:
    - msg_id
    - msg_type
    - username
    - session
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 272
    functionName: jupyter_client.session.msg_header
    functionSourceFile: jupyter_client.session
    functionUses: 0
    functionsReached:
    - jupyter_client.session.utcnow
    - <builtin>.locals
    - datetime.datetime.now
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.locals
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - msg_or_header
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 281
    functionName: jupyter_client.session.extract_header
    functionSourceFile: jupyter_client.session
    functionUses: 3
    functionsReached:
    - <builtin>.isinstance
    - <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: traitlets.Bool
    functionSourceFile: traitlets
    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: 1
    functionLinenumber: -1
    functionName: jupyter_client.session.Session
    functionSourceFile: jupyter_client.session
    functionUses: 0
    functionsReached:
    - traitlets.DottedObjectName
    - traitlets.CBytes
    - traitlets.Instance
    - traitlets.Set
    - traitlets.Unicode
    - traitlets.observe
    - traitlets.Integer
    - os.environ.get
    - traitlets.CUnicode
    - traitlets.Bool
    - traitlets.Dict
    - traitlets.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: traitlets.DottedObjectName
    functionSourceFile: traitlets
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - change
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 362
    functionName: jupyter_client.session.Session._packer_changed
    functionSourceFile: jupyter_client.session
    functionUses: 0
    functionsReached:
    - traitlets.utils.importstring.import_item
    - new.lower
    - <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: new.lower
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: traitlets.utils.importstring.import_item
    functionSourceFile: traitlets
    functionUses: 37
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - change
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 383
    functionName: jupyter_client.session.Session._unpacker_changed
    functionSourceFile: jupyter_client.session
    functionUses: 0
    functionsReached:
    - traitlets.utils.importstring.import_item
    - new.lower
    - <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: traitlets.CUnicode
    functionSourceFile: traitlets
    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: 2
    functionLinenumber: 398
    functionName: jupyter_client.session.Session._session_default
    functionSourceFile: jupyter_client.session
    functionUses: 0
    functionsReached:
    - os.urandom
    - binascii.b2a_hex
    - jupyter_client.session.new_id
    - u.encode
    - binascii.b2a_hex.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: u.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: 2
    argDefaultValues: []
    argNames:
    - self
    - change
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 404
    functionName: jupyter_client.session.Session._session_changed
    functionSourceFile: jupyter_client.session
    functionUses: 0
    functionsReached:
    - traitlets.CUnicode.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: traitlets.CUnicode.encode
    functionSourceFile: traitlets
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: traitlets.CBytes
    functionSourceFile: traitlets
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: traitlets.Dict
    functionSourceFile: traitlets
    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: traitlets.Integer
    functionSourceFile: traitlets
    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: 3
    functionLinenumber: 430
    functionName: jupyter_client.session.Session._key_default
    functionSourceFile: jupyter_client.session
    functionUses: 0
    functionsReached:
    - jupyter_client.session.new_id_bytes
    - os.urandom
    - binascii.b2a_hex
    - jupyter_client.session.new_id
    - binascii.b2a_hex.decode
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - change
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 434
    functionName: jupyter_client.session.Session._key_changed
    functionSourceFile: jupyter_client.session
    functionUses: 0
    functionsReached:
    - jupyter_client.session.Session._new_auth
    - hmac.HMAC
    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: 463
    functionName: jupyter_client.session.Session._new_auth
    functionSourceFile: jupyter_client.session
    functionUses: 12
    functionsReached:
    - hmac.HMAC
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - change
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 445
    functionName: jupyter_client.session.Session._signature_scheme_changed
    functionSourceFile: jupyter_client.session
    functionUses: 0
    functionsReached:
    - jupyter_client.session.Session._new_auth
    - new.startswith
    - hmac.HMAC
    - new.split
    - <builtin>.getattr
    linkageType: pythonLinkage
    raised:
    - TraitError
    returnType: N/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.startswith
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: new.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: <builtin>.getattr
    functionSourceFile: <builtin>
    functionUses: 143
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: traitlets.Any
    functionSourceFile: traitlets
    functionUses: 41
    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: jupyter_client.session.Session._digest_mod_default
    functionSourceFile: jupyter_client.session
    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: hmac.HMAC
    functionSourceFile: hmac
    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: traitlets.Set
    functionSourceFile: traitlets
    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
    - change
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 482
    functionName: jupyter_client.session.Session._keyfile_changed
    functionSourceFile: jupyter_client.session
    functionUses: 0
    functionsReached:
    - <builtin>.open
    - f.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: <builtin>.open
    functionSourceFile: <builtin>
    functionUses: 78
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: 16
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - change
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 494
    functionName: jupyter_client.session.Session._pack_changed
    functionSourceFile: jupyter_client.session
    functionUses: 0
    functionsReached:
    - <builtin>.callable
    linkageType: pythonLinkage
    raised:
    - TypeError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.callable
    functionSourceFile: <builtin>
    functionUses: 31
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - change
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 502
    functionName: jupyter_client.session.Session._unpack_changed
    functionSourceFile: jupyter_client.session
    functionUses: 0
    functionsReached:
    - <builtin>.callable
    linkageType: pythonLinkage
    raised:
    - TypeError
    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: 606
    functionName: jupyter_client.session.Session._check_packers
    functionSourceFile: jupyter_client.session
    functionUses: 10
    functionsReached:
    - traitlets.utils.importstring.import_item
    - <builtin>.repr
    - <builtin>.map
    - pickle.loads
    - obj.strftime
    - obj.items
    - <builtin>.len
    - <builtin>.type
    - <builtin>.hasattr
    - <builtin>.float
    - jupyter_client.session.pickle_packer
    - jupyter_client.session.json_unpacker
    - <builtin>.list
    - datetime.datetime.now
    - math.isnan
    - binascii.b2a_base64
    - warnings.warn
    - <builtin>.set
    - jupyter_client.session.Session._check_packers.<lambda2>
    - obj.isoformat
    - <builtin>.str
    - json.dumps
    - jupyter_client.session.utcnow
    - jupyter_client.jsonutil.squash_dates
    - <builtin>.isinstance
    - math.isinf
    - binascii.b2a_base64.decode
    - jupyter_client.session.Session._check_packers.<lambda1>
    - <builtin>.dict
    - traitlets.Any
    - jupyter_client.jsonutil.json_clean
    - s.decode
    - json.loads
    - <builtin>.int
    - pickle.dumps
    - jupyter_client.session.json_packer
    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: 3
    functionLinenumber: -1
    functionName: jupyter_client.session.Session._check_packers.<lambda1>
    functionSourceFile: jupyter_client.session
    functionUses: 13
    functionsReached:
    - traitlets.utils.importstring.import_item
    - <builtin>.repr
    - <builtin>.map
    - obj.strftime
    - obj.items
    - <builtin>.len
    - <builtin>.type
    - <builtin>.hasattr
    - <builtin>.float
    - jupyter_client.session.pickle_packer
    - <builtin>.list
    - math.isnan
    - warnings.warn
    - binascii.b2a_base64
    - <builtin>.set
    - <builtin>.str
    - obj.isoformat
    - json.dumps
    - jupyter_client.jsonutil.squash_dates
    - math.isinf
    - <builtin>.isinstance
    - binascii.b2a_base64.decode
    - jupyter_client.session.Session._check_packers.<lambda1>
    - <builtin>.dict
    - traitlets.Any
    - jupyter_client.jsonutil.json_clean
    - <builtin>.int
    - pickle.dumps
    - jupyter_client.session.json_packer
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.getpid
    functionSourceFile: os
    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: traitlets.log.get_logger
    functionSourceFile: traitlets
    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: traitlets.log.get_logger.warning
    functionSourceFile: traitlets
    functionUses: 12
    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: 580
    functionName: jupyter_client.session.Session.clone
    functionSourceFile: jupyter_client.session
    functionUses: 0
    functionsReached:
    - traitlets.config.configurable.Configurable.traits
    - <builtin>.setattr
    - new_session.digest_history.update
    - <builtin>.set
    - <builtin>.getattr
    - <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: traitlets.config.configurable.Configurable.traits
    functionSourceFile: traitlets
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: 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: new_session.digest_history.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: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 601
    functionName: jupyter_client.session.Session.msg_id
    functionSourceFile: jupyter_client.session
    functionUses: 0
    functionsReached:
    - os.getpid
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: pickle.loads
    functionSourceFile: pickle
    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: 2
    functionLinenumber: -1
    functionName: jupyter_client.session.Session._check_packers.<lambda2>
    functionSourceFile: jupyter_client.session
    functionUses: 15
    functionsReached:
    - traitlets.utils.importstring.import_item
    - json.loads
    - jupyter_client.session.json_unpacker
    - s.decode
    - pickle.loads
    - <builtin>.isinstance
    - jupyter_client.session.Session._check_packers.<lambda2>
    - traitlets.Any
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - msg_type
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 645
    functionName: jupyter_client.session.Session.msg_header
    functionSourceFile: jupyter_client.session
    functionUses: 3
    functionsReached:
    - jupyter_client.session.Session.msg_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: traitlets.Dict.copy
    functionSourceFile: traitlets
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - msg_list
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 675
    functionName: jupyter_client.session.Session.sign
    functionSourceFile: jupyter_client.session
    functionUses: 7
    functionsReached:
    - traitlets.Instance.copy
    - h.update
    - h.hexdigest
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: traitlets.Instance.copy
    functionSourceFile: traitlets
    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: h.update
    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: h.hexdigest
    functionSourceFile: <builtin>
    functionUses: 42
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 9
    ICount: 6
    IfCount: 6
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7fc4ab3a21f0>
    argNames:
    - self
    - msg
    - ident
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 690
    functionName: jupyter_client.session.Session.serialize
    functionSourceFile: jupyter_client.session
    functionUses: 1
    functionsReached:
    - traitlets.utils.importstring.import_item
    - <builtin>.repr
    - <builtin>.map
    - obj.strftime
    - traitlets.Instance.copy
    - obj.items
    - <builtin>.len
    - <builtin>.type
    - <builtin>.hasattr
    - <builtin>.float
    - jupyter_client.session.pickle_packer
    - msg.get
    - <builtin>.list
    - h.hexdigest
    - math.isnan
    - binascii.b2a_base64
    - warnings.warn
    - <builtin>.set
    - jupyter_client.session.Session.sign
    - obj.isoformat
    - <builtin>.str
    - json.dumps
    - jupyter_client.jsonutil.squash_dates
    - <builtin>.isinstance
    - math.isinf
    - binascii.b2a_base64.decode
    - content.encode
    - jupyter_client.session.Session._check_packers.<lambda1>
    - h.update
    - <builtin>.dict
    - traitlets.Any
    - to_send.extend
    - jupyter_client.jsonutil.json_clean
    - <builtin>.int
    - pickle.dumps
    - jupyter_client.session.json_packer
    - to_send.append
    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: msg.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: content.encode
    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: to_send.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: 0
    functionLinenumber: -1
    functionName: to_send.append
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 10
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 15
    ICount: 7
    IfCount: 10
    argCount: 10
    argDefaultValues:
    - <ast.Constant object at 0x7fc4ab3aeac0>
    - <ast.Constant object at 0x7fc4ab3aea90>
    - <ast.Constant object at 0x7fc4ab3aea60>
    - <ast.Constant object at 0x7fc4ab3aea30>
    - <ast.Constant object at 0x7fc4ab3aea00>
    - <ast.Constant object at 0x7fc4ab3ae9d0>
    - <ast.Constant object at 0x7fc4ab3ae9a0>
    argNames:
    - self
    - stream
    - msg_or_type
    - content
    - parent
    - ident
    - buffers
    - track
    - header
    - metadata
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 754
    functionName: jupyter_client.session.Session.send
    functionSourceFile: jupyter_client.session
    functionUses: 0
    functionsReached:
    - traitlets.utils.importstring.import_item
    - jupyter_client.session.Session.msg_header
    - traitlets.log.get_logger.warning
    - <builtin>.repr
    - adapters.get
    - <builtin>.map
    - obj.strftime
    - jupyter_client.session.Session.msg
    - traitlets.Instance.copy
    - obj.items
    - <builtin>.memoryview
    - <builtin>.len
    - <builtin>.hasattr
    - <builtin>.type
    - msg.get
    - jupyter_client.session.pickle_packer
    - <builtin>.float
    - traitlets.log.get_logger
    - jupyter_client.session.Session.serialize
    - <builtin>.list
    - h.hexdigest
    - math.isnan
    - binascii.b2a_base64
    - datetime.datetime.now
    - warnings.warn
    - <builtin>.set
    - jupyter_client.session.Session.sign
    - pprint.pprint
    - obj.isoformat
    - <builtin>.str
    - traitlets.Dict.copy
    - json.dumps
    - jupyter_client.session.utcnow
    - jupyter_client.session.extract_header
    - jupyter_client.jsonutil.squash_dates
    - stream.send_multipart
    - <builtin>.isinstance
    - math.isinf
    - content.encode
    - binascii.b2a_base64.decode
    - <builtin>.enumerate
    - jupyter_client.session.Session._check_packers.<lambda1>
    - h.update
    - <builtin>.dict
    - traitlets.Any
    - <builtin>.max
    - to_send.extend
    - jupyter_client.jsonutil.json_clean
    - <builtin>.int
    - pickle.dumps
    - jupyter_client.session.json_packer
    - jupyter_client.adapter.adapt
    - os.getpid
    - to_send.append
    - zmq.Socket.shadow
    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: zmq.Socket.shadow
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 1
    IfCount: 3
    argCount: 2
    argDefaultValues:
    - <ast.Subscript object at 0x7fc4aafac940>
    argNames:
    - msg
    - to_version
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 393
    functionName: jupyter_client.adapter.adapt
    functionSourceFile: jupyter_client.adapter
    functionUses: 5
    functionsReached:
    - jupyter_client.session.utcnow
    - <builtin>.int
    - datetime.datetime.now
    - adapters.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: stream.send_multipart
    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: pprint.pprint
    functionSourceFile: pprint
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 6
    IfCount: 3
    argCount: 6
    argDefaultValues:
    - <ast.Constant object at 0x7fc4ab3964f0>
    - <ast.Constant object at 0x7fc4ab3964c0>
    - <ast.Constant object at 0x7fc4ab396490>
    argNames:
    - self
    - stream
    - msg_list
    - flags
    - copy
    - ident
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 876
    functionName: jupyter_client.session.Session.send_raw
    functionSourceFile: jupyter_client.session
    functionUses: 0
    functionsReached:
    - to_send.extend
    - h.hexdigest
    - stream.send_multipart
    - traitlets.Instance.copy
    - <builtin>.isinstance
    - to_send.append
    - h.update
    - jupyter_client.session.Session.sign
    - zmq.Socket.shadow
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 1
    IfCount: 3
    argCount: 5
    argDefaultValues:
    - <ast.Attribute object at 0x7fc4ab3bd340>
    - <ast.Constant object at 0x7fc4ab3bd2e0>
    - <ast.Constant object at 0x7fc4ab3bd2b0>
    argNames:
    - self
    - socket
    - mode
    - content
    - copy
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 913
    functionName: jupyter_client.session.Session.recv
    functionSourceFile: jupyter_client.session
    functionUses: 0
    functionsReached:
    - traitlets.utils.importstring.import_item
    - jupyter_client.jsonutil._ensure_tzinfo
    - <builtin>.sorted
    - jupyter_client.jsonutil.parse_date
    - adapters.get
    - dateutil.parser.parse.items
    - hmac.compare_digest
    - pickle.loads
    - traitlets.Instance.copy
    - random.sample
    - <builtin>.memoryview
    - <builtin>.len
    - jupyter_client.jsonutil.extract_dates
    - jupyter_client.session.Session._cull_digest_history
    - traitlets.Set.difference_update
    - jupyter_client.session.json_unpacker
    - traitlets.Set.add
    - h.hexdigest
    - msg_list.index
    - datetime.datetime.now
    - warnings.warn
    - <builtin>.set
    - jupyter_client.session.Session.sign
    - dateutil.parser.parse
    - jupyter_client.session.Session._check_packers.<lambda2>
    - pprint.pprint
    - typing.cast
    - <builtin>.bytes
    - jupyter_client.session.utcnow
    - socket.recv_multipart
    - jupyter_client.session.Session.feed_identities
    - <builtin>.isinstance
    - jupyter_client.session.Session._add_digest
    - <builtin>.enumerate
    - h.update
    - traitlets.Any
    - <builtin>.max
    - s.decode
    - json.loads
    - <builtin>.int
    - ISO8601_PAT.match
    - dateutil.parser.parse.replace
    - <builtin>.tuple
    - jupyter_client.adapter.adapt
    - jupyter_client.session.Session.deserialize
    - zmq.Socket.shadow
    - dateutil.tz.tzlocal
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.recv_multipart
    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 0x7fc4accd9dc0>
    argNames:
    - self
    - msg_list
    - copy
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 956
    functionName: jupyter_client.session.Session.feed_identities
    functionSourceFile: jupyter_client.session
    functionUses: 2
    functionsReached:
    - <builtin>.enumerate
    - <builtin>.bytes
    - msg_list.index
    - typing.cast
    linkageType: pythonLinkage
    raised:
    - ValueError
    returnType: N/A
  - BBCount: 10
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 15
    ICount: 3
    IfCount: 10
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7fc4accda2b0>
    - <ast.Constant object at 0x7fc4accda280>
    argNames:
    - self
    - msg_list
    - content
    - copy
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 1022
    functionName: jupyter_client.session.Session.deserialize
    functionSourceFile: jupyter_client.session
    functionUses: 3
    functionsReached:
    - traitlets.utils.importstring.import_item
    - jupyter_client.jsonutil._ensure_tzinfo
    - <builtin>.sorted
    - jupyter_client.jsonutil.parse_date
    - adapters.get
    - dateutil.parser.parse.items
    - hmac.compare_digest
    - pickle.loads
    - traitlets.Instance.copy
    - random.sample
    - <builtin>.memoryview
    - <builtin>.len
    - jupyter_client.jsonutil.extract_dates
    - jupyter_client.session.Session._cull_digest_history
    - traitlets.Set.difference_update
    - jupyter_client.session.json_unpacker
    - traitlets.Set.add
    - h.hexdigest
    - datetime.datetime.now
    - warnings.warn
    - <builtin>.set
    - jupyter_client.session.Session.sign
    - dateutil.parser.parse
    - jupyter_client.session.Session._check_packers.<lambda2>
    - pprint.pprint
    - typing.cast
    - <builtin>.bytes
    - jupyter_client.session.utcnow
    - <builtin>.isinstance
    - jupyter_client.session.Session._add_digest
    - h.update
    - traitlets.Any
    - <builtin>.max
    - s.decode
    - json.loads
    - <builtin>.int
    - ISO8601_PAT.match
    - dateutil.parser.parse.replace
    - <builtin>.tuple
    - jupyter_client.adapter.adapt
    - dateutil.tz.tzlocal
    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: typing.cast
    functionSourceFile: typing
    functionUses: 114
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/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_list.index
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.bytes
    functionSourceFile: <builtin>
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - signature
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 998
    functionName: jupyter_client.session.Session._add_digest
    functionSourceFile: jupyter_client.session
    functionUses: 4
    functionsReached:
    - <builtin>.max
    - jupyter_client.session.Session._cull_digest_history
    - traitlets.Set.difference_update
    - <builtin>.sorted
    - traitlets.Set.add
    - <builtin>.int
    - <builtin>.tuple
    - <builtin>.set
    - random.sample
    - <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: traitlets.Set.add
    functionSourceFile: traitlets
    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: 1
    functionLinenumber: 1009
    functionName: jupyter_client.session.Session._cull_digest_history
    functionSourceFile: jupyter_client.session
    functionUses: 5
    functionsReached:
    - <builtin>.max
    - <builtin>.len
    - traitlets.Set.difference_update
    - <builtin>.sorted
    - <builtin>.int
    - <builtin>.tuple
    - random.sample
    - <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: <builtin>.sorted
    functionSourceFile: <builtin>
    functionUses: 40
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: 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: random.sample
    functionSourceFile: random
    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: traitlets.Set.difference_update
    functionSourceFile: traitlets
    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: hmac.compare_digest
    functionSourceFile: hmac
    functionUses: 4
    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: 5
    functionLinenumber: 1099
    functionName: jupyter_client.session.Session.unserialize
    functionSourceFile: jupyter_client.session
    functionUses: 0
    functionsReached:
    - traitlets.utils.importstring.import_item
    - jupyter_client.jsonutil._ensure_tzinfo
    - <builtin>.sorted
    - jupyter_client.jsonutil.parse_date
    - adapters.get
    - dateutil.parser.parse.items
    - hmac.compare_digest
    - pickle.loads
    - traitlets.Instance.copy
    - random.sample
    - <builtin>.memoryview
    - <builtin>.len
    - jupyter_client.jsonutil.extract_dates
    - jupyter_client.session.Session._cull_digest_history
    - traitlets.Set.difference_update
    - jupyter_client.session.json_unpacker
    - traitlets.Set.add
    - h.hexdigest
    - datetime.datetime.now
    - warnings.warn
    - <builtin>.set
    - jupyter_client.session.Session.sign
    - dateutil.parser.parse
    - jupyter_client.session.Session._check_packers.<lambda2>
    - pprint.pprint
    - <builtin>.bytes
    - typing.cast
    - jupyter_client.session.utcnow
    - <builtin>.isinstance
    - jupyter_client.session.Session._add_digest
    - h.update
    - traitlets.Any
    - <builtin>.max
    - s.decode
    - json.loads
    - <builtin>.int
    - ISO8601_PAT.match
    - dateutil.parser.parse.replace
    - <builtin>.tuple
    - jupyter_client.adapter.adapt
    - jupyter_client.session.Session.deserialize
    - dateutil.tz.tzlocal
    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: jupyter_client._version
    functionSourceFile: jupyter_client._version
    functionUses: 0
    functionsReached:
    - <builtin>.tuple
    - parts.append
    - <builtin>.int
    - re.match
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: parts.append
    functionSourceFile: <builtin>
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: jupyter_client.adapter
    functionSourceFile: jupyter_client.adapter
    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:
    - code
    - cursor_pos
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 11
    functionName: jupyter_client.adapter.code_to_line
    functionSourceFile: jupyter_client.adapter
    functionUses: 3
    functionsReached:
    - <builtin>.len
    - code.splitlines
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.splitlines
    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:
    - code
    - cursor_pos
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 33
    functionName: jupyter_client.adapter.extract_oname_v4
    functionSourceFile: jupyter_client.adapter
    functionUses: 1
    functionsReached:
    - _identifier.findall
    - _end_bracket.sub
    - _match_bracket.sub
    - jupyter_client.adapter.code_to_line
    - <builtin>.len
    - code.splitlines
    linkageType: pythonLinkage
    raised: []
    returnType: N/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_bracket.sub
    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_bracket.sub
    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: _identifier.findall
    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
    - msg
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 64
    functionName: jupyter_client.adapter.Adapter.update_header
    functionSourceFile: jupyter_client.adapter
    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
    - msg
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 68
    functionName: jupyter_client.adapter.Adapter.update_metadata
    functionSourceFile: jupyter_client.adapter
    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
    - msg
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 72
    functionName: jupyter_client.adapter.Adapter.update_msg_type
    functionSourceFile: jupyter_client.adapter
    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
    - msg
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 80
    functionName: jupyter_client.adapter.Adapter.handle_reply_status_error
    functionSourceFile: jupyter_client.adapter
    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
    - msg
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 87
    functionName: jupyter_client.adapter.Adapter.__call__
    functionSourceFile: jupyter_client.adapter
    functionUses: 0
    functionsReached:
    - jupyter_client.adapter.Adapter.update_header
    - jupyter_client.adapter.Adapter.handle_reply_status_error
    - jupyter_client.adapter.V5toV4.update_header
    - jupyter_client.adapter.V4toV5.update_header
    - jupyter_client.adapter.Adapter.update_metadata
    - <builtin>.getattr
    - jupyter_client.adapter.Adapter.update_msg_type
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 3
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - msg
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 130
    functionName: jupyter_client.adapter.V5toV4.update_header
    functionSourceFile: ''
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - msg
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 246
    functionName: jupyter_client.adapter.V4toV5.update_header
    functionSourceFile: ''
    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:
    - version
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 103
    functionName: jupyter_client.adapter._version_str_to_list
    functionSourceFile: jupyter_client.adapter
    functionUses: 1
    functionsReached:
    - <builtin>.int
    - version.split
    - v.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: version.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: v.append
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 3
    IfCount: 3
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - msg
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 138
    functionName: jupyter_client.adapter.V5toV4.kernel_info_reply
    functionSourceFile: jupyter_client.adapter
    functionUses: 0
    functionsReached:
    - content.get
    - <builtin>.int
    - version.split
    - v.append
    - language_info.get
    - v4c.setdefault
    - jupyter_client.adapter._version_str_to_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: content.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: language_info.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: v4c.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
    - msg
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 155
    functionName: jupyter_client.adapter.V5toV4.execute_request
    functionSourceFile: jupyter_client.adapter
    functionUses: 0
    functionsReached:
    - content.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: content.setdefault
    functionSourceFile: <builtin>
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - msg
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 161
    functionName: jupyter_client.adapter.V5toV4.execute_reply
    functionSourceFile: jupyter_client.adapter
    functionUses: 0
    functionsReached:
    - content.setdefault
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - msg
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 168
    functionName: jupyter_client.adapter.V5toV4.complete_request
    functionSourceFile: jupyter_client.adapter
    functionUses: 0
    functionsReached:
    - <builtin>.len
    - code.splitlines
    - jupyter_client.adapter.code_to_line
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - msg
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 182
    functionName: jupyter_client.adapter.V5toV4.complete_reply
    functionSourceFile: jupyter_client.adapter
    functionUses: 0
    functionsReached:
    - content.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: content.pop
    functionSourceFile: <builtin>
    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
    - msg
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 192
    functionName: jupyter_client.adapter.V5toV4.object_info_request
    functionSourceFile: jupyter_client.adapter
    functionUses: 0
    functionsReached:
    - _identifier.findall
    - _end_bracket.sub
    - jupyter_client.adapter.extract_oname_v4
    - _match_bracket.sub
    - jupyter_client.adapter.code_to_line
    - <builtin>.len
    - code.splitlines
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - msg
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 204
    functionName: jupyter_client.adapter.V5toV4.object_info_reply
    functionSourceFile: jupyter_client.adapter
    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
    - msg
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 211
    functionName: jupyter_client.adapter.V5toV4.stream
    functionSourceFile: jupyter_client.adapter
    functionUses: 0
    functionsReached:
    - content.pop
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - msg
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 217
    functionName: jupyter_client.adapter.V5toV4.display_data
    functionSourceFile: jupyter_client.adapter
    functionUses: 0
    functionsReached:
    - content.setdefault
    - json.dumps
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - msg
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 232
    functionName: jupyter_client.adapter.V5toV4.input_request
    functionSourceFile: jupyter_client.adapter
    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: V5toV4.msg_type_map.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: 1
    functionLinenumber: -1
    functionName: jupyter_client.adapter.V4toV5
    functionSourceFile: jupyter_client.adapter
    functionUses: 0
    functionsReached:
    - V5toV4.msg_type_map.items
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 4
    IfCount: 3
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - msg
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 255
    functionName: jupyter_client.adapter.V4toV5.kernel_info_reply
    functionSourceFile: jupyter_client.adapter
    functionUses: 0
    functionsReached:
    - <builtin>.map
    - content.pop
    - content.setdefault
    - language_info.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: language_info.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
    - msg
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 278
    functionName: jupyter_client.adapter.V4toV5.execute_request
    functionSourceFile: jupyter_client.adapter
    functionUses: 0
    functionsReached:
    - content.pop
    - content.setdefault
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 2
    IfCount: 3
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - msg
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 287
    functionName: jupyter_client.adapter.V4toV5.execute_reply
    functionSourceFile: jupyter_client.adapter
    functionUses: 0
    functionsReached:
    - content.get
    - payload.pop
    - content.pop
    - payload.get
    - content.setdefault
    - user_expressions.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: user_expressions.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: payload.get
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: payload.pop
    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
    - msg
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 304
    functionName: jupyter_client.adapter.V4toV5.complete_request
    functionSourceFile: jupyter_client.adapter
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - msg
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 313
    functionName: jupyter_client.adapter.V4toV5.complete_reply
    functionSourceFile: jupyter_client.adapter
    functionUses: 0
    functionsReached:
    - <builtin>.len
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - msg
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 331
    functionName: jupyter_client.adapter.V4toV5.inspect_request
    functionSourceFile: jupyter_client.adapter
    functionUses: 0
    functionsReached:
    - <builtin>.len
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 4
    IfCount: 4
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - msg
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 342
    functionName: jupyter_client.adapter.V4toV5.inspect_reply
    functionSourceFile: jupyter_client.adapter
    functionUses: 0
    functionsReached:
    - content.get
    - lines.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: lines.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
    - msg
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 366
    functionName: jupyter_client.adapter.V4toV5.stream
    functionSourceFile: jupyter_client.adapter
    functionUses: 0
    functionsReached:
    - content.pop
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - msg
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 372
    functionName: jupyter_client.adapter.V4toV5.display_data
    functionSourceFile: jupyter_client.adapter
    functionUses: 0
    functionsReached:
    - json.loads
    - content.pop
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - msg
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 387
    functionName: jupyter_client.adapter.V4toV5.input_request
    functionSourceFile: jupyter_client.adapter
    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: adapters.get
    functionSourceFile: <builtin>
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: jupyter_server.services.kernels.connection
    functionSourceFile: jupyter_server.services.kernels.connection
    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: jupyter_server.services.kernels
    functionSourceFile: jupyter_server.services.kernels
    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: jupyter_server.services
    functionSourceFile: jupyter_server.services
    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: jupyter_server.base
    functionSourceFile: jupyter_server.base
    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: -1
    functionName: jupyter_server
    functionSourceFile: jupyter_server
    functionUses: 0
    functionsReached:
    - os.path.join
    - pathlib.Path
    - 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: os.path.dirname
    functionSourceFile: os
    functionUses: 52
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: 13
    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: jupyter_server._version
    functionSourceFile: jupyter_server._version
    functionUses: 0
    functionsReached:
    - <builtin>.tuple
    - parts.append
    - <builtin>.int
    - re.match
    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: jupyter_server.base.call_context
    functionSourceFile: jupyter_server.base.call_context
    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: contextvars.ContextVar
    functionSourceFile: contextvars
    functionUses: 1
    functionsReached: []
    linkageType: 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: jupyter_server.base.call_context.CallContext
    functionSourceFile: jupyter_server.base.call_context
    functionUses: 0
    functionsReached:
    - contextvars.ContextVar
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - cls
    - name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 28
    functionName: jupyter_server.base.call_context.CallContext.get
    functionSourceFile: jupyter_server.base.call_context
    functionUses: 0
    functionsReached:
    - jupyter_server.base.call_context.CallContext._get_map
    - CallContext._name_value_map.get
    - contextvars.copy_context
    - CallContext._name_value_map.set
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - cls
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 80
    functionName: jupyter_server.base.call_context.CallContext._get_map
    functionSourceFile: jupyter_server.base.call_context
    functionUses: 4
    functionsReached:
    - CallContext._name_value_map.get
    - contextvars.copy_context
    - CallContext._name_value_map.set
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - cls
    - name
    - value
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 50
    functionName: jupyter_server.base.call_context.CallContext.set
    functionSourceFile: jupyter_server.base.call_context
    functionUses: 1
    functionsReached:
    - jupyter_server.base.call_context.CallContext._get_map
    - CallContext._name_value_map.get
    - contextvars.copy_context
    - CallContext._name_value_map.set
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - cls
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 68
    functionName: jupyter_server.base.call_context.CallContext.context_variable_names
    functionSourceFile: jupyter_server.base.call_context
    functionUses: 0
    functionsReached:
    - contextvars.copy_context
    - <builtin>.list
    - jupyter_server.base.call_context.CallContext._get_map
    - CallContext._name_value_map.set
    - name_value_map.keys
    - CallContext._name_value_map.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: name_value_map.keys
    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: contextvars.copy_context
    functionSourceFile: contextvars
    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: CallContext._name_value_map.set
    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: CallContext._name_value_map.get
    functionSourceFile: <builtin>
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: jupyter_client
    functionSourceFile: jupyter_client
    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: jupyter_client.multikernelmanager
    functionSourceFile: jupyter_client.multikernelmanager
    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: 30
    functionName: jupyter_client.multikernelmanager.kernel_method
    functionSourceFile: jupyter_client.multikernelmanager
    functionUses: 1
    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: functools.wraps
    functionSourceFile: functools
    functionUses: 34
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - kernel_id
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 34
    functionName: jupyter_client.multikernelmanager.kernel_method.wrapped
    functionSourceFile: jupyter_client.multikernelmanager
    functionUses: 0
    functionsReached:
    - jupyter_client.multikernelmanager.MultiKernelManager.connect_control
    - jupyter_client.multikernelmanager.MultiKernelManager.remove_restart_callback
    - jupyter_client.multikernelmanager.MultiKernelManager.finish_shutdown
    - jupyter_client.multikernelmanager.MultiKernelManager.signal_kernel
    - jupyter_client.multikernelmanager.MultiKernelManager.get_connection_info
    - jupyter_client.multikernelmanager.MultiKernelManager.connect_stdin
    - jupyter_client.multikernelmanager.MultiKernelManager.request_shutdown
    - jupyter_client.multikernelmanager.MultiKernelManager.add_restart_callback
    - jupyter_client.multikernelmanager.MultiKernelManager.cleanup_resources
    - jupyter_client.multikernelmanager.MultiKernelManager.connect_iopub
    - jupyter_client.multikernelmanager.MultiKernelManager.connect_hb
    - <builtin>.getattr
    - jupyter_client.multikernelmanager.MultiKernelManager.connect_shell
    - jupyter_client.multikernelmanager.MultiKernelManager.is_alive
    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 0x7fc4ad1fdeb0>
    argNames:
    - self
    - kernel_id
    - identity
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 536
    functionName: jupyter_client.multikernelmanager.MultiKernelManager.connect_control
    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 0x7fc4ad203a90>
    argNames:
    - self
    - kernel_id
    - callback
    - event
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 476
    functionName: jupyter_client.multikernelmanager.MultiKernelManager.remove_restart_callback
    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
    - kernel_id
    - signum
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 401
    functionName: jupyter_client.multikernelmanager.MultiKernelManager.signal_kernel
    functionSourceFile: ''
    functionUses: 1
    functionsReached: []
    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 0x7fc4ab6ff9d0>
    - <ast.Constant object at 0x7fc4ab6ffd30>
    argNames:
    - self
    - kernel_id
    - waittime
    - pollinterval
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 341
    functionName: jupyter_client.multikernelmanager.MultiKernelManager.finish_shutdown
    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 0x7fc4ad2031f0>
    argNames:
    - self
    - kernel_id
    - identity
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 518
    functionName: jupyter_client.multikernelmanager.MultiKernelManager.connect_shell
    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
    - kernel_id
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 482
    functionName: jupyter_client.multikernelmanager.MultiKernelManager.get_connection_info
    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 0x7fc4ab6ff1c0>
    argNames:
    - self
    - kernel_id
    - restart
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 337
    functionName: jupyter_client.multikernelmanager.MultiKernelManager.request_shutdown
    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 0x7fc4ad203d90>
    argNames:
    - self
    - kernel_id
    - callback
    - event
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 470
    functionName: jupyter_client.multikernelmanager.MultiKernelManager.add_restart_callback
    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:
    - <ast.Constant object at 0x7fc4ad2119d0>
    argNames:
    - self
    - kernel_id
    - restart
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 351
    functionName: jupyter_client.multikernelmanager.MultiKernelManager.cleanup_resources
    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 0x7fc4ad2034f0>
    argNames:
    - self
    - kernel_id
    - identity
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 500
    functionName: jupyter_client.multikernelmanager.MultiKernelManager.connect_iopub
    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 0x7fc4ad1fd8b0>
    argNames:
    - self
    - kernel_id
    - identity
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 572
    functionName: jupyter_client.multikernelmanager.MultiKernelManager.connect_hb
    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 0x7fc4ad1fdbb0>
    argNames:
    - self
    - kernel_id
    - identity
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 554
    functionName: jupyter_client.multikernelmanager.MultiKernelManager.connect_stdin
    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
    - kernel_id
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 441
    functionName: jupyter_client.multikernelmanager.MultiKernelManager.is_alive
    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: 2
    functionLinenumber: -1
    functionName: jupyter_client.multikernelmanager.MultiKernelManager
    functionSourceFile: jupyter_client.multikernelmanager
    functionUses: 0
    functionsReached:
    - traitlets.Unicode.tag
    - traitlets.DottedObjectName
    - traitlets.Bool.tag
    - traitlets.DottedObjectName.tag
    - functools.wraps
    - traitlets.Instance
    - traitlets.Unicode
    - traitlets.observe
    - jupyter_client.multikernelmanager.kernel_method
    - traitlets.default
    - traitlets.Bool
    - traitlets.Dict
    - jupyter_core.utils.run_sync
    - traitlets.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: traitlets.Unicode.tag
    functionSourceFile: traitlets
    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: traitlets.DottedObjectName.tag
    functionSourceFile: traitlets
    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
    - change
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 68
    functionName: jupyter_client.multikernelmanager.MultiKernelManager._kernel_manager_class_changed
    functionSourceFile: jupyter_client.multikernelmanager
    functionUses: 0
    functionsReached:
    - traitlets.utils.importstring.import_item
    - jupyter_client.multikernelmanager.MultiKernelManager._create_kernel_manager_factory
    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: 77
    functionName: jupyter_client.multikernelmanager.MultiKernelManager._create_kernel_manager_factory
    functionSourceFile: jupyter_client.multikernelmanager
    functionUses: 2
    functionsReached:
    - traitlets.utils.importstring.import_item
    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: 74
    functionName: jupyter_client.multikernelmanager.MultiKernelManager._kernel_manager_factory_default
    functionSourceFile: jupyter_client.multikernelmanager
    functionUses: 0
    functionsReached:
    - traitlets.utils.importstring.import_item
    - jupyter_client.multikernelmanager.MultiKernelManager._create_kernel_manager_factory
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 80
    functionName: jupyter_client.multikernelmanager.MultiKernelManager._create_kernel_manager_factory.create_kernel_manager
    functionSourceFile: jupyter_client.multikernelmanager
    functionUses: 8
    functionsReached:
    - traitlets.utils.importstring.import_item
    - jupyter_client.multikernelmanager.MultiKernelManager._context_default
    - zmq.Context
    - kwargs.setdefault
    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: 108
    functionName: jupyter_client.multikernelmanager.MultiKernelManager._context_default
    functionSourceFile: jupyter_client.multikernelmanager
    functionUses: 9
    functionsReached:
    - zmq.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: kwargs.setdefault
    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: traitlets.Bool.tag
    functionSourceFile: traitlets
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 103
    functionName: jupyter_client.multikernelmanager.MultiKernelManager._starting_kernels
    functionSourceFile: jupyter_client.multikernelmanager
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 117
    functionName: jupyter_client.multikernelmanager.MultiKernelManager.__init__
    functionSourceFile: jupyter_client.multikernelmanager
    functionUses: 2
    functionsReached:
    - <builtin>.super
    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: 1
    functionLinenumber: 121
    functionName: jupyter_client.multikernelmanager.MultiKernelManager.__del__
    functionSourceFile: jupyter_client.multikernelmanager
    functionUses: 0
    functionsReached:
    - <builtin>.super
    - traitlets.Instance.destroy
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: traitlets.Instance.destroy
    functionSourceFile: traitlets
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 4
    IfCount: 5
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 134
    functionName: jupyter_client.multikernelmanager.MultiKernelManager.list_kernel_ids
    functionSourceFile: jupyter_client.multikernelmanager
    functionUses: 3
    functionsReached:
    - traitlets.utils.importstring.import_item
    - v.index
    - zmq.Context
    - kwargs.setdefault
    - pathlib.Path.is_dir
    - pathlib.Path
    - <builtin>.list
    - jupyter_client.multikernelmanager.MultiKernelManager.new_kernel_id
    - connection_file.read_text
    - datetime.datetime.now
    - <builtin>.str
    - traitlets.Dict.keys
    - km.ready.set_result
    - jupyter_client.multikernelmanager.MultiKernelManager._create_kernel_manager_factory.create_kernel_manager
    - jupyter_client.session.utcnow
    - km.load_connection_info
    - traitlets.config.configurable.LoggingConfigurable.kernel_id_to_connection_file.keys
    - traitlets.Any
    - uuid.uuid4
    - json.loads
    - traitlets.config.configurable.LoggingConfigurable.kernel_id_to_connection_file.values
    - pathlib.Path.iterdir
    - p.is_file
    - jupyter_client.multikernelmanager.MultiKernelManager._context_default
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.is_dir
    functionSourceFile: pathlib
    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: pathlib.Path.iterdir
    functionSourceFile: pathlib
    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: p.is_file
    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: traitlets.config.configurable.LoggingConfigurable.kernel_id_to_connection_file.keys
    functionSourceFile: traitlets
    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: traitlets.config.configurable.LoggingConfigurable.kernel_id_to_connection_file.values
    functionSourceFile: traitlets
    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: v.index
    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: connection_file.read_text
    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
    - kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 589
    functionName: jupyter_client.multikernelmanager.MultiKernelManager.new_kernel_id
    functionSourceFile: jupyter_client.multikernelmanager
    functionUses: 7
    functionsReached:
    - uuid.uuid4
    - <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: km.load_connection_info
    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: km.ready.set_result
    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: traitlets.Dict.keys
    functionSourceFile: traitlets
    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:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 185
    functionName: jupyter_client.multikernelmanager.MultiKernelManager.__len__
    functionSourceFile: jupyter_client.multikernelmanager
    functionUses: 0
    functionsReached:
    - traitlets.utils.importstring.import_item
    - v.index
    - zmq.Context
    - kwargs.setdefault
    - pathlib.Path.is_dir
    - pathlib.Path
    - jupyter_client.multikernelmanager.MultiKernelManager.list_kernel_ids
    - <builtin>.len
    - <builtin>.list
    - jupyter_client.multikernelmanager.MultiKernelManager.new_kernel_id
    - connection_file.read_text
    - datetime.datetime.now
    - <builtin>.str
    - traitlets.Dict.keys
    - km.ready.set_result
    - jupyter_client.multikernelmanager.MultiKernelManager._create_kernel_manager_factory.create_kernel_manager
    - jupyter_client.session.utcnow
    - km.load_connection_info
    - traitlets.config.configurable.LoggingConfigurable.kernel_id_to_connection_file.keys
    - traitlets.Any
    - uuid.uuid4
    - json.loads
    - traitlets.config.configurable.LoggingConfigurable.kernel_id_to_connection_file.values
    - pathlib.Path.iterdir
    - p.is_file
    - jupyter_client.multikernelmanager.MultiKernelManager._context_default
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - kernel_id
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 189
    functionName: jupyter_client.multikernelmanager.MultiKernelManager.__contains__
    functionSourceFile: jupyter_client.multikernelmanager
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 0
    IfCount: 3
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - kernel_name
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 192
    functionName: jupyter_client.multikernelmanager.MultiKernelManager.pre_start_kernel
    functionSourceFile: jupyter_client.multikernelmanager
    functionUses: 2
    functionsReached:
    - traitlets.utils.importstring.import_item
    - <builtin>.str
    - uuid.uuid4
    - os.path.join
    - zmq.Context
    - kwargs.setdefault
    - jupyter_client.multikernelmanager.MultiKernelManager._create_kernel_manager_factory.create_kernel_manager
    - jupyter_client.multikernelmanager.MultiKernelManager.new_kernel_id
    - kwargs.pop
    - jupyter_client.multikernelmanager.MultiKernelManager._context_default
    - traitlets.Any
    linkageType: pythonLinkage
    raised:
    - DuplicateKernelError
    returnType: N/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: 49
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - kernel_id
    - env
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 217
    functionName: jupyter_client.multikernelmanager.MultiKernelManager.update_env
    functionSourceFile: jupyter_client.multikernelmanager
    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
    - kernel_id
    - km
    - kernel_awaitable
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 228
    functionName: jupyter_client.multikernelmanager.MultiKernelManager._add_kernel_when_ready
    functionSourceFile: jupyter_client.multikernelmanager
    functionUses: 2
    functionsReached:
    - traitlets.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: traitlets.Dict.pop
    functionSourceFile: traitlets
    functionUses: 18
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 4
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - kernel_id
    - kernel_awaitable
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 238
    functionName: jupyter_client.multikernelmanager.MultiKernelManager._remove_kernel_when_ready
    functionSourceFile: jupyter_client.multikernelmanager
    functionUses: 5
    functionsReached:
    - traitlets.Dict.pop
    - jupyter_client.multikernelmanager.MultiKernelManager.remove_kernel
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - kernel_id
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 354
    functionName: jupyter_client.multikernelmanager.MultiKernelManager.remove_kernel
    functionSourceFile: jupyter_client.multikernelmanager
    functionUses: 8
    functionsReached:
    - traitlets.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: 248
    functionName: jupyter_client.multikernelmanager.MultiKernelManager._using_pending_kernels
    functionSourceFile: jupyter_client.multikernelmanager
    functionUses: 9
    functionsReached:
    - <builtin>.getattr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 3
    IfCount: 3
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - kernel_name
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 254
    functionName: jupyter_client.multikernelmanager.MultiKernelManager._async_start_kernel
    functionSourceFile: jupyter_client.multikernelmanager
    functionUses: 1
    functionsReached:
    - traitlets.utils.importstring.import_item
    - zmq.Context
    - kwargs.setdefault
    - jupyter_core.utils.ensure_async
    - kwargs.pop
    - jupyter_client.multikernelmanager.MultiKernelManager.new_kernel_id
    - km.start_kernel
    - <builtin>.getattr
    - <builtin>.str
    - os.path.join
    - jupyter_client.multikernelmanager.MultiKernelManager._create_kernel_manager_factory.create_kernel_manager
    - km.ready.exception
    - <builtin>.isinstance
    - asyncio.create_task
    - traitlets.Any
    - uuid.uuid4
    - jupyter_client.multikernelmanager.MultiKernelManager._add_kernel_when_ready
    - jupyter_client.multikernelmanager.MultiKernelManager.pre_start_kernel
    - jupyter_client.multikernelmanager.MultiKernelManager._using_pending_kernels
    - traitlets.Dict.pop
    - jupyter_client.multikernelmanager.MultiKernelManager._context_default
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: km.start_kernel
    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: jupyter_core.utils.ensure_async
    functionSourceFile: jupyter_core
    functionUses: 82
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: asyncio.create_task
    functionSourceFile: asyncio
    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: km.ready.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: jupyter_core.utils.run_sync
    functionSourceFile: jupyter_core
    functionUses: 9
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 7
    IfCount: 4
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7fc4ac87be50>
    - <ast.Constant object at 0x7fc4ac87bd90>
    argNames:
    - self
    - kernel_id
    - now
    - restart
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 289
    functionName: jupyter_client.multikernelmanager.MultiKernelManager._async_shutdown_kernel
    functionSourceFile: jupyter_client.multikernelmanager
    functionUses: 4
    functionsReached:
    - jupyter_client.multikernelmanager.MultiKernelManager.get_kernel
    - traitlets.config.LoggingConfigurable.ready.exception
    - jupyter_client.multikernelmanager.MultiKernelManager.remove_kernel
    - jupyter_client.multikernelmanager.MultiKernelManager._remove_kernel_when_ready
    - typing.cast
    - jupyter_client.multikernelmanager.MultiKernelManager._check_kernel_id
    - jupyter_core.utils.ensure_async
    - asyncio.ensure_future
    - traitlets.config.LoggingConfigurable.shutdown_kernel
    - traitlets.Dict.pop
    - jupyter_client.multikernelmanager.MultiKernelManager._using_pending_kernels
    - traitlets.config.LoggingConfigurable.ready.cancelled
    - <builtin>.getattr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - kernel_id
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 458
    functionName: jupyter_client.multikernelmanager.MultiKernelManager.get_kernel
    functionSourceFile: jupyter_client.multikernelmanager
    functionUses: 17
    functionsReached:
    - jupyter_client.multikernelmanager.MultiKernelManager._check_kernel_id
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: traitlets.config.LoggingConfigurable.ready.cancelled
    functionSourceFile: traitlets
    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: traitlets.config.LoggingConfigurable.ready.exception
    functionSourceFile: traitlets
    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: traitlets.config.LoggingConfigurable.shutdown_kernel
    functionSourceFile: traitlets
    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: asyncio.ensure_future
    functionSourceFile: asyncio
    functionUses: 11
    functionsReached: []
    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 0x7fc4ad211f10>
    argNames:
    - self
    - now
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 364
    functionName: jupyter_client.multikernelmanager.MultiKernelManager._async_shutdown_all
    functionSourceFile: jupyter_client.multikernelmanager
    functionUses: 0
    functionsReached:
    - traitlets.utils.importstring.import_item
    - jupyter_client.multikernelmanager.MultiKernelManager.get_kernel
    - v.index
    - zmq.Context
    - kwargs.setdefault
    - pathlib.Path.is_dir
    - pathlib.Path
    - jupyter_core.utils.ensure_async
    - jupyter_client.multikernelmanager.MultiKernelManager.list_kernel_ids
    - asyncio.gather
    - jupyter_client.multikernelmanager.MultiKernelManager.remove_kernel
    - <builtin>.list
    - jupyter_client.multikernelmanager.MultiKernelManager.new_kernel_id
    - connection_file.read_text
    - traitlets.config.LoggingConfigurable.shutdown_kernel
    - datetime.datetime.now
    - <builtin>.set
    - <builtin>.getattr
    - <builtin>.str
    - traitlets.Dict.keys
    - km.ready.set_result
    - traitlets.config.LoggingConfigurable.ready.exception
    - typing.cast
    - jupyter_client.multikernelmanager.MultiKernelManager._remove_kernel_when_ready
    - jupyter_client.session.utcnow
    - jupyter_client.multikernelmanager.MultiKernelManager._create_kernel_manager_factory.create_kernel_manager
    - km.load_connection_info
    - asyncio.ensure_future
    - traitlets.config.configurable.LoggingConfigurable.kernel_id_to_connection_file.keys
    - traitlets.Any
    - uuid.uuid4
    - json.loads
    - traitlets.config.configurable.LoggingConfigurable.kernel_id_to_connection_file.values
    - pathlib.Path.iterdir
    - jupyter_client.multikernelmanager.MultiKernelManager._check_kernel_id
    - traitlets.Dict.values
    - jupyter_client.multikernelmanager.MultiKernelManager._using_pending_kernels
    - traitlets.Dict.pop
    - traitlets.config.LoggingConfigurable.ready.cancelled
    - p.is_file
    - jupyter_client.multikernelmanager.MultiKernelManager._context_default
    - jupyter_client.multikernelmanager.MultiKernelManager._async_shutdown_kernel
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: traitlets.Dict.values
    functionSourceFile: traitlets
    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: asyncio.gather
    functionSourceFile: asyncio
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - kernel_id
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 384
    functionName: jupyter_client.multikernelmanager.MultiKernelManager.interrupt_kernel
    functionSourceFile: jupyter_client.multikernelmanager
    functionUses: 0
    functionsReached:
    - jupyter_client.multikernelmanager.MultiKernelManager.get_kernel
    - traitlets.config.LoggingConfigurable.interrupt_kernel
    - traitlets.config.LoggingConfigurable.ready.done
    - jupyter_client.multikernelmanager.MultiKernelManager._check_kernel_id
    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: traitlets.config.LoggingConfigurable.ready.done
    functionSourceFile: traitlets
    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: traitlets.config.LoggingConfigurable.interrupt_kernel
    functionSourceFile: traitlets
    functionUses: 2
    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 0x7fc4ad20f340>
    argNames:
    - self
    - kernel_id
    - now
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 416
    functionName: jupyter_client.multikernelmanager.MultiKernelManager._async_restart_kernel
    functionSourceFile: jupyter_client.multikernelmanager
    functionUses: 1
    functionsReached:
    - jupyter_client.multikernelmanager.MultiKernelManager.get_kernel
    - jupyter_client.multikernelmanager.MultiKernelManager._check_kernel_id
    - jupyter_core.utils.ensure_async
    - traitlets.config.LoggingConfigurable.restart_kernel
    - jupyter_client.multikernelmanager.MultiKernelManager._using_pending_kernels
    - <builtin>.getattr
    - traitlets.config.LoggingConfigurable.ready.done
    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: traitlets.config.LoggingConfigurable.restart_kernel
    functionSourceFile: traitlets
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - kernel_id
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 453
    functionName: jupyter_client.multikernelmanager.MultiKernelManager._check_kernel_id
    functionSourceFile: jupyter_client.multikernelmanager
    functionUses: 18
    functionsReached: []
    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: uuid.uuid4
    functionSourceFile: uuid
    functionUses: 25
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: jupyter_client.multikernelmanager.AsyncMultiKernelManager
    functionSourceFile: jupyter_client.multikernelmanager
    functionUses: 0
    functionsReached:
    - traitlets.DottedObjectName
    - traitlets.Bool.tag
    - traitlets.Instance
    - traitlets.default
    - traitlets.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: 617
    functionName: jupyter_client.multikernelmanager.AsyncMultiKernelManager._context_default
    functionSourceFile: jupyter_client.multikernelmanager
    functionUses: 0
    functionsReached:
    - zmq.asyncio.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: zmq.asyncio.Context
    functionSourceFile: zmq
    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: jupyter_client.asynchronous
    functionSourceFile: jupyter_client.asynchronous
    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: jupyter_client.asynchronous.client
    functionSourceFile: jupyter_client.asynchronous.client
    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:
    - meth
    - channel
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 15
    functionName: jupyter_client.asynchronous.client.wrapped
    functionSourceFile: jupyter_client.asynchronous.client
    functionUses: 7
    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: 3
    functionLinenumber: 18
    functionName: jupyter_client.asynchronous.client.wrapped._
    functionSourceFile: jupyter_client.asynchronous.client
    functionUses: 0
    functionsReached:
    - jupyter_client.client.KernelClient.history
    - jupyter_client.client.KernelClient.complete
    - jupyter_client.client.KernelClient.kernel_info
    - kwargs.setdefault
    - jupyter_client.client.validate_string_dict
    - jupyter_client.client.KernelClient.inspect
    - jupyter_client.client.KernelClient.comm_info
    - jupyter_client.client.KernelClient.shutdown
    - jupyter_client.client.KernelClient.is_complete
    - jupyter_client.client.KernelClient.execute
    - <builtin>.isinstance
    - kwargs.pop
    - dct.items
    - <builtin>.len
    - jupyter_client.blocking.client.wrapped
    - jupyter_client.asynchronous.client.wrapped
    - <builtin>.dict
    - traitlets.Instance.msg
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 4
    IfCount: 1
    argCount: 5
    argDefaultValues:
    - <ast.Constant object at 0x7fc4acc6ee80>
    - <ast.Constant object at 0x7fc4acc6ee50>
    - <ast.Constant object at 0x7fc4acc6ee20>
    argNames:
    - self
    - raw
    - output
    - hist_access_type
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 701
    functionName: jupyter_client.client.KernelClient.history
    functionSourceFile: jupyter_client.client
    functionUses: 2
    functionsReached:
    - kwargs.setdefault
    - <builtin>.dict
    - traitlets.Instance.msg
    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 0x7fc4ac9c1490>
    argNames:
    - self
    - code
    - cursor_pos
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 647
    functionName: jupyter_client.client.KernelClient.complete
    functionSourceFile: jupyter_client.client
    functionUses: 2
    functionsReached:
    - <builtin>.len
    - traitlets.Instance.msg
    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 0x7fc4ac9c39d0>
    - <ast.Constant object at 0x7fc4ac9c39a0>
    argNames:
    - self
    - code
    - cursor_pos
    - detail_level
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 670
    functionName: jupyter_client.client.KernelClient.inspect
    functionSourceFile: jupyter_client.client
    functionUses: 2
    functionsReached:
    - <builtin>.len
    - traitlets.Instance.msg
    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: 1
    functionLinenumber: 780
    functionName: jupyter_client.client.KernelClient.is_complete
    functionSourceFile: jupyter_client.client
    functionUses: 2
    functionsReached:
    - traitlets.Instance.msg
    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: 747
    functionName: jupyter_client.client.KernelClient.kernel_info
    functionSourceFile: jupyter_client.client
    functionUses: 3
    functionsReached:
    - traitlets.Instance.msg
    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 0x7fc4acc7cc40>
    argNames:
    - self
    - target_name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 758
    functionName: jupyter_client.client.KernelClient.comm_info
    functionSourceFile: jupyter_client.client
    functionUses: 2
    functionsReached:
    - traitlets.Instance.msg
    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 0x7fc4acc93130>
    argNames:
    - self
    - restart
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 805
    functionName: jupyter_client.client.KernelClient.shutdown
    functionSourceFile: jupyter_client.client
    functionUses: 2
    functionsReached:
    - traitlets.Instance.msg
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 3
    IfCount: 3
    argCount: 7
    argDefaultValues:
    - <ast.Constant object at 0x7fc4ac9d15b0>
    - <ast.Constant object at 0x7fc4ac9d1580>
    - <ast.Constant object at 0x7fc4ac9d1550>
    - <ast.Constant object at 0x7fc4ac9d1520>
    - <ast.Constant object at 0x7fc4ac9d14f0>
    argNames:
    - self
    - code
    - silent
    - store_history
    - user_expressions
    - allow_stdin
    - stop_on_error
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 580
    functionName: jupyter_client.client.KernelClient.execute
    functionSourceFile: jupyter_client.client
    functionUses: 3
    functionsReached:
    - jupyter_client.client.validate_string_dict
    - dct.items
    - <builtin>.isinstance
    - traitlets.Instance.msg
    linkageType: pythonLinkage
    raised:
    - ValueError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - meth
    - channel
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 18
    functionName: jupyter_client.blocking.client.wrapped
    functionSourceFile: ''
    functionUses: 7
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: -1
    functionName: jupyter_client.asynchronous.client.AsyncKernelClient
    functionSourceFile: jupyter_client.asynchronous.client
    functionUses: 0
    functionsReached:
    - jupyter_client.client.reqrep
    - traitlets.Instance
    - meth.__doc__.split
    - traitlets.Type
    - jupyter_client.blocking.client.wrapped
    - parts.append
    - jupyter_client.asynchronous.client.wrapped
    - basedoc.strip
    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: 38
    functionName: jupyter_client.asynchronous.client.AsyncKernelClient._context_default
    functionSourceFile: jupyter_client.asynchronous.client
    functionUses: 0
    functionsReached:
    - zmq.asyncio.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: traitlets.Type
    functionSourceFile: traitlets
    functionUses: 38
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    IfCount: 2
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7fc4ac9bcee0>
    argNames:
    - wrapped
    - meth
    - channel
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 38
    functionName: jupyter_client.client.reqrep
    functionSourceFile: jupyter_client.client
    functionUses: 2
    functionsReached:
    - meth.__doc__.split
    - jupyter_client.blocking.client.wrapped
    - parts.append
    - jupyter_client.asynchronous.client.wrapped
    - basedoc.strip
    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: jupyter_client.client
    functionSourceFile: jupyter_client.client
    functionUses: 0
    functionsReached:
    - KernelClientABC.register
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - dct
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 27
    functionName: jupyter_client.client.validate_string_dict
    functionSourceFile: jupyter_client.client
    functionUses: 4
    functionsReached:
    - dct.items
    - <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: dct.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: meth.__doc__.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: basedoc.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: 1
    functionLinenumber: -1
    functionName: jupyter_client.client.KernelClient
    functionSourceFile: jupyter_client.client
    functionUses: 0
    functionsReached:
    - traitlets.Type
    - traitlets.Bool
    - traitlets.Instance
    - traitlets.Any
    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: 95
    functionName: jupyter_client.client.KernelClient._context_default
    functionSourceFile: jupyter_client.client
    functionUses: 0
    functionsReached:
    - zmq.Context
    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: 1
    functionLinenumber: 116
    functionName: jupyter_client.client.KernelClient.__del__
    functionSourceFile: jupyter_client.client
    functionUses: 0
    functionsReached:
    - traitlets.config.LoggingConfigurable.log.debug
    - <builtin>.super
    - traitlets.Instance.destroy
    - traitlets.config.LoggingConfigurable.log.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: traitlets.config.LoggingConfigurable.log.warning
    functionSourceFile: traitlets
    functionUses: 57
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: traitlets.config.LoggingConfigurable.log.debug
    functionSourceFile: traitlets
    functionUses: 106
    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: 141
    functionName: jupyter_client.client.KernelClient._async_get_shell_msg
    functionSourceFile: jupyter_client.client
    functionUses: 2
    functionsReached:
    - jupyter_core.utils.ensure_async
    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: 145
    functionName: jupyter_client.client.KernelClient._async_get_iopub_msg
    functionSourceFile: jupyter_client.client
    functionUses: 0
    functionsReached:
    - jupyter_core.utils.ensure_async
    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: 149
    functionName: jupyter_client.client.KernelClient._async_get_stdin_msg
    functionSourceFile: jupyter_client.client
    functionUses: 0
    functionsReached:
    - jupyter_core.utils.ensure_async
    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: 153
    functionName: jupyter_client.client.KernelClient._async_get_control_msg
    functionSourceFile: jupyter_client.client
    functionUses: 2
    functionsReached:
    - jupyter_core.utils.ensure_async
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 9
    ICount: 5
    IfCount: 6
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7fc4abfecee0>
    argNames:
    - self
    - timeout
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 157
    functionName: jupyter_client.client.KernelClient._async_wait_for_ready
    functionSourceFile: jupyter_client.client
    functionUses: 0
    functionsReached:
    - asyncio.sleep
    - jupyter_client.client.KernelClient.kernel_info
    - traitlets.config.LoggingConfigurable.parent._async_is_alive
    - jupyter_server.gateway.managers.HBChannelQueue.is_beating
    - traitlets.Any.is_beating
    - <builtin>.int
    - jupyter_server.gateway.managers.ChannelQueue.is_alive
    - jupyter_client.client.KernelClient._handle_kernel_info_reply
    - jupyter_client.client.KernelClient._async_is_alive
    - jupyter_core.utils.ensure_async
    - <builtin>.isinstance
    - <builtin>.float
    - time.time
    - jupyter_client.blocking.client.wrapped
    - jupyter_client.asynchronous.client.wrapped
    - traitlets.Instance.msg
    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: time.time
    functionSourceFile: time
    functionUses: 9
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 408
    functionName: jupyter_client.client.KernelClient._async_is_alive
    functionSourceFile: jupyter_client.client
    functionUses: 1
    functionsReached:
    - traitlets.config.LoggingConfigurable.parent._async_is_alive
    - jupyter_server.gateway.managers.HBChannelQueue.is_beating
    - traitlets.Any.is_beating
    - jupyter_server.gateway.managers.ChannelQueue.is_alive
    - <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: asyncio.sleep
    functionSourceFile: asyncio
    functionUses: 33
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - msg
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 770
    functionName: jupyter_client.client.KernelClient._handle_kernel_info_reply
    functionSourceFile: jupyter_client.client
    functionUses: 2
    functionsReached:
    - <builtin>.int
    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 0x7fc4aba164c0>
    - <ast.Constant object at 0x7fc4aba16ac0>
    argNames:
    - self
    - msg_id
    - timeout
    - channel
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 216
    functionName: jupyter_client.client.KernelClient._async_recv_reply
    functionSourceFile: jupyter_client.client
    functionUses: 1
    functionsReached:
    - <builtin>.max
    - time.monotonic
    - jupyter_client.client.KernelClient._async_get_control_msg
    - jupyter_core.utils.ensure_async
    - jupyter_client.client.KernelClient._async_get_shell_msg
    linkageType: pythonLinkage
    raised:
    - TimeoutError
    returnType: N/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.monotonic
    functionSourceFile: time
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - msg
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 238
    functionName: jupyter_client.client.KernelClient._stdin_hook_default
    functionSourceFile: jupyter_client.client
    functionUses: 1
    functionsReached:
    - content.get
    - sys.stdout.write
    - jupyter_client.client.KernelClient.input
    - traitlets.Instance.msg
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: 2
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - string
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 791
    functionName: jupyter_client.client.KernelClient.input
    functionSourceFile: jupyter_client.client
    functionUses: 2
    functionsReached:
    - traitlets.Instance.msg
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 4
    IfCount: 3
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - msg
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 257
    functionName: jupyter_client.client.KernelClient._output_hook_default
    functionSourceFile: jupyter_client.client
    functionUses: 2
    functionsReached:
    - stream.write
    - <builtin>.getattr
    - sys.stderr.write
    - 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: stream.write
    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: sys.stderr.write
    functionSourceFile: sys
    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
    - session
    - socket
    - parent_header
    - msg
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 269
    functionName: jupyter_client.client.KernelClient._output_hook_kernel
    functionSourceFile: jupyter_client.client
    functionUses: 0
    functionsReached:
    - session.send
    - stream.write
    - sys.stderr.write
    - sys.stdout.write
    - <builtin>.getattr
    - jupyter_client.client.KernelClient._output_hook_default
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.send
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 6
    IfCount: 5
    argCount: 6
    argDefaultValues:
    - <ast.Constant object at 0x7fc4ac5453d0>
    - <ast.Constant object at 0x7fc4ac545af0>
    - <ast.Constant object at 0x7fc4ac5451c0>
    - <ast.Constant object at 0x7fc4ac545b80>
    - <ast.Constant object at 0x7fc4ac545040>
    argNames:
    - self
    - shell
    - iopub
    - stdin
    - hb
    - control
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 290
    functionName: jupyter_client.client.KernelClient.start_channels
    functionSourceFile: jupyter_client.client
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 6
    IfCount: 5
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 320
    functionName: jupyter_client.client.KernelClient.stop_channels
    functionSourceFile: jupyter_client.client
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 337
    functionName: jupyter_client.client.KernelClient.channels_running
    functionSourceFile: jupyter_client.client
    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: 3
    functionLinenumber: 350
    functionName: jupyter_client.client.KernelClient.shell_channel
    functionSourceFile: jupyter_client.client
    functionUses: 0
    functionsReached:
    - jupyter_client.connect.ConnectionFileMixin.connect_shell
    - jupyter_client.connect.ConnectionFileMixin._create_connected_socket
    - traitlets.Instance.socket
    - jupyter_client.connect.ConnectionFileMixin._make_url
    - traitlets.Type
    - traitlets.config.LoggingConfigurable.log.debug
    - sock.connect
    - <builtin>.getattr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - channel
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 636
    functionName: jupyter_client.connect.ConnectionFileMixin._make_url
    functionSourceFile: jupyter_client.connect
    functionUses: 20
    functionsReached:
    - <builtin>.getattr
    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 0x7fc4ad0843a0>
    argNames:
    - self
    - identity
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 668
    functionName: jupyter_client.connect.ConnectionFileMixin.connect_shell
    functionSourceFile: jupyter_client.connect
    functionUses: 2
    functionsReached:
    - jupyter_client.connect.ConnectionFileMixin._create_connected_socket
    - traitlets.Instance.socket
    - jupyter_client.connect.ConnectionFileMixin._make_url
    - traitlets.config.LoggingConfigurable.log.debug
    - sock.connect
    - <builtin>.getattr
    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: 362
    functionName: jupyter_client.client.KernelClient.iopub_channel
    functionSourceFile: jupyter_client.client
    functionUses: 0
    functionsReached:
    - jupyter_client.connect.ConnectionFileMixin._create_connected_socket
    - jupyter_client.connect.ConnectionFileMixin.connect_iopub
    - traitlets.Instance.socket
    - jupyter_client.connect.ConnectionFileMixin._make_url
    - traitlets.Type
    - traitlets.config.LoggingConfigurable.log.debug
    - sock.connect
    - <builtin>.getattr
    - sock.setsockopt
    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 0x7fc4ad084a00>
    argNames:
    - self
    - identity
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 662
    functionName: jupyter_client.connect.ConnectionFileMixin.connect_iopub
    functionSourceFile: jupyter_client.connect
    functionUses: 2
    functionsReached:
    - jupyter_client.connect.ConnectionFileMixin._create_connected_socket
    - traitlets.config.LoggingConfigurable.log.debug
    - traitlets.Instance.socket
    - jupyter_client.connect.ConnectionFileMixin._make_url
    - sock.setsockopt
    - sock.connect
    - <builtin>.getattr
    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: 374
    functionName: jupyter_client.client.KernelClient.stdin_channel
    functionSourceFile: jupyter_client.client
    functionUses: 0
    functionsReached:
    - jupyter_client.connect.ConnectionFileMixin._create_connected_socket
    - jupyter_client.connect.ConnectionFileMixin.connect_stdin
    - traitlets.Instance.socket
    - jupyter_client.connect.ConnectionFileMixin._make_url
    - traitlets.Type
    - traitlets.config.LoggingConfigurable.log.debug
    - sock.connect
    - <builtin>.getattr
    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 0x7fc4ad069f10>
    argNames:
    - self
    - identity
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 672
    functionName: jupyter_client.connect.ConnectionFileMixin.connect_stdin
    functionSourceFile: jupyter_client.connect
    functionUses: 2
    functionsReached:
    - jupyter_client.connect.ConnectionFileMixin._create_connected_socket
    - traitlets.Instance.socket
    - jupyter_client.connect.ConnectionFileMixin._make_url
    - traitlets.config.LoggingConfigurable.log.debug
    - sock.connect
    - <builtin>.getattr
    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: 386
    functionName: jupyter_client.client.KernelClient.hb_channel
    functionSourceFile: jupyter_client.client
    functionUses: 0
    functionsReached:
    - traitlets.config.LoggingConfigurable.log.debug
    - <builtin>.getattr
    - jupyter_client.connect.ConnectionFileMixin._make_url
    - traitlets.Type
    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: 397
    functionName: jupyter_client.client.KernelClient.control_channel
    functionSourceFile: jupyter_client.client
    functionUses: 0
    functionsReached:
    - jupyter_client.connect.ConnectionFileMixin.connect_control
    - jupyter_client.connect.ConnectionFileMixin._create_connected_socket
    - traitlets.Instance.socket
    - jupyter_client.connect.ConnectionFileMixin._make_url
    - traitlets.Type
    - traitlets.config.LoggingConfigurable.log.debug
    - sock.connect
    - <builtin>.getattr
    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 0x7fc4ad069670>
    argNames:
    - self
    - identity
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 680
    functionName: jupyter_client.connect.ConnectionFileMixin.connect_control
    functionSourceFile: jupyter_client.connect
    functionUses: 2
    functionsReached:
    - jupyter_client.connect.ConnectionFileMixin._create_connected_socket
    - traitlets.Instance.socket
    - jupyter_client.connect.ConnectionFileMixin._make_url
    - traitlets.config.LoggingConfigurable.log.debug
    - sock.connect
    - <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: traitlets.config.LoggingConfigurable.parent._async_is_alive
    functionSourceFile: traitlets
    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: 687
    functionName: jupyter_server.gateway.managers.HBChannelQueue.is_beating
    functionSourceFile: jupyter_server.gateway.managers
    functionUses: 3
    functionsReached:
    - jupyter_server.gateway.managers.ChannelQueue.is_alive
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: traitlets.Any.is_beating
    functionSourceFile: traitlets
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 17
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 10
    EdgeCount: 25
    ICount: 5
    IfCount: 17
    argCount: 10
    argDefaultValues:
    - <ast.Constant object at 0x7fc4ac9d9a00>
    - <ast.Constant object at 0x7fc4ac9d99d0>
    - <ast.Constant object at 0x7fc4ac9d99a0>
    - <ast.Constant object at 0x7fc4ac9d9970>
    - <ast.Constant object at 0x7fc4ac9d9940>
    - <ast.Constant object at 0x7fc4ac9d9910>
    - <ast.Constant object at 0x7fc4ac9d98e0>
    - <ast.Constant object at 0x7fc4ac9d98b0>
    argNames:
    - self
    - code
    - silent
    - store_history
    - user_expressions
    - allow_stdin
    - stop_on_error
    - timeout
    - output_hook
    - stdin_hook
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 424
    functionName: jupyter_client.client.KernelClient._async_execute_interactive
    functionSourceFile: jupyter_client.client
    functionUses: 0
    functionsReached:
    - time.monotonic
    - jupyter_client.client.KernelClient._async_recv_reply
    - jupyter_core.utils.ensure_async
    - poller.register
    - IPython.get_ipython
    - jupyter_client.client.KernelClient._output_hook_default
    - jupyter_client.client.validate_string_dict
    - jupyter_client.client.KernelClient._async_get_shell_msg
    - jupyter_client.client.KernelClient._stdin_hook_default
    - <builtin>.getattr
    - content.get
    - stream.write
    - <builtin>.isinstance
    - sys.stdout.write
    - dct.items
    - <builtin>.dict
    - traitlets.Instance.msg
    - <builtin>.max
    - zmq.Poller
    - jupyter_client.client.KernelClient._async_get_control_msg
    - <builtin>.int
    - jupyter_client.client.KernelClient.execute
    - sys.stderr.write
    - functools.partial
    - jupyter_client.blocking.client.wrapped
    - poller.poll
    - jupyter_client.asynchronous.client.wrapped
    - jupyter_client.client.KernelClient.input
    linkageType: pythonLinkage
    raised:
    - RuntimeError
    - TimeoutError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: IPython.get_ipython
    functionSourceFile: IPython
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: 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: zmq.Poller
    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: poller.register
    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: poller.poll
    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: traitlets.Instance.msg
    functionSourceFile: traitlets
    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: KernelClientABC.register
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: jupyter_client.clientabc
    functionSourceFile: jupyter_client.clientabc
    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: jupyter_client.clientabc.KernelClientABC
    functionSourceFile: jupyter_client.clientabc
    functionUses: 0
    functionsReached:
    - abc.abstractmethod
    - abc.abstractproperty
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: abc.abstractproperty
    functionSourceFile: ''
    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: 33
    functionName: jupyter_client.clientabc.KernelClientABC.kernel
    functionSourceFile: jupyter_client.clientabc
    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: 37
    functionName: jupyter_client.clientabc.KernelClientABC.shell_channel_class
    functionSourceFile: jupyter_client.clientabc
    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: 41
    functionName: jupyter_client.clientabc.KernelClientABC.iopub_channel_class
    functionSourceFile: jupyter_client.clientabc
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 45
    functionName: jupyter_client.clientabc.KernelClientABC.hb_channel_class
    functionSourceFile: jupyter_client.clientabc
    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: 49
    functionName: jupyter_client.clientabc.KernelClientABC.stdin_channel_class
    functionSourceFile: jupyter_client.clientabc
    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: 53
    functionName: jupyter_client.clientabc.KernelClientABC.control_channel_class
    functionSourceFile: jupyter_client.clientabc
    functionUses: 0
    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 0x7fc4ad111f40>
    - <ast.Constant object at 0x7fc4ad1116d0>
    - <ast.Constant object at 0x7fc4ad111e50>
    - <ast.Constant object at 0x7fc4ad111790>
    - <ast.Constant object at 0x7fc4ad111e20>
    argNames:
    - self
    - shell
    - iopub
    - stdin
    - hb
    - control
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 61
    functionName: jupyter_client.clientabc.KernelClientABC.start_channels
    functionSourceFile: jupyter_client.clientabc
    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: 73
    functionName: jupyter_client.clientabc.KernelClientABC.stop_channels
    functionSourceFile: jupyter_client.clientabc
    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: 78
    functionName: jupyter_client.clientabc.KernelClientABC.channels_running
    functionSourceFile: jupyter_client.clientabc
    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: 83
    functionName: jupyter_client.clientabc.KernelClientABC.shell_channel
    functionSourceFile: jupyter_client.clientabc
    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: 87
    functionName: jupyter_client.clientabc.KernelClientABC.iopub_channel
    functionSourceFile: jupyter_client.clientabc
    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: 91
    functionName: jupyter_client.clientabc.KernelClientABC.stdin_channel
    functionSourceFile: jupyter_client.clientabc
    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: 95
    functionName: jupyter_client.clientabc.KernelClientABC.hb_channel
    functionSourceFile: jupyter_client.clientabc
    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: 99
    functionName: jupyter_client.clientabc.KernelClientABC.control_channel
    functionSourceFile: jupyter_client.clientabc
    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: jupyter_client.connect
    functionSourceFile: jupyter_client.connect
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 12
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 18
    ICount: 11
    IfCount: 12
    argCount: 12
    argDefaultValues:
    - <ast.Constant object at 0x7fc4ad08c3a0>
    - <ast.Constant object at 0x7fc4ad08c370>
    - <ast.Constant object at 0x7fc4ad08c340>
    - <ast.Constant object at 0x7fc4ad08c310>
    - <ast.Constant object at 0x7fc4ad08c2e0>
    - <ast.Constant object at 0x7fc4ad08c2b0>
    - <ast.Constant object at 0x7fc4ad08c280>
    - <ast.Constant object at 0x7fc4ad08c250>
    - <ast.Constant object at 0x7fc4ad08c220>
    - <ast.Constant object at 0x7fc4ad08c1f0>
    - <ast.Constant object at 0x7fc4ad08c1c0>
    argNames:
    - fname
    - shell_port
    - iopub_port
    - stdin_port
    - hb_port
    - control_port
    - ip
    - key
    - transport
    - signature_scheme
    - kernel_name
    - 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
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 38
    functionName: jupyter_client.connect.write_connection_file
    functionSourceFile: jupyter_client.connect
    functionUses: 0
    functionsReached:
    - cfg.update
    - sock.close
    - <builtin>.hasattr
    - ports.pop
    - tempfile.mkstemp
    - sockets.append
    - os.chmod
    - <builtin>.range
    - key.decode
    - socket.socket
    - sock.getsockname
    - f.write
    - json.dumps
    - ports.append
    - sock.setsockopt
    - jupyter_client.localinterfaces.localhost
    - jupyter_core.paths.secure_write
    - <builtin>.int
    - sock.bind
    - os.stat
    - os.path.exists
    - os.path.dirname
    - os.close
    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: 283
    functionName: jupyter_client.localinterfaces.localhost
    functionSourceFile: ''
    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: tempfile.mkstemp
    functionSourceFile: tempfile
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: os.close
    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: socket.socket
    functionSourceFile: socket
    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: sock.setsockopt
    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: sock.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: sockets.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: sock.getsockname
    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: sock.close
    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: ports.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: os.path.exists
    functionSourceFile: os
    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: ports.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: key.decode
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: cfg.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: jupyter_core.paths.secure_write
    functionSourceFile: jupyter_core
    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: f.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: os.stat
    functionSourceFile: os
    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: os.chmod
    functionSourceFile: os
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 9
    ICount: 3
    IfCount: 6
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7fc4acd2ff40>
    - <ast.Constant object at 0x7fc4acd2fee0>
    - <ast.Constant object at 0x7fc4acd2ff70>
    argNames:
    - filename
    - path
    - profile
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 177
    functionName: jupyter_client.connect.find_connection_file
    functionSourceFile: jupyter_client.connect
    functionUses: 0
    functionsReached:
    - os.path.isfile
    - os.path.join
    - jupyter_client.utils._expand_path
    - os.getcwd
    - <builtin>.sorted
    - jupyter_client.utils._filefind
    - s.replace
    - os.path.expanduser
    - jupyter_core.paths.jupyter_runtime_dir
    - matches.extend
    - os.path.abspath
    - os.path.expandvars
    - <builtin>.isinstance
    - os.path.isabs
    - find_connection_file.strip
    - warnings.warn
    - <builtin>.len
    - glob.glob
    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: jupyter_core.paths.jupyter_runtime_dir
    functionSourceFile: jupyter_core
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 1
    IfCount: 5
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7fc4aba16910>
    argNames:
    - filename
    - path_dirs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 16
    functionName: jupyter_client.utils._filefind
    functionSourceFile: jupyter_client.utils
    functionUses: 4
    functionsReached:
    - os.path.isfile
    - os.path.join
    - jupyter_client.utils._expand_path
    - os.getcwd
    - s.replace
    - os.path.expanduser
    - os.path.abspath
    - os.path.expandvars
    - <builtin>.isinstance
    - os.path.isabs
    - find_connection_file.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: glob.glob
    functionSourceFile: glob
    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: matches.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: os.path.abspath
    functionSourceFile: os
    functionUses: 104
    functionsReached: []
    linkageType: 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: jupyter_client.connect.find_connection_file.<lambda1>
    functionSourceFile: jupyter_client.connect
    functionUses: 0
    functionsReached:
    - os.stat
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    IfCount: 2
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7fc4ab6f36a0>
    argNames:
    - connection_info
    - sshserver
    - sshkey
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 241
    functionName: jupyter_client.connect.tunnel_to_kernel
    functionSourceFile: jupyter_client.connect
    functionUses: 0
    functionsReached:
    - socket.socket
    - sock.getsockname
    - typing.cast
    - json.loads
    - sockets.append
    - <builtin>.zip
    - f.read
    - sock.close
    - sock.bind
    - <builtin>.tuple
    - <builtin>.isinstance
    - ports.append
    - <builtin>.range
    - getpass.getpass
    - <builtin>.open
    - jupyter_client.ssh.tunnel.try_passwordless_ssh
    - jupyter_client.ssh.tunnel.select_random_ports
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 5
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - n
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 42
    functionName: jupyter_client.ssh.tunnel.select_random_ports
    functionSourceFile: jupyter_client.ssh.tunnel
    functionUses: 3
    functionsReached:
    - socket.socket
    - sock.getsockname
    - sockets.append
    - sock.bind
    - ports.append
    - <builtin>.range
    - sock.close
    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 0x7fc4ac54a910>
    argNames:
    - server
    - keyfile
    - paramiko
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 62
    functionName: jupyter_client.ssh.tunnel.try_passwordless_ssh
    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: getpass.getpass
    functionSourceFile: getpass
    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: 1
    functionLinenumber: -1
    functionName: jupyter_client.connect.ConnectionFileMixin
    functionSourceFile: jupyter_client.connect
    functionUses: 0
    functionsReached:
    - traitlets.Instance
    - traitlets.Unicode
    - traitlets.observe
    - traitlets.Integer
    - traitlets.Type
    - traitlets.CaselessStrEnum
    - traitlets.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: 322
    functionName: jupyter_client.connect.ConnectionFileMixin._data_dir_default
    functionSourceFile: jupyter_client.connect
    functionUses: 0
    functionsReached:
    - jupyter_core.paths.jupyter_data_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: jupyter_core.paths.jupyter_data_dir
    functionSourceFile: jupyter_core
    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: traitlets.CaselessStrEnum
    functionSourceFile: traitlets
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 351
    functionName: jupyter_client.connect.ConnectionFileMixin._ip_default
    functionSourceFile: jupyter_client.connect
    functionUses: 11
    functionsReached:
    - jupyter_client.localinterfaces.localhost
    - os.path.splitext
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: 39
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - change
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 361
    functionName: jupyter_client.connect.ConnectionFileMixin._ip_changed
    functionSourceFile: jupyter_client.connect
    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: 377
    functionName: jupyter_client.connect.ConnectionFileMixin.ports
    functionSourceFile: jupyter_client.connect
    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: 5
    functionLinenumber: 383
    functionName: jupyter_client.connect.ConnectionFileMixin._session_default
    functionSourceFile: jupyter_client.connect
    functionUses: 0
    functionsReached:
    - traitlets.utils.importstring.import_item
    - jupyter_client.session.Session._new_auth
    - traitlets.log.get_logger.warning
    - <builtin>.repr
    - jupyter_client.session.Session._check_packers
    - <builtin>.map
    - obj.strftime
    - pickle.loads
    - obj.items
    - <builtin>.len
    - <builtin>.type
    - <builtin>.hasattr
    - <builtin>.float
    - jupyter_client.session.pickle_packer
    - traitlets.log.get_logger
    - <builtin>.super
    - <builtin>.list
    - jupyter_client.session.json_unpacker
    - hmac.HMAC
    - math.isnan
    - binascii.b2a_base64
    - datetime.datetime.now
    - warnings.warn
    - <builtin>.set
    - jupyter_client.session.Session._check_packers.<lambda2>
    - <builtin>.str
    - obj.isoformat
    - json.dumps
    - jupyter_client.session.utcnow
    - jupyter_client.jsonutil.squash_dates
    - math.isinf
    - <builtin>.isinstance
    - binascii.b2a_base64.decode
    - jupyter_client.session.Session.__init__
    - jupyter_client.session.Session._check_packers.<lambda1>
    - <builtin>.dict
    - traitlets.Any
    - jupyter_client.jsonutil.json_clean
    - s.decode
    - json.loads
    - <builtin>.int
    - pickle.dumps
    - jupyter_client.session.json_packer
    - os.getpid
    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 0x7fc4aba16e80>
    argNames:
    - self
    - session
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 392
    functionName: jupyter_client.connect.ConnectionFileMixin.get_connection_info
    functionSourceFile: jupyter_client.connect
    functionUses: 10
    functionsReached:
    - traitlets.Instance.clone
    - info.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: traitlets.Instance.clone
    functionSourceFile: traitlets
    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: info.update
    functionSourceFile: <builtin>
    functionUses: 11
    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: 433
    functionName: jupyter_client.connect.ConnectionFileMixin.blocking_client
    functionSourceFile: jupyter_client.connect
    functionUses: 0
    functionsReached:
    - traitlets.Instance.clone
    - bc.load_connection_info
    - info.update
    - jupyter_client.connect.ConnectionFileMixin.get_connection_info
    - traitlets.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: bc.load_connection_info
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 440
    functionName: jupyter_client.connect.ConnectionFileMixin.cleanup_connection_file
    functionSourceFile: jupyter_client.connect
    functionUses: 6
    functionsReached:
    - os.remove
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: os.remove
    functionSourceFile: os
    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:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 453
    functionName: jupyter_client.connect.ConnectionFileMixin.cleanup_ipc_files
    functionSourceFile: jupyter_client.connect
    functionUses: 4
    functionsReached:
    - os.remove
    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: 1
    functionLinenumber: 464
    functionName: jupyter_client.connect.ConnectionFileMixin._record_random_port_names
    functionSourceFile: jupyter_client.connect
    functionUses: 12
    functionsReached:
    - <builtin>.getattr
    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: 480
    functionName: jupyter_client.connect.ConnectionFileMixin.cleanup_random_ports
    functionSourceFile: jupyter_client.connect
    functionUses: 1
    functionsReached:
    - <builtin>.setattr
    - jupyter_client.connect.ConnectionFileMixin.cleanup_connection_file
    - os.remove
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 495
    functionName: jupyter_client.connect.ConnectionFileMixin.write_connection_file
    functionSourceFile: jupyter_client.connect
    functionUses: 8
    functionsReached:
    - jupyter_client.connect.ConnectionFileMixin.write_connection_file
    - jupyter_client.connect.ConnectionFileMixin._record_random_port_names
    - <builtin>.setattr
    - os.path.exists
    - <builtin>.getattr
    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 0x7fc4ad098730>
    argNames:
    - self
    - connection_file
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 521
    functionName: jupyter_client.connect.ConnectionFileMixin.load_connection_file
    functionSourceFile: jupyter_client.connect
    functionUses: 4
    functionsReached:
    - jupyter_client.localinterfaces.localhost
    - jupyter_client.connect.ConnectionFileMixin._ip_default
    - json.load
    - info.get
    - os.path.splitext
    - <builtin>.setattr
    - jupyter_client.connect.ConnectionFileMixin._record_random_port_names
    - jupyter_client.connect.ConnectionFileMixin.load_connection_info
    - <builtin>.isinstance
    - traitlets.config.LoggingConfigurable.log.debug
    - <builtin>.getattr
    - key.encode
    - <builtin>.open
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: 37
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 3
    IfCount: 4
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - info
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 537
    functionName: jupyter_client.connect.ConnectionFileMixin.load_connection_info
    functionSourceFile: jupyter_client.connect
    functionUses: 10
    functionsReached:
    - jupyter_client.connect.ConnectionFileMixin._ip_default
    - info.get
    - jupyter_client.localinterfaces.localhost
    - os.path.splitext
    - <builtin>.setattr
    - jupyter_client.connect.ConnectionFileMixin._record_random_port_names
    - <builtin>.isinstance
    - <builtin>.getattr
    - key.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: info.get
    functionSourceFile: <builtin>
    functionUses: 14
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: key.encode
    functionSourceFile: <builtin>
    functionUses: 11
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 5
    IfCount: 4
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - info
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 568
    functionName: jupyter_client.connect.ConnectionFileMixin._reconcile_connection_info
    functionSourceFile: jupyter_client.connect
    functionUses: 4
    functionsReached:
    - json.load
    - jupyter_client.connect.ConnectionFileMixin._ip_default
    - jupyter_client.connect.ConnectionFileMixin.write_connection_file
    - os.path.splitext
    - conn2.get
    - jupyter_client.connect.ConnectionFileMixin._record_random_port_names
    - jupyter_client.connect.ConnectionFileMixin._equal_connections
    - <builtin>.getattr
    - os.remove
    - <builtin>.open
    - traitlets.Instance.clone
    - <builtin>.setattr
    - jupyter_client.connect.ConnectionFileMixin.get_connection_info
    - <builtin>.isinstance
    - key.encode
    - <builtin>.all
    - jupyter_client.localinterfaces.localhost
    - info.get
    - conn1.get
    - info.update
    - jupyter_client.connect.ConnectionFileMixin.load_connection_info
    - os.path.exists
    linkageType: pythonLinkage
    raised:
    - ValueError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - conn1
    - conn2
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 615
    functionName: jupyter_client.connect.ConnectionFileMixin._equal_connections
    functionSourceFile: jupyter_client.connect
    functionUses: 5
    functionsReached:
    - conn1.get
    - <builtin>.all
    - conn2.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: conn1.get
    functionSourceFile: <builtin>
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: conn2.get
    functionSourceFile: <builtin>
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.all
    functionSourceFile: <builtin>
    functionUses: 20
    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 0x7fc4ad09a580>
    argNames:
    - self
    - channel
    - identity
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 647
    functionName: jupyter_client.connect.ConnectionFileMixin._create_connected_socket
    functionSourceFile: jupyter_client.connect
    functionUses: 18
    functionsReached:
    - traitlets.Instance.socket
    - jupyter_client.connect.ConnectionFileMixin._make_url
    - traitlets.config.LoggingConfigurable.log.debug
    - sock.connect
    - <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: traitlets.Instance.socket
    functionSourceFile: traitlets
    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: sock.connect
    functionSourceFile: <builtin>
    functionUses: 22
    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 0x7fc4ad069ac0>
    argNames:
    - self
    - identity
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 676
    functionName: jupyter_client.connect.ConnectionFileMixin.connect_hb
    functionSourceFile: jupyter_client.connect
    functionUses: 1
    functionsReached:
    - jupyter_client.connect.ConnectionFileMixin._create_connected_socket
    - traitlets.Instance.socket
    - jupyter_client.connect.ConnectionFileMixin._make_url
    - traitlets.config.LoggingConfigurable.log.debug
    - sock.connect
    - <builtin>.getattr
    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: 696
    functionName: jupyter_client.connect.LocalPortCache.__init__
    functionSourceFile: jupyter_client.connect
    functionUses: 0
    functionsReached:
    - <builtin>.super
    - <builtin>.set
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 4
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - ip
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 700
    functionName: jupyter_client.connect.LocalPortCache.find_available_port
    functionSourceFile: jupyter_client.connect
    functionUses: 0
    functionsReached:
    - socket.socket
    - tmp_sock.bind
    - tmp_sock.close
    - tmp_sock.setsockopt
    - tmp_sock.getsockname
    - traitlets.config.SingletonConfigurable.currently_used_ports.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: tmp_sock.setsockopt
    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: tmp_sock.bind
    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: tmp_sock.getsockname
    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: tmp_sock.close
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: traitlets.config.SingletonConfigurable.currently_used_ports.add
    functionSourceFile: traitlets
    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
    - port
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 714
    functionName: jupyter_client.connect.LocalPortCache.return_port
    functionSourceFile: jupyter_client.connect
    functionUses: 0
    functionsReached:
    - traitlets.config.SingletonConfigurable.currently_used_ports.remove
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: traitlets.config.SingletonConfigurable.currently_used_ports.remove
    functionSourceFile: traitlets
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: jupyter_client.ssh
    functionSourceFile: jupyter_client.ssh
    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: jupyter_client.utils
    functionSourceFile: jupyter_client.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: find_connection_file.strip
    functionSourceFile: find_connection_file
    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: os.path.isabs
    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: os.path.isfile
    functionSourceFile: os
    functionUses: 83
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: 11
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - s
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 70
    functionName: jupyter_client.utils._expand_path
    functionSourceFile: jupyter_client.utils
    functionUses: 5
    functionsReached:
    - os.path.expanduser
    - s.replace
    - os.path.expandvars
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: 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: os.path.expanduser
    functionSourceFile: os
    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.path.expandvars
    functionSourceFile: os
    functionUses: 9
    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: -1
    functionName: jupyter_client.ssh.tunnel
    functionSourceFile: jupyter_client.ssh.tunnel
    functionUses: 0
    functionsReached:
    - warnings.catch_warnings
    - re.compile
    - warnings.simplefilter
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.catch_warnings
    functionSourceFile: warnings
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.simplefilter
    functionSourceFile: warnings
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 2
    IfCount: 3
    argCount: 2
    argDefaultValues: []
    argNames:
    - server
    - keyfile
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 75
    functionName: jupyter_client.ssh.tunnel._try_passwordless_openssh
    functionSourceFile: jupyter_client.ssh.tunnel
    functionUses: 0
    functionsReached:
    - os.environ.copy
    - env.pop
    - pexpect.spawn
    - p.expect
    linkageType: pythonLinkage
    raised:
    - ImportError
    - SSHException
    returnType: N/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: 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: env.pop
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: pexpect.spawn
    functionSourceFile: pexpect
    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: p.expect
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - server
    - keyfile
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 105
    functionName: jupyter_client.ssh.tunnel._try_passwordless_paramiko
    functionSourceFile: jupyter_client.ssh.tunnel
    functionUses: 1
    functionsReached:
    - client.close
    - getpass.getuser
    - client.load_system_host_keys
    - jupyter_client.ssh.tunnel._split_server
    - <builtin>.int
    - client.set_missing_host_key_policy
    - paramiko.SSHClient
    - client.connect
    - server.split
    - paramiko.WarningPolicy
    linkageType: pythonLinkage
    raised:
    - ImportError
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - server
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 308
    functionName: jupyter_client.ssh.tunnel._split_server
    functionSourceFile: jupyter_client.ssh.tunnel
    functionUses: 3
    functionsReached:
    - getpass.getuser
    - <builtin>.int
    - server.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: paramiko.SSHClient
    functionSourceFile: paramiko
    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: client.load_system_host_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: paramiko.WarningPolicy
    functionSourceFile: paramiko
    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: client.set_missing_host_key_policy
    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: client.connect
    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: client.close
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    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 0x7fc4ac87bc10>
    - <ast.Constant object at 0x7fc4ac87ba90>
    - <ast.Constant object at 0x7fc4ac87b5b0>
    - <ast.Constant object at 0x7fc4ac87bf10>
    argNames:
    - socket
    - addr
    - server
    - keyfile
    - password
    - paramiko
    - timeout
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 127
    functionName: jupyter_client.ssh.tunnel.tunnel_connection
    functionSourceFile: jupyter_client.ssh.tunnel
    functionUses: 0
    functionsReached:
    - jupyter_client.ssh.tunnel.open_tunnel
    - socket.socket
    - sock.getsockname
    - addr.split
    - typing.cast
    - sockets.append
    - <builtin>.int
    - socket.connect
    - sock.bind
    - ports.append
    - <builtin>.range
    - sock.close
    - jupyter_client.ssh.tunnel.select_random_ports
    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 0x7fc4ac00b940>
    - <ast.Constant object at 0x7fc4ac00b4f0>
    - <ast.Constant object at 0x7fc4ac00b580>
    - <ast.Constant object at 0x7fc4ac00b7f0>
    argNames:
    - addr
    - server
    - keyfile
    - password
    - paramiko
    - timeout
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 156
    functionName: jupyter_client.ssh.tunnel.open_tunnel
    functionSourceFile: jupyter_client.ssh.tunnel
    functionUses: 1
    functionsReached:
    - socket.socket
    - sock.getsockname
    - addr.split
    - typing.cast
    - sockets.append
    - <builtin>.int
    - sock.bind
    - ports.append
    - <builtin>.range
    - sock.close
    - jupyter_client.ssh.tunnel.select_random_ports
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.connect
    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: addr.split
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 9
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 14
    ICount: 6
    IfCount: 9
    argCount: 7
    argDefaultValues:
    - <ast.Constant object at 0x7fc4ab379b50>
    - <ast.Constant object at 0x7fc4ab3790a0>
    - <ast.Constant object at 0x7fc4ab379640>
    - <ast.Constant object at 0x7fc4ab379730>
    argNames:
    - lport
    - rport
    - server
    - remoteip
    - keyfile
    - password
    - timeout
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 194
    functionName: jupyter_client.ssh.tunnel.openssh_tunnel
    functionSourceFile: jupyter_client.ssh.tunnel
    functionUses: 0
    functionsReached:
    - cmd.replace
    - tunnel.sendline
    - tunnel.expect
    - <builtin>.int
    - os.environ.copy
    - atexit.register
    - env.pop
    - pexpect.run
    - warnings.warn
    - output.find
    - getpass.getpass
    - tunnel.wait
    - pexpect.spawn
    - server.split
    linkageType: pythonLinkage
    raised:
    - ImportError
    - RuntimeError
    - SSHException
    returnType: N/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.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: pexpect.run
    functionSourceFile: pexpect
    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: output.find
    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: cmd.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: atexit.register
    functionSourceFile: atexit
    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: tunnel.expect
    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: tunnel.wait
    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: tunnel.sendline
    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:
    - cmd
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 304
    functionName: jupyter_client.ssh.tunnel._stop_tunnel
    functionSourceFile: jupyter_client.ssh.tunnel
    functionUses: 0
    functionsReached:
    - pexpect.run
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: getpass.getuser
    functionSourceFile: getpass
    functionUses: 4
    functionsReached: []
    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 0x7fc4aba168b0>
    - <ast.Constant object at 0x7fc4aba16fd0>
    - <ast.Constant object at 0x7fc4aba16fa0>
    - <ast.Constant object at 0x7fc4aba164f0>
    argNames:
    - lport
    - rport
    - server
    - remoteip
    - keyfile
    - password
    - timeout
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 321
    functionName: jupyter_client.ssh.tunnel.paramiko_tunnel
    functionSourceFile: jupyter_client.ssh.tunnel
    functionUses: 0
    functionsReached:
    - client.close
    - jupyter_client.ssh.tunnel._try_passwordless_paramiko
    - multiprocessing.Process.start
    - getpass.getuser
    - client.load_system_host_keys
    - jupyter_client.ssh.tunnel._split_server
    - <builtin>.int
    - client.set_missing_host_key_policy
    - multiprocessing.Process
    - paramiko.SSHClient
    - getpass.getpass
    - client.connect
    - server.split
    - paramiko.WarningPolicy
    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: multiprocessing.Process
    functionSourceFile: multiprocessing
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: multiprocessing.Process.start
    functionSourceFile: multiprocessing
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 12
    IfCount: 0
    argCount: 6
    argDefaultValues:
    - <ast.Constant object at 0x7fc4aba4ab80>
    - <ast.Constant object at 0x7fc4aba4ab50>
    argNames:
    - lport
    - rport
    - server
    - remoteip
    - keyfile
    - password
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 386
    functionName: jupyter_client.ssh.tunnel._paramiko_tunnel
    functionSourceFile: jupyter_client.ssh.tunnel
    functionUses: 0
    functionsReached:
    - client.get_transport
    - getpass.getuser
    - client.load_system_host_keys
    - socketserver.ThreadingTCPServer.serve_forever
    - <builtin>.int
    - socketserver.ThreadingTCPServer.__init__
    - server.split
    - sys.exit
    - client.connect
    - client.set_missing_host_key_policy
    - warnings.warn
    - jupyter_client.ssh.forward.forward_tunnel
    - paramiko.SSHClient
    - jupyter_client.ssh.tunnel._split_server
    - signal.signal
    - paramiko.WarningPolicy
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: 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: signal.signal
    functionSourceFile: signal
    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: client.get_transport
    functionSourceFile: <builtin>
    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:
    - local_port
    - remote_host
    - remote_port
    - transport
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 88
    functionName: jupyter_client.ssh.forward.forward_tunnel
    functionSourceFile: jupyter_client.ssh.forward
    functionUses: 1
    functionsReached:
    - socketserver.ThreadingTCPServer.serve_forever
    - socketserver.ThreadingTCPServer.__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: jupyter_client.ssh.forward
    functionSourceFile: jupyter_client.ssh.forward
    functionUses: 0
    functionsReached:
    - 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: 1
    functionLinenumber: -1
    functionName: jupyter_client.ssh.forward.Handler
    functionSourceFile: jupyter_client.ssh.forward
    functionUses: 0
    functionsReached:
    - typing.no_type_check
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 9
    IfCount: 5
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 44
    functionName: jupyter_client.ssh.forward.Handler.handle
    functionSourceFile: jupyter_client.ssh.forward
    functionUses: 0
    functionsReached:
    - select.select
    - socketserver.BaseRequestHandler.ssh_transport.open_channel
    - chan.getpeername
    - <builtin>.repr
    - chan.send
    - chan.recv
    - socketserver.BaseRequestHandler.request.recv
    - socketserver.BaseRequestHandler.request.send
    - logger.debug
    - <builtin>.len
    - chan.close
    - socketserver.BaseRequestHandler.request.getpeername
    - socketserver.BaseRequestHandler.request.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: socketserver.BaseRequestHandler.request.getpeername
    functionSourceFile: socketserver
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: socketserver.BaseRequestHandler.ssh_transport.open_channel
    functionSourceFile: socketserver
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: logger.debug
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: chan.getpeername
    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: select.select
    functionSourceFile: select
    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: socketserver.BaseRequestHandler.request.recv
    functionSourceFile: socketserver
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: chan.send
    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: chan.recv
    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: socketserver.BaseRequestHandler.request.send
    functionSourceFile: socketserver
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: chan.close
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: socketserver.BaseRequestHandler.request.close
    functionSourceFile: socketserver
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: socketserver.ThreadingTCPServer.__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: socketserver.ThreadingTCPServer.serve_forever
    functionSourceFile: socketserver
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: jupyter_client.localinterfaces
    functionSourceFile: jupyter_client.localinterfaces
    functionUses: 0
    functionsReached:
    - jupyter_client.localinterfaces._requires_ips
    - re.compile
    - jupyter_client.localinterfaces._only_once
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - elems
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 20
    functionName: jupyter_client.localinterfaces._uniq_stable
    functionSourceFile: jupyter_client.localinterfaces
    functionUses: 9
    functionsReached:
    - <builtin>.set
    - value.append
    - seen.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: value.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: seen.add
    functionSourceFile: <builtin>
    functionUses: 10
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - cmd
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 35
    functionName: jupyter_client.localinterfaces._get_output
    functionSourceFile: jupyter_client.localinterfaces
    functionUses: 6
    functionsReached:
    - subprocess.Popen
    - stdout.decode
    - subprocess.Popen.communicate
    - subprocess.STARTUPINFO
    - stderr.decode
    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: subprocess.STARTUPINFO
    functionSourceFile: subprocess
    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: subprocess.Popen
    functionSourceFile: subprocess
    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: subprocess.Popen.communicate
    functionSourceFile: subprocess
    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: stderr.decode
    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: stdout.decode
    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: 0
    functionLinenumber: 49
    functionName: jupyter_client.localinterfaces._only_once
    functionSourceFile: jupyter_client.localinterfaces
    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:
    - kwargs
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 53
    functionName: jupyter_client.localinterfaces._only_once.wrapped
    functionSourceFile: jupyter_client.localinterfaces
    functionUses: 0
    functionsReached:
    - entry.get
    - value.append
    - m.group
    - <builtin>.len
    - local_ips.append
    - jupyter_client.localinterfaces._load_ips_ifconfig
    - netifaces.interfaces
    - addrs.append
    - LOCAL_IPS.extend
    - subprocess.Popen
    - jupyter_client.localinterfaces._get_output
    - addr.startswith
    - socket.gethostbyname_ex
    - netifaces.ifaddresses
    - warnings.warn
    - jupyter_client.localinterfaces._load_ips
    - <builtin>.set
    - line.strip
    - local_ips.insert
    - socket.gethostname
    - jupyter_client.localinterfaces._load_ips_ip
    - jupyter_client.localinterfaces._uniq_stable
    - jupyter_client.localinterfaces._populate_from_list
    - jupyter_client.localinterfaces._load_ips_netifaces
    - hostname.endswith
    - _ifconfig_ipv4_pat.match
    - stdout.decode
    - subprocess.STARTUPINFO
    - jupyter_client.localinterfaces._load_ips_ipconfig
    - local_ips.extend
    - ip.startswith
    - line.lower
    - jupyter_client.localinterfaces._load_ips_dumb
    - <builtin>.all
    - public_ips.append
    - seen.add
    - subprocess.Popen.communicate
    - stderr.decode
    - jupyter_client.localinterfaces._load_ips_gethostbyname
    - _ipconfig_ipv4_pat.match
    - iface.startswith
    - out.splitlines
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    IfCount: 2
    argCount: 1
    argDefaultValues:
    - <ast.Constant object at 0x7fc4ac00b640>
    argNames:
    - suppress_exceptions
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 225
    functionName: jupyter_client.localinterfaces._load_ips
    functionSourceFile: jupyter_client.localinterfaces
    functionUses: 2
    functionsReached:
    - entry.get
    - value.append
    - m.group
    - <builtin>.len
    - local_ips.append
    - jupyter_client.localinterfaces._load_ips_ifconfig
    - netifaces.interfaces
    - addrs.append
    - LOCAL_IPS.extend
    - subprocess.Popen
    - jupyter_client.localinterfaces._get_output
    - addr.startswith
    - socket.gethostbyname_ex
    - netifaces.ifaddresses
    - warnings.warn
    - <builtin>.set
    - line.strip
    - local_ips.insert
    - socket.gethostname
    - jupyter_client.localinterfaces._load_ips_ip
    - jupyter_client.localinterfaces._uniq_stable
    - jupyter_client.localinterfaces._populate_from_list
    - jupyter_client.localinterfaces._load_ips_netifaces
    - hostname.endswith
    - _ifconfig_ipv4_pat.match
    - stdout.decode
    - subprocess.STARTUPINFO
    - jupyter_client.localinterfaces._load_ips_ipconfig
    - local_ips.extend
    - ip.startswith
    - line.lower
    - jupyter_client.localinterfaces._load_ips_dumb
    - <builtin>.all
    - public_ips.append
    - seen.add
    - subprocess.Popen.communicate
    - stderr.decode
    - jupyter_client.localinterfaces._load_ips_gethostbyname
    - _ipconfig_ipv4_pat.match
    - iface.startswith
    - out.splitlines
    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: 0
    functionLinenumber: 63
    functionName: jupyter_client.localinterfaces._requires_ips
    functionSourceFile: jupyter_client.localinterfaces
    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:
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 66
    functionName: jupyter_client.localinterfaces._requires_ips.ips_loaded
    functionSourceFile: jupyter_client.localinterfaces
    functionUses: 0
    functionsReached:
    - entry.get
    - value.append
    - jupyter_client.localinterfaces.is_public_ip
    - m.group
    - jupyter_client.localinterfaces.public_ips
    - <builtin>.len
    - local_ips.append
    - jupyter_client.localinterfaces._load_ips_ifconfig
    - netifaces.interfaces
    - addrs.append
    - LOCAL_IPS.extend
    - subprocess.Popen
    - jupyter_client.localinterfaces._get_output
    - addr.startswith
    - socket.gethostbyname_ex
    - netifaces.ifaddresses
    - warnings.warn
    - jupyter_client.localinterfaces._load_ips
    - <builtin>.set
    - line.strip
    - local_ips.insert
    - socket.gethostname
    - jupyter_client.localinterfaces._load_ips_ip
    - jupyter_client.localinterfaces._uniq_stable
    - jupyter_client.localinterfaces._populate_from_list
    - jupyter_client.localinterfaces._load_ips_netifaces
    - hostname.endswith
    - _ifconfig_ipv4_pat.match
    - stdout.decode
    - subprocess.STARTUPINFO
    - jupyter_client.localinterfaces._load_ips_ipconfig
    - local_ips.extend
    - ip.startswith
    - line.lower
    - jupyter_client.localinterfaces._load_ips_dumb
    - <builtin>.all
    - jupyter_client.localinterfaces.localhost
    - jupyter_client.localinterfaces.local_ips
    - jupyter_client.localinterfaces.is_local_ip
    - public_ips.append
    - seen.add
    - subprocess.Popen.communicate
    - stderr.decode
    - jupyter_client.localinterfaces._load_ips_gethostbyname
    - _ipconfig_ipv4_pat.match
    - iface.startswith
    - out.splitlines
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - ip
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 295
    functionName: jupyter_client.localinterfaces.is_public_ip
    functionSourceFile: ''
    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: 271
    functionName: jupyter_client.localinterfaces.local_ips
    functionSourceFile: ''
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 277
    functionName: jupyter_client.localinterfaces.public_ips
    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:
    - ip
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 289
    functionName: jupyter_client.localinterfaces.is_local_ip
    functionSourceFile: ''
    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:
    - addrs
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 78
    functionName: jupyter_client.localinterfaces._populate_from_list
    functionSourceFile: jupyter_client.localinterfaces
    functionUses: 6
    functionsReached:
    - local_ips.insert
    - jupyter_client.localinterfaces._uniq_stable
    - value.append
    - public_ips.append
    - seen.add
    - local_ips.extend
    - ip.startswith
    - <builtin>.set
    - local_ips.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: local_ips.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: ip.startswith
    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: public_ips.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: local_ips.insert
    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: local_ips.extend
    functionSourceFile: <builtin>
    functionUses: 8
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 107
    functionName: jupyter_client.localinterfaces._load_ips_ifconfig
    functionSourceFile: jupyter_client.localinterfaces
    functionUses: 3
    functionsReached:
    - value.append
    - m.group
    - local_ips.append
    - addrs.append
    - subprocess.Popen
    - jupyter_client.localinterfaces._get_output
    - <builtin>.set
    - line.strip
    - local_ips.insert
    - jupyter_client.localinterfaces._uniq_stable
    - _ifconfig_ipv4_pat.match
    - jupyter_client.localinterfaces._populate_from_list
    - stdout.decode
    - subprocess.STARTUPINFO
    - local_ips.extend
    - ip.startswith
    - public_ips.append
    - seen.add
    - stderr.decode
    - subprocess.Popen.communicate
    - out.splitlines
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.splitlines
    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: line.strip
    functionSourceFile: <builtin>
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: _ifconfig_ipv4_pat.match
    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.group
    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: addrs.append
    functionSourceFile: <builtin>
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 125
    functionName: jupyter_client.localinterfaces._load_ips_ip
    functionSourceFile: jupyter_client.localinterfaces
    functionUses: 3
    functionsReached:
    - value.append
    - <builtin>.len
    - local_ips.append
    - addrs.append
    - subprocess.Popen
    - jupyter_client.localinterfaces._get_output
    - <builtin>.set
    - local_ips.insert
    - jupyter_client.localinterfaces._uniq_stable
    - jupyter_client.localinterfaces._populate_from_list
    - stdout.decode
    - subprocess.STARTUPINFO
    - local_ips.extend
    - ip.startswith
    - line.lower
    - public_ips.append
    - seen.add
    - subprocess.Popen.communicate
    - stderr.decode
    - out.splitlines
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.lower
    functionSourceFile: <builtin>
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 141
    functionName: jupyter_client.localinterfaces._load_ips_ipconfig
    functionSourceFile: jupyter_client.localinterfaces
    functionUses: 3
    functionsReached:
    - value.append
    - m.group
    - local_ips.append
    - addrs.append
    - subprocess.Popen
    - jupyter_client.localinterfaces._get_output
    - <builtin>.set
    - line.strip
    - local_ips.insert
    - jupyter_client.localinterfaces._uniq_stable
    - jupyter_client.localinterfaces._populate_from_list
    - stdout.decode
    - subprocess.STARTUPINFO
    - local_ips.extend
    - ip.startswith
    - public_ips.append
    - seen.add
    - subprocess.Popen.communicate
    - stderr.decode
    - _ipconfig_ipv4_pat.match
    - out.splitlines
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: _ipconfig_ipv4_pat.match
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 5
    IfCount: 4
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 154
    functionName: jupyter_client.localinterfaces._load_ips_netifaces
    functionSourceFile: jupyter_client.localinterfaces
    functionUses: 3
    functionsReached:
    - local_ips.insert
    - jupyter_client.localinterfaces._uniq_stable
    - entry.get
    - value.append
    - public_ips.append
    - addr.startswith
    - seen.add
    - local_ips.extend
    - netifaces.ifaddresses
    - <builtin>.set
    - local_ips.append
    - iface.startswith
    - netifaces.interfaces
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: netifaces.interfaces
    functionSourceFile: netifaces
    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: netifaces.ifaddresses
    functionSourceFile: netifaces
    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: entry.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: iface.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: addr.startswith
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 184
    functionName: jupyter_client.localinterfaces._load_ips_gethostbyname
    functionSourceFile: jupyter_client.localinterfaces
    functionUses: 3
    functionsReached:
    - socket.gethostname
    - LOCAL_IPS.extend
    - jupyter_client.localinterfaces._uniq_stable
    - value.append
    - hostname.endswith
    - seen.add
    - socket.gethostbyname_ex
    - ip.startswith
    - <builtin>.set
    - <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: socket.gethostbyname_ex
    functionSourceFile: socket
    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: socket.gethostname
    functionSourceFile: socket
    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: hostname.endswith
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: LOCAL_IPS.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: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 216
    functionName: jupyter_client.localinterfaces._load_ips_dumb
    functionSourceFile: jupyter_client.localinterfaces
    functionUses: 3
    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: jupyter_client.manager
    functionSourceFile: jupyter_client.manager
    functionUses: 0
    functionsReached:
    - contextlib.contextmanager
    - typing.TypeVar
    - KernelManagerABC.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: 0
    functionLinenumber: -1
    functionName: typing.TypeVar
    functionSourceFile: typing
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 63
    functionName: jupyter_client.manager._get_future
    functionSourceFile: jupyter_client.manager
    functionUses: 2
    functionsReached:
    - asyncio.futures.Future
    - concurrent.futures.Future
    - asyncio.get_running_loop
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: asyncio.get_running_loop
    functionSourceFile: asyncio
    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: asyncio.futures.Future
    functionSourceFile: asyncio
    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: concurrent.futures.Future
    functionSourceFile: concurrent
    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:
    - method
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 73
    functionName: jupyter_client.manager.in_pending_state
    functionSourceFile: jupyter_client.manager
    functionUses: 1
    functionsReached:
    - functools.wraps
    - typing.no_type_check
    - typing.cast
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    IfCount: 2
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 81
    functionName: jupyter_client.manager.in_pending_state.wrapper
    functionSourceFile: jupyter_client.manager
    functionUses: 0
    functionsReached:
    - json.load
    - jupyter_client.connect.ConnectionFileMixin._ip_default
    - jupyter_client.connect.ConnectionFileMixin.write_connection_file
    - jupyter_client.connect.ConnectionFileMixin.cleanup_ipc_files
    - traitlets.config.LoggingConfigurable.log.warning
    - conn2.get
    - traitlets.Instance.send
    - os.path.splitext
    - jupyter_client.connect.ConnectionFileMixin._record_random_port_names
    - jupyter_client.manager.KernelManager._async_post_start_kernel
    - concurrent.futures.Future
    - sock.connect
    - jupyter_client.manager.KernelManager._async_wait
    - jupyter_client.connect.ConnectionFileMixin._create_connected_socket
    - jupyter_client.manager.KernelManager._async_request_shutdown
    - asyncio.sleep
    - jupyter_client.manager.KernelManager._async_cleanup_resources
    - jupyter_client.manager.KernelManager._close_control_socket
    - jupyter_client.manager.KernelManager._async_kill_kernel
    - jupyter_client.connect.ConnectionFileMixin._equal_connections
    - traitlets.Instance.socket
    - traitlets.config.LoggingConfigurable.log.debug
    - traitlets.config.SingletonConfigurable.instance
    - jupyter_client.manager._get_future
    - <builtin>.getattr
    - <builtin>.open
    - os.remove
    - <builtin>.str
    - asyncio.futures.Future
    - asyncio.get_running_loop
    - traitlets.Instance.clone
    - typing.cast
    - traitlets.Instance.destroy
    - jupyter_client.manager.KernelManager._async_launch_kernel
    - jupyter_client.manager.KernelManager._async_interrupt_kernel
    - jupyter_client.manager.KernelManager._async_start_kernel
    - jupyter_client.manager.KernelManager._async_shutdown_kernel
    - asyncio.ensure_future
    - <builtin>.setattr
    - jupyter_client.connect.ConnectionFileMixin.get_connection_info
    - <builtin>.isinstance
    - jupyter_client.connect.ConnectionFileMixin._make_url
    - jupyter_client.manager.KernelManager._async_send_kernel_sigterm
    - key.encode
    - jupyter_client.manager.KernelManager._async_pre_start_kernel
    - <builtin>.all
    - traitlets.Instance.msg
    - <builtin>.max
    - asyncio.wait_for
    - conn1.get
    - uuid.uuid4
    - jupyter_client.connect.ConnectionFileMixin._reconcile_connection_info
    - jupyter_client.manager.KernelManager._async_is_alive
    - jupyter_client.localinterfaces.localhost
    - jupyter_client.manager.KernelManager.start_restarter
    - info.get
    - kw.copy
    - jupyter_client.connect.ConnectionFileMixin.cleanup_connection_file
    - jupyter_client.manager.KernelManager._async_finish_shutdown
    - info.update
    - jupyter_client.connect.ConnectionFileMixin.load_connection_info
    - jupyter_client.manager.KernelManager._async_signal_kernel
    - os.path.exists
    - jupyter_client.manager.KernelManager.stop_restarter
    - kw.pop
    - jupyter_client.manager.KernelManager._connect_control_socket
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 7
    IfCount: 3
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7fc4aca0b550>
    - <ast.Constant object at 0x7fc4aca0b520>
    argNames:
    - self
    - now
    - restart
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 516
    functionName: jupyter_client.manager.KernelManager._async_shutdown_kernel
    functionSourceFile: jupyter_client.manager
    functionUses: 2
    functionsReached:
    - jupyter_client.connect.ConnectionFileMixin.cleanup_ipc_files
    - traitlets.config.LoggingConfigurable.log.warning
    - traitlets.Instance.send
    - sock.connect
    - jupyter_client.manager.KernelManager._async_wait
    - jupyter_client.connect.ConnectionFileMixin._create_connected_socket
    - jupyter_client.manager.KernelManager._async_request_shutdown
    - asyncio.sleep
    - jupyter_client.manager.KernelManager._async_cleanup_resources
    - jupyter_client.manager.KernelManager._close_control_socket
    - jupyter_client.manager.KernelManager._async_kill_kernel
    - traitlets.Instance.socket
    - traitlets.config.LoggingConfigurable.log.debug
    - <builtin>.getattr
    - os.remove
    - typing.cast
    - traitlets.Instance.destroy
    - jupyter_client.manager.KernelManager._async_interrupt_kernel
    - asyncio.ensure_future
    - jupyter_client.connect.ConnectionFileMixin._make_url
    - <builtin>.isinstance
    - jupyter_client.manager.KernelManager._async_send_kernel_sigterm
    - traitlets.Instance.msg
    - <builtin>.max
    - asyncio.wait_for
    - jupyter_client.manager.KernelManager._async_is_alive
    - jupyter_client.connect.ConnectionFileMixin.cleanup_connection_file
    - jupyter_client.manager.KernelManager._async_finish_shutdown
    - jupyter_client.manager.KernelManager._async_signal_kernel
    - jupyter_client.manager.KernelManager.stop_restarter
    - jupyter_client.manager.KernelManager._connect_control_socket
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 4
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - kw
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 422
    functionName: jupyter_client.manager.KernelManager._async_start_kernel
    functionSourceFile: jupyter_client.manager
    functionUses: 2
    functionsReached:
    - json.load
    - jupyter_client.connect.ConnectionFileMixin._ip_default
    - jupyter_client.connect.ConnectionFileMixin.write_connection_file
    - os.path.splitext
    - conn2.get
    - jupyter_client.connect.ConnectionFileMixin._record_random_port_names
    - jupyter_client.manager.KernelManager._async_post_start_kernel
    - sock.connect
    - jupyter_client.connect.ConnectionFileMixin._create_connected_socket
    - jupyter_client.connect.ConnectionFileMixin._equal_connections
    - traitlets.Instance.socket
    - traitlets.config.LoggingConfigurable.log.debug
    - traitlets.config.SingletonConfigurable.instance
    - <builtin>.getattr
    - os.remove
    - <builtin>.open
    - <builtin>.str
    - traitlets.Instance.clone
    - jupyter_client.manager.KernelManager._async_launch_kernel
    - <builtin>.setattr
    - jupyter_client.connect.ConnectionFileMixin.get_connection_info
    - jupyter_client.connect.ConnectionFileMixin._make_url
    - <builtin>.isinstance
    - key.encode
    - jupyter_client.manager.KernelManager._async_pre_start_kernel
    - <builtin>.all
    - jupyter_client.localinterfaces.localhost
    - info.get
    - conn1.get
    - uuid.uuid4
    - jupyter_client.connect.ConnectionFileMixin._reconcile_connection_info
    - jupyter_client.manager.KernelManager.start_restarter
    - kw.copy
    - info.update
    - jupyter_client.connect.ConnectionFileMixin.load_connection_info
    - os.path.exists
    - kw.pop
    - jupyter_client.manager.KernelManager._connect_control_socket
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 109
    functionName: jupyter_client.manager.KernelManager.__init__
    functionSourceFile: jupyter_client.manager
    functionUses: 4
    functionsReached:
    - <builtin>.super
    - kwargs.pop
    - 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: 2
    functionLinenumber: -1
    functionName: jupyter_client.manager.KernelManager
    functionSourceFile: jupyter_client.manager
    functionUses: 0
    functionsReached:
    - jupyter_client.manager.in_pending_state
    - traitlets.DottedObjectName
    - typing.cast
    - functools.wraps
    - traitlets.Instance
    - jupyter_core.utils.run_sync
    - traitlets.Unicode
    - traitlets.observe
    - traitlets.observe_compat
    - traitlets.Float
    - traitlets.Type
    - traitlets.default
    - traitlets.Bool
    - traitlets.Dict
    - typing.no_type_check
    - traitlets.Any
    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: 132
    functionName: jupyter_client.manager.KernelManager._context_default
    functionSourceFile: jupyter_client.manager
    functionUses: 0
    functionsReached:
    - zmq.Context
    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: 143
    functionName: jupyter_client.manager.KernelManager._client_factory_default
    functionSourceFile: jupyter_client.manager
    functionUses: 0
    functionsReached:
    - traitlets.utils.importstring.import_item
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - change
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 147
    functionName: jupyter_client.manager.KernelManager._client_class_changed
    functionSourceFile: jupyter_client.manager
    functionUses: 0
    functionsReached:
    - traitlets.utils.importstring.import_item
    - <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: 1
    functionLinenumber: 160
    functionName: jupyter_client.manager.KernelManager._kernel_spec_manager_default
    functionSourceFile: jupyter_client.manager
    functionUses: 0
    functionsReached:
    - traitlets.config.LoggingConfigurable.__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: traitlets.config.LoggingConfigurable.__init__
    functionSourceFile: ''
    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: traitlets.observe_compat
    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
    - change
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 165
    functionName: jupyter_client.manager.KernelManager._kernel_spec_manager_changed
    functionSourceFile: jupyter_client.manager
    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
    - change
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 185
    functionName: jupyter_client.manager.KernelManager._kernel_name_changed
    functionSourceFile: jupyter_client.manager
    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: 193
    functionName: jupyter_client.manager.KernelManager.kernel_spec
    functionSourceFile: jupyter_client.manager
    functionUses: 0
    functionsReached:
    - traitlets.config.LoggingConfigurable.kernel_spec_manager.get_kernel_spec
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: traitlets.config.LoggingConfigurable.kernel_spec_manager.get_kernel_spec
    functionSourceFile: traitlets
    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: 205
    functionName: jupyter_client.manager.KernelManager._default_cache_ports
    functionSourceFile: jupyter_client.manager
    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: 209
    functionName: jupyter_client.manager.KernelManager.ready
    functionSourceFile: jupyter_client.manager
    functionUses: 0
    functionsReached:
    - asyncio.futures.Future
    - jupyter_client.manager._get_future
    - concurrent.futures.Future
    - asyncio.get_running_loop
    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: 216
    functionName: jupyter_client.manager.KernelManager.ipykernel
    functionSourceFile: jupyter_client.manager
    functionUses: 0
    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: 231
    functionName: jupyter_client.manager.KernelManager.__del__
    functionSourceFile: jupyter_client.manager
    functionUses: 0
    functionsReached:
    - jupyter_client.manager.KernelManager._close_control_socket
    - jupyter_client.connect.ConnectionFileMixin.cleanup_connection_file
    - os.remove
    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: 369
    functionName: jupyter_client.manager.KernelManager._close_control_socket
    functionSourceFile: ''
    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: 239
    functionName: jupyter_client.manager.KernelManager.start_restarter
    functionSourceFile: jupyter_client.manager
    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:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 243
    functionName: jupyter_client.manager.KernelManager.stop_restarter
    functionSourceFile: jupyter_client.manager
    functionUses: 3
    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 0x7fc4ab247d30>
    argNames:
    - self
    - callback
    - event
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 247
    functionName: jupyter_client.manager.KernelManager.add_restart_callback
    functionSourceFile: jupyter_client.manager
    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 0x7fc4ab08b190>
    argNames:
    - self
    - callback
    - event
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 253
    functionName: jupyter_client.manager.KernelManager.remove_restart_callback
    functionSourceFile: jupyter_client.manager
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 4
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 263
    functionName: jupyter_client.manager.KernelManager.client
    functionSourceFile: jupyter_client.manager
    functionUses: 2
    functionsReached:
    - traitlets.utils.importstring.import_item
    - traitlets.Instance.clone
    - info.update
    - jupyter_client.connect.ConnectionFileMixin.get_connection_info
    - kw.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: kw.update
    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:
    - self
    - env
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 282
    functionName: jupyter_client.manager.KernelManager.update_env
    functionSourceFile: jupyter_client.manager
    functionUses: 0
    functionsReached:
    - <builtin>.isinstance
    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 0x7fc4ad111f10>
    argNames:
    - self
    - extra_arguments
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 303
    functionName: jupyter_client.manager.KernelManager.format_kernel_cmd
    functionSourceFile: jupyter_client.manager
    functionUses: 0
    functionsReached:
    - re.compile
    - pat.sub
    - os.path.realpath
    - ns.update
    - <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: ns.update
    functionSourceFile: <builtin>
    functionUses: 11
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - match
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 340
    functionName: jupyter_client.manager.KernelManager.format_kernel_cmd.from_ns
    functionSourceFile: jupyter_client.manager
    functionUses: 0
    functionsReached:
    - ns.get
    - 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: match.group
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: ns.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: pat.sub
    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
    - kernel_cmd
    - kw
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 346
    functionName: jupyter_client.manager.KernelManager._async_launch_kernel
    functionSourceFile: jupyter_client.manager
    functionUses: 3
    functionsReached:
    - json.load
    - jupyter_client.connect.ConnectionFileMixin._ip_default
    - jupyter_client.connect.ConnectionFileMixin.write_connection_file
    - os.path.splitext
    - conn2.get
    - jupyter_client.connect.ConnectionFileMixin._record_random_port_names
    - jupyter_client.connect.ConnectionFileMixin._equal_connections
    - <builtin>.getattr
    - os.remove
    - <builtin>.open
    - traitlets.Instance.clone
    - <builtin>.setattr
    - jupyter_client.connect.ConnectionFileMixin.get_connection_info
    - <builtin>.isinstance
    - key.encode
    - <builtin>.all
    - jupyter_client.localinterfaces.localhost
    - info.get
    - conn1.get
    - jupyter_client.connect.ConnectionFileMixin._reconcile_connection_info
    - info.update
    - jupyter_client.connect.ConnectionFileMixin.load_connection_info
    - os.path.exists
    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: 364
    functionName: jupyter_client.manager.KernelManager._connect_control_socket
    functionSourceFile: jupyter_client.manager
    functionUses: 7
    functionsReached:
    - jupyter_client.connect.ConnectionFileMixin._create_connected_socket
    - traitlets.Instance.socket
    - jupyter_client.connect.ConnectionFileMixin._make_url
    - traitlets.config.LoggingConfigurable.log.debug
    - sock.connect
    - <builtin>.getattr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - kw
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 375
    functionName: jupyter_client.manager.KernelManager._async_pre_start_kernel
    functionSourceFile: jupyter_client.manager
    functionUses: 3
    functionsReached:
    - uuid.uuid4
    - kw.copy
    - traitlets.config.SingletonConfigurable.instance
    - kw.pop
    - <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: kw.pop
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: kw.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: traitlets.config.SingletonConfigurable.instance
    functionSourceFile: traitlets
    functionUses: 39
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 4
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - kw
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 406
    functionName: jupyter_client.manager.KernelManager._async_post_start_kernel
    functionSourceFile: jupyter_client.manager
    functionUses: 3
    functionsReached:
    - jupyter_client.connect.ConnectionFileMixin._create_connected_socket
    - jupyter_client.manager.KernelManager.start_restarter
    - traitlets.Instance.socket
    - jupyter_client.connect.ConnectionFileMixin._make_url
    - traitlets.config.LoggingConfigurable.log.debug
    - sock.connect
    - <builtin>.getattr
    - jupyter_client.manager.KernelManager._connect_control_socket
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 4
    IfCount: 0
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7fc4aca03940>
    argNames:
    - self
    - restart
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 444
    functionName: jupyter_client.manager.KernelManager._async_request_shutdown
    functionSourceFile: jupyter_client.manager
    functionUses: 3
    functionsReached:
    - jupyter_client.connect.ConnectionFileMixin._create_connected_socket
    - traitlets.Instance.send
    - traitlets.Instance.socket
    - jupyter_client.connect.ConnectionFileMixin._make_url
    - traitlets.config.LoggingConfigurable.log.debug
    - sock.connect
    - <builtin>.getattr
    - jupyter_client.manager.KernelManager._connect_control_socket
    - traitlets.Instance.msg
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: traitlets.Instance.send
    functionSourceFile: traitlets
    functionUses: 9
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 8
    IfCount: 3
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7fc4aca05be0>
    - <ast.Constant object at 0x7fc4aca05bb0>
    - <ast.Constant object at 0x7fc4aca05b80>
    argNames:
    - self
    - waittime
    - pollinterval
    - restart
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 457
    functionName: jupyter_client.manager.KernelManager._async_finish_shutdown
    functionSourceFile: jupyter_client.manager
    functionUses: 3
    functionsReached:
    - <builtin>.max
    - asyncio.wait_for
    - jupyter_client.manager.KernelManager._async_is_alive
    - asyncio.sleep
    - traitlets.config.LoggingConfigurable.log.warning
    - jupyter_client.manager.KernelManager._async_kill_kernel
    - traitlets.config.LoggingConfigurable.log.debug
    - jupyter_client.manager.KernelManager._async_send_kernel_sigterm
    - jupyter_client.manager.KernelManager._async_wait
    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 0x7fc4aca1da60>
    argNames:
    - self
    - pollinterval
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 704
    functionName: jupyter_client.manager.KernelManager._async_wait
    functionSourceFile: jupyter_client.manager
    functionUses: 5
    functionsReached:
    - jupyter_client.manager.KernelManager._async_is_alive
    - asyncio.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: asyncio.wait_for
    functionSourceFile: asyncio
    functionUses: 5
    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 0x7fc4aca0d430>
    argNames:
    - self
    - restart
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 609
    functionName: jupyter_client.manager.KernelManager._async_send_kernel_sigterm
    functionSourceFile: ''
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    IfCount: 2
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7fc4aca14dc0>
    argNames:
    - self
    - restart
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 617
    functionName: jupyter_client.manager.KernelManager._async_kill_kernel
    functionSourceFile: jupyter_client.manager
    functionUses: 4
    functionsReached:
    - asyncio.wait_for
    - jupyter_client.manager.KernelManager._async_is_alive
    - asyncio.sleep
    - traitlets.config.LoggingConfigurable.log.warning
    - jupyter_client.manager.KernelManager._async_wait
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 6
    IfCount: 3
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7fc4aca0e220>
    argNames:
    - self
    - restart
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 498
    functionName: jupyter_client.manager.KernelManager._async_cleanup_resources
    functionSourceFile: jupyter_client.manager
    functionUses: 3
    functionsReached:
    - jupyter_client.connect.ConnectionFileMixin.cleanup_ipc_files
    - traitlets.Instance.destroy
    - jupyter_client.connect.ConnectionFileMixin.cleanup_connection_file
    - jupyter_client.manager.KernelManager._close_control_socket
    - os.remove
    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: 4
    functionLinenumber: 640
    functionName: jupyter_client.manager.KernelManager._async_interrupt_kernel
    functionSourceFile: jupyter_client.manager
    functionUses: 3
    functionsReached:
    - jupyter_client.connect.ConnectionFileMixin._create_connected_socket
    - typing.cast
    - traitlets.Instance.send
    - asyncio.ensure_future
    - traitlets.Instance.socket
    - jupyter_client.manager.KernelManager._async_signal_kernel
    - jupyter_client.connect.ConnectionFileMixin._make_url
    - <builtin>.isinstance
    - traitlets.config.LoggingConfigurable.log.debug
    - sock.connect
    - <builtin>.getattr
    - jupyter_client.manager.KernelManager._connect_control_socket
    - traitlets.Instance.msg
    linkageType: pythonLinkage
    raised:
    - RuntimeError
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    IfCount: 2
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7fc4aca12580>
    - <ast.Constant object at 0x7fc4aca12550>
    argNames:
    - self
    - now
    - newports
    - kw
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 557
    functionName: jupyter_client.manager.KernelManager._async_restart_kernel
    functionSourceFile: jupyter_client.manager
    functionUses: 0
    functionsReached:
    - json.load
    - jupyter_client.connect.ConnectionFileMixin._ip_default
    - jupyter_client.connect.ConnectionFileMixin.write_connection_file
    - jupyter_client.connect.ConnectionFileMixin.cleanup_ipc_files
    - traitlets.config.LoggingConfigurable.log.warning
    - conn2.get
    - traitlets.Instance.send
    - os.path.splitext
    - jupyter_client.connect.ConnectionFileMixin._record_random_port_names
    - jupyter_client.manager.KernelManager._async_post_start_kernel
    - sock.connect
    - jupyter_client.manager.KernelManager._async_wait
    - jupyter_client.connect.ConnectionFileMixin.cleanup_random_ports
    - jupyter_client.connect.ConnectionFileMixin._create_connected_socket
    - jupyter_client.manager.KernelManager._async_request_shutdown
    - asyncio.sleep
    - jupyter_client.manager.KernelManager._async_cleanup_resources
    - jupyter_client.manager.KernelManager._close_control_socket
    - jupyter_client.manager.KernelManager._async_kill_kernel
    - jupyter_client.connect.ConnectionFileMixin._equal_connections
    - traitlets.Instance.socket
    - traitlets.config.LoggingConfigurable.log.debug
    - traitlets.config.SingletonConfigurable.instance
    - <builtin>.getattr
    - <builtin>.open
    - os.remove
    - <builtin>.str
    - traitlets.Instance.clone
    - typing.cast
    - traitlets.Instance.destroy
    - jupyter_client.manager.KernelManager._async_launch_kernel
    - jupyter_client.manager.KernelManager._async_interrupt_kernel
    - jupyter_client.manager.KernelManager._async_start_kernel
    - jupyter_client.manager.KernelManager._async_shutdown_kernel
    - asyncio.ensure_future
    - <builtin>.setattr
    - jupyter_client.connect.ConnectionFileMixin.get_connection_info
    - <builtin>.isinstance
    - jupyter_client.connect.ConnectionFileMixin._make_url
    - jupyter_client.manager.KernelManager._async_send_kernel_sigterm
    - key.encode
    - jupyter_client.manager.KernelManager._async_pre_start_kernel
    - <builtin>.all
    - traitlets.Instance.msg
    - <builtin>.max
    - asyncio.wait_for
    - conn1.get
    - jupyter_client.localinterfaces.localhost
    - jupyter_client.connect.ConnectionFileMixin._reconcile_connection_info
    - jupyter_client.manager.KernelManager._async_is_alive
    - info.get
    - jupyter_client.manager.KernelManager.start_restarter
    - uuid.uuid4
    - kw.copy
    - jupyter_client.connect.ConnectionFileMixin.cleanup_connection_file
    - jupyter_client.manager.KernelManager._async_finish_shutdown
    - info.update
    - jupyter_client.connect.ConnectionFileMixin.load_connection_info
    - jupyter_client.manager.KernelManager._async_signal_kernel
    - os.path.exists
    - jupyter_client.manager.KernelManager.stop_restarter
    - kw.pop
    - jupyter_client.manager.KernelManager._connect_control_socket
    linkageType: pythonLinkage
    raised:
    - RuntimeError
    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: 601
    functionName: jupyter_client.manager.KernelManager.owns_kernel
    functionSourceFile: jupyter_client.manager
    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: 605
    functionName: jupyter_client.manager.KernelManager.has_kernel
    functionSourceFile: jupyter_client.manager
    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
    - signum
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 673
    functionName: jupyter_client.manager.KernelManager._async_signal_kernel
    functionSourceFile: ''
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - RuntimeError
    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: 0
    functionLinenumber: 690
    functionName: jupyter_client.manager.KernelManager._async_is_alive
    functionSourceFile: jupyter_client.manager
    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: jupyter_client.manager.AsyncKernelManager
    functionSourceFile: jupyter_client.manager
    functionUses: 0
    functionsReached:
    - traitlets.default
    - traitlets.Instance
    - traitlets.DottedObjectName
    - traitlets.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: 1
    functionLinenumber: 726
    functionName: jupyter_client.manager.AsyncKernelManager._context_default
    functionSourceFile: jupyter_client.manager
    functionUses: 0
    functionsReached:
    - zmq.asyncio.Context
    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: 730
    functionName: jupyter_client.manager.AsyncKernelManager.client
    functionSourceFile: jupyter_client.manager
    functionUses: 3
    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: KernelManagerABC.register
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 6
    IfCount: 0
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7fc4aa77c100>
    - <ast.Constant object at 0x7fc4aa77c130>
    argNames:
    - startup_timeout
    - kernel_name
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 755
    functionName: jupyter_client.manager.start_new_kernel
    functionSourceFile: jupyter_client.manager
    functionUses: 1
    functionsReached:
    - kc.stop_channels
    - traitlets.utils.importstring.import_item
    - traitlets.Instance.clone
    - jupyter_client.manager.KernelManager.__init__
    - <builtin>.super
    - kc.wait_for_ready
    - kc.start_channels
    - info.update
    - jupyter_client.manager.AsyncKernelManager.client
    - jupyter_client.connect.ConnectionFileMixin.get_connection_info
    - kwargs.pop
    - warnings.warn
    - kw.update
    - jupyter_client.manager.KernelManager.client
    - jupyter_core.utils.run_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: kc.start_channels
    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: kc.wait_for_ready
    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: kc.stop_channels
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 6
    IfCount: 0
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7fc4aa77cdf0>
    - <ast.Constant object at 0x7fc4aa77ce20>
    argNames:
    - startup_timeout
    - kernel_name
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 773
    functionName: jupyter_client.manager.start_new_async_kernel
    functionSourceFile: jupyter_client.manager
    functionUses: 0
    functionsReached:
    - kc.stop_channels
    - jupyter_client.manager.KernelManager.__init__
    - <builtin>.super
    - kc.wait_for_ready
    - kc.start_channels
    - jupyter_client.manager.AsyncKernelManager.client
    - kwargs.pop
    - warnings.warn
    - jupyter_core.utils.run_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: contextlib.contextmanager
    functionSourceFile: ''
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 4
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - kwargs
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 792
    functionName: jupyter_client.manager.run_kernel
    functionSourceFile: jupyter_client.manager
    functionUses: 0
    functionsReached:
    - kc.stop_channels
    - traitlets.utils.importstring.import_item
    - km.shutdown_kernel
    - traitlets.Instance.clone
    - jupyter_client.manager.KernelManager.__init__
    - <builtin>.super
    - kc.wait_for_ready
    - kc.start_channels
    - info.update
    - jupyter_client.manager.start_new_kernel
    - jupyter_client.manager.AsyncKernelManager.client
    - jupyter_client.connect.ConnectionFileMixin.get_connection_info
    - kwargs.pop
    - warnings.warn
    - kw.update
    - jupyter_client.manager.KernelManager.client
    - jupyter_core.utils.run_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: km.shutdown_kernel
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: jupyter_client.kernelspec
    functionSourceFile: jupyter_client.kernelspec
    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: traitlets.List
    functionSourceFile: traitlets
    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: 1
    functionLinenumber: -1
    functionName: jupyter_client.kernelspec.KernelSpec
    functionSourceFile: jupyter_client.kernelspec
    functionUses: 0
    functionsReached:
    - traitlets.List
    - traitlets.Unicode
    - traitlets.CaselessStrEnum
    - traitlets.Dict
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - cls
    - resource_dir
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 38
    functionName: jupyter_client.kernelspec.KernelSpec.from_resource_dir
    functionSourceFile: jupyter_client.kernelspec
    functionUses: 0
    functionsReached:
    - json.load
    - traitlets.HasTraits.__init__
    - <builtin>.open
    - 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: traitlets.HasTraits.__init__
    functionSourceFile: ''
    functionUses: 15
    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: 48
    functionName: jupyter_client.kernelspec.KernelSpec.to_dict
    functionSourceFile: jupyter_client.kernelspec
    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: 61
    functionName: jupyter_client.kernelspec.KernelSpec.to_json
    functionSourceFile: jupyter_client.kernelspec
    functionUses: 0
    functionsReached:
    - jupyter_client.kernelspec.KernelSpec.to_dict
    - json.dumps
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - name
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 72
    functionName: jupyter_client.kernelspec._is_valid_kernel_name
    functionSourceFile: jupyter_client.kernelspec
    functionUses: 9
    functionsReached:
    - _kernel_name_pat.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: _kernel_name_pat.match
    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:
    - path
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 84
    functionName: jupyter_client.kernelspec._is_kernel_dir
    functionSourceFile: jupyter_client.kernelspec
    functionUses: 8
    functionsReached:
    - os.path.isfile
    - os.path.join
    - os.path.isdir
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: 61
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 2
    IfCount: 3
    argCount: 1
    argDefaultValues: []
    argNames:
    - dir
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 89
    functionName: jupyter_client.kernelspec._list_kernels_in
    functionSourceFile: jupyter_client.kernelspec
    functionUses: 4
    functionsReached:
    - f.lower
    - jupyter_client.kernelspec._is_valid_kernel_name
    - os.path.isfile
    - jupyter_client.kernelspec._is_kernel_dir
    - os.path.join
    - _kernel_name_pat.match
    - warnings.warn
    - os.path.isdir
    - os.listdir
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: os.listdir
    functionSourceFile: os
    functionUses: 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: f.lower
    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:
    - self
    - name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 114
    functionName: jupyter_client.kernelspec.NoSuchKernel.__init__
    functionSourceFile: jupyter_client.kernelspec
    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: 118
    functionName: jupyter_client.kernelspec.NoSuchKernel.__str__
    functionSourceFile: jupyter_client.kernelspec
    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: jupyter_client.kernelspec.KernelSpecManager
    functionSourceFile: jupyter_client.kernelspec
    functionUses: 0
    functionsReached:
    - traitlets.List
    - <builtin>.list
    - traitlets.Set
    - traitlets.Unicode
    - traitlets.observe
    - traitlets.Type
    - traitlets.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: 143
    functionName: jupyter_client.kernelspec.KernelSpecManager._data_dir_default
    functionSourceFile: jupyter_client.kernelspec
    functionUses: 0
    functionsReached:
    - jupyter_core.paths.jupyter_data_dir
    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: 148
    functionName: jupyter_client.kernelspec.KernelSpecManager._user_kernel_dir_default
    functionSourceFile: jupyter_client.kernelspec
    functionUses: 0
    functionsReached:
    - os.path.join
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - change
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 174
    functionName: jupyter_client.kernelspec.KernelSpecManager._deprecated_trait
    functionSourceFile: jupyter_client.kernelspec
    functionUses: 0
    functionsReached:
    - <builtin>.setattr
    - <builtin>.getattr
    - traitlets.config.LoggingConfigurable.log.warning
    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: 189
    functionName: jupyter_client.kernelspec.KernelSpecManager._kernel_dirs_default
    functionSourceFile: jupyter_client.kernelspec
    functionUses: 0
    functionsReached:
    - jupyter_core.paths.jupyter_path.append
    - jupyter_core.paths.jupyter_path
    - os.path.join
    - IPython.paths.get_ipython_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: jupyter_core.paths.jupyter_path
    functionSourceFile: jupyter_core
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: IPython.paths.get_ipython_dir
    functionSourceFile: IPython
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: jupyter_core.paths.jupyter_path.append
    functionSourceFile: jupyter_core
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 4
    IfCount: 3
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 202
    functionName: jupyter_client.kernelspec.KernelSpecManager.find_kernel_specs
    functionSourceFile: jupyter_client.kernelspec
    functionUses: 3
    functionsReached:
    - f.lower
    - jupyter_client.kernelspec._is_valid_kernel_name
    - jupyter_client.kernelspec._list_kernels_in
    - os.path.isfile
    - jupyter_client.kernelspec._is_kernel_dir
    - os.path.join
    - traitlets.config.LoggingConfigurable.log.warning
    - kernels.items
    - _kernel_name_pat.match
    - d.items
    - os.path.isdir
    - warnings.warn
    - traitlets.config.LoggingConfigurable.log.debug
    - os.listdir
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: kernels.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: d.items
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 1
    IfCount: 4
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - kernel_name
    - resource_dir
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 231
    functionName: jupyter_client.kernelspec.KernelSpecManager._get_kernel_spec_by_name
    functionSourceFile: jupyter_client.kernelspec
    functionUses: 3
    functionsReached:
    - traitlets.config.SingletonConfigurable.instance
    - ipykernel.kernelspec.get_kernel_dict
    - traitlets.Type.from_resource_dir
    - traitlets.Type
    linkageType: pythonLinkage
    raised:
    - NoSuchKernel
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: ipykernel.kernelspec.get_kernel_dict
    functionSourceFile: ipykernel
    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: traitlets.Type.from_resource_dir
    functionSourceFile: traitlets
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - kernel_name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 254
    functionName: jupyter_client.kernelspec.KernelSpecManager._find_spec_directory
    functionSourceFile: jupyter_client.kernelspec
    functionUses: 3
    functionsReached:
    - f.lower
    - os.path.isfile
    - jupyter_client.kernelspec._is_kernel_dir
    - os.path.join
    - os.path.isdir
    - os.listdir
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - kernel_name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 272
    functionName: jupyter_client.kernelspec.KernelSpecManager.get_kernel_spec
    functionSourceFile: jupyter_client.kernelspec
    functionUses: 2
    functionsReached:
    - jupyter_client.kernelspec.KernelSpecManager._get_kernel_spec_by_name
    - f.lower
    - jupyter_client.kernelspec._is_valid_kernel_name
    - os.path.isfile
    - traitlets.config.SingletonConfigurable.instance
    - jupyter_client.kernelspec._is_kernel_dir
    - os.path.join
    - traitlets.config.LoggingConfigurable.log.warning
    - kernel_name.lower
    - ipykernel.kernelspec.get_kernel_dict
    - traitlets.Type.from_resource_dir
    - _kernel_name_pat.match
    - os.path.isdir
    - traitlets.Type
    - jupyter_client.kernelspec.KernelSpecManager._find_spec_directory
    - os.listdir
    linkageType: pythonLinkage
    raised:
    - NoSuchKernel
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: kernel_name.lower
    functionSourceFile: <builtin>
    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: 4
    functionLinenumber: 289
    functionName: jupyter_client.kernelspec.KernelSpecManager.get_all_specs
    functionSourceFile: jupyter_client.kernelspec
    functionUses: 0
    functionsReached:
    - jupyter_client.kernelspec.KernelSpecManager._get_kernel_spec_by_name
    - jupyter_client.kernelspec._list_kernels_in
    - jupyter_client.kernelspec._is_kernel_dir
    - traitlets.config.LoggingConfigurable.log.warning
    - ipykernel.kernelspec.get_kernel_dict
    - jupyter_client.kernelspec.KernelSpecManager.find_kernel_specs
    - traitlets.Type.from_resource_dir
    - kernels.items
    - d.items
    - traitlets.Type
    - jupyter_client.kernelspec._is_valid_kernel_name
    - jupyter_client.kernelspec.KernelSpecManager.get_kernel_spec
    - warnings.warn
    - traitlets.config.LoggingConfigurable.log.debug
    - traitlets.config.SingletonConfigurable.instance
    - os.listdir
    - os.path.join
    - kernel_name.lower
    - os.path.isdir
    - jupyter_client.kernelspec.KernelSpecManager._find_spec_directory
    - f.lower
    - os.path.isfile
    - _kernel_name_pat.match
    - spec.to_dict
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: spec.to_dict
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 4
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 321
    functionName: jupyter_client.kernelspec.KernelSpecManager.remove_kernel_spec
    functionSourceFile: jupyter_client.kernelspec
    functionUses: 0
    functionsReached:
    - f.lower
    - jupyter_client.kernelspec._is_valid_kernel_name
    - jupyter_client.kernelspec._list_kernels_in
    - os.path.isfile
    - jupyter_client.kernelspec._is_kernel_dir
    - os.path.join
    - traitlets.config.LoggingConfigurable.log.warning
    - os.path.islink
    - shutil.rmtree
    - jupyter_client.kernelspec.KernelSpecManager.find_kernel_specs
    - kernels.items
    - _kernel_name_pat.match
    - d.items
    - os.path.isdir
    - warnings.warn
    - traitlets.config.LoggingConfigurable.log.debug
    - os.listdir
    - os.remove
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: os.path.islink
    functionSourceFile: os
    functionUses: 25
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: shutil.rmtree
    functionSourceFile: shutil
    functionUses: 4
    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 0x7fc4ad6a6910>
    - <ast.Constant object at 0x7fc4ad6a68e0>
    argNames:
    - self
    - kernel_name
    - user
    - prefix
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 340
    functionName: jupyter_client.kernelspec.KernelSpecManager._get_destination_dir
    functionSourceFile: jupyter_client.kernelspec
    functionUses: 2
    functionsReached:
    - os.path.abspath
    - os.path.join
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 9
    ICount: 8
    IfCount: 6
    argCount: 6
    argDefaultValues:
    - <ast.Constant object at 0x7fc4ad6a7d00>
    - <ast.Constant object at 0x7fc4ad6a7cd0>
    - <ast.Constant object at 0x7fc4ad6a7ca0>
    - <ast.Constant object at 0x7fc4ad6a7c70>
    argNames:
    - self
    - source_dir
    - kernel_name
    - user
    - replace
    - prefix
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 350
    functionName: jupyter_client.kernelspec.KernelSpecManager.install_kernel_spec
    functionSourceFile: jupyter_client.kernelspec
    functionUses: 1
    functionsReached:
    - jupyter_client.kernelspec._is_valid_kernel_name
    - os.path.join
    - traitlets.config.LoggingConfigurable.log.warning
    - kernel_name.lower
    - os.path.basename
    - jupyter_client.kernelspec.KernelSpecManager._get_destination_dir
    - shutil.rmtree
    - shutil.copytree
    - _kernel_name_pat.match
    - os.path.abspath
    - warnings.warn
    - os.path.dirname
    - traitlets.config.LoggingConfigurable.log.debug
    - os.path.isdir
    - traitlets.config.LoggingConfigurable.log.info
    - source_dir.rstrip
    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: source_dir.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: os.path.basename
    functionSourceFile: os
    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: traitlets.config.LoggingConfigurable.log.info
    functionSourceFile: traitlets
    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: shutil.copytree
    functionSourceFile: shutil
    functionUses: 6
    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 0x7fc4ac5dcf40>
    argNames:
    - self
    - user
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 410
    functionName: jupyter_client.kernelspec.KernelSpecManager.install_native_kernel_spec
    functionSourceFile: jupyter_client.kernelspec
    functionUses: 1
    functionsReached:
    - ipykernel.kernelspec.install
    - 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: ipykernel.kernelspec.install
    functionSourceFile: ipykernel
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 421
    functionName: jupyter_client.kernelspec.find_kernel_specs
    functionSourceFile: jupyter_client.kernelspec
    functionUses: 0
    functionsReached:
    - f.lower
    - jupyter_client.kernelspec._is_valid_kernel_name
    - jupyter_client.kernelspec._list_kernels_in
    - os.path.isfile
    - jupyter_client.kernelspec._is_kernel_dir
    - os.path.join
    - traitlets.config.LoggingConfigurable.log.warning
    - traitlets.config.LoggingConfigurable.__init__
    - jupyter_client.kernelspec.KernelSpecManager.find_kernel_specs
    - kernels.items
    - _kernel_name_pat.match
    - d.items
    - os.path.isdir
    - warnings.warn
    - traitlets.config.LoggingConfigurable.log.debug
    - os.listdir
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - kernel_name
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 426
    functionName: jupyter_client.kernelspec.get_kernel_spec
    functionSourceFile: jupyter_client.kernelspec
    functionUses: 0
    functionsReached:
    - jupyter_client.kernelspec.KernelSpecManager._get_kernel_spec_by_name
    - f.lower
    - jupyter_client.kernelspec._is_valid_kernel_name
    - os.path.isfile
    - jupyter_client.kernelspec._is_kernel_dir
    - os.path.join
    - traitlets.config.LoggingConfigurable.log.warning
    - traitlets.config.LoggingConfigurable.__init__
    - jupyter_client.kernelspec.KernelSpecManager.get_kernel_spec
    - kernel_name.lower
    - ipykernel.kernelspec.get_kernel_dict
    - traitlets.Type.from_resource_dir
    - _kernel_name_pat.match
    - jupyter_client.kernelspec.KernelSpecManager._find_spec_directory
    - os.path.isdir
    - traitlets.Type
    - traitlets.config.SingletonConfigurable.instance
    - os.listdir
    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 0x7fc4ac5dc190>
    - <ast.Constant object at 0x7fc4ac5dc160>
    - <ast.Constant object at 0x7fc4ac5dc130>
    - <ast.Constant object at 0x7fc4ac5dc100>
    argNames:
    - source_dir
    - kernel_name
    - user
    - replace
    - prefix
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 434
    functionName: jupyter_client.kernelspec.install_kernel_spec
    functionSourceFile: jupyter_client.kernelspec
    functionUses: 0
    functionsReached:
    - jupyter_client.kernelspec._is_valid_kernel_name
    - os.path.join
    - traitlets.config.LoggingConfigurable.log.warning
    - traitlets.config.LoggingConfigurable.__init__
    - kernel_name.lower
    - os.path.basename
    - jupyter_client.kernelspec.KernelSpecManager._get_destination_dir
    - shutil.rmtree
    - shutil.copytree
    - _kernel_name_pat.match
    - os.path.abspath
    - warnings.warn
    - os.path.dirname
    - traitlets.config.LoggingConfigurable.log.debug
    - os.path.isdir
    - traitlets.config.LoggingConfigurable.log.info
    - source_dir.rstrip
    - jupyter_client.kernelspec.KernelSpecManager.install_kernel_spec
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 1
    argDefaultValues:
    - <ast.Constant object at 0x7fc4ac5bfbb0>
    argNames:
    - user
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 448
    functionName: jupyter_client.kernelspec.install_native_kernel_spec
    functionSourceFile: jupyter_client.kernelspec
    functionUses: 0
    functionsReached:
    - jupyter_client.kernelspec.KernelSpecManager.install_native_kernel_spec
    - ipykernel.kernelspec.install
    - warnings.warn
    - traitlets.config.LoggingConfigurable.__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: jupyter_client.provisioning
    functionSourceFile: jupyter_client.provisioning
    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: jupyter_client.provisioning.factory
    functionSourceFile: jupyter_client.provisioning.factory
    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: traitlets.config.Unicode
    functionSourceFile: traitlets
    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: jupyter_client.provisioning.factory.KernelProvisionerFactory
    functionSourceFile: jupyter_client.provisioning.factory
    functionUses: 0
    functionsReached:
    - traitlets.config.default
    - traitlets.config.Unicode
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: traitlets.config.default
    functionSourceFile: traitlets
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 46
    functionName: jupyter_client.provisioning.factory.KernelProvisionerFactory._default_provisioner_name_default
    functionSourceFile: jupyter_client.provisioning.factory
    functionUses: 0
    functionsReached:
    - os.getenv
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.getenv
    functionSourceFile: os
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 50
    functionName: jupyter_client.provisioning.factory.KernelProvisionerFactory.__init__
    functionSourceFile: jupyter_client.provisioning.factory
    functionUses: 0
    functionsReached:
    - <builtin>.super
    - importlib.metadata.entry_points
    - jupyter_client.provisioning.factory.KernelProvisionerFactory._get_all_provisioners
    - importlib_metadata.entry_points
    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: 167
    functionName: jupyter_client.provisioning.factory.KernelProvisionerFactory._get_all_provisioners
    functionSourceFile: jupyter_client.provisioning.factory
    functionUses: 1
    functionsReached:
    - importlib.metadata.entry_points
    - importlib_metadata.entry_points
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - kernel_spec
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 57
    functionName: jupyter_client.provisioning.factory.KernelProvisionerFactory.is_provisioner_available
    functionSourceFile: jupyter_client.provisioning.factory
    functionUses: 0
    functionsReached:
    - jupyter_client.provisioning.factory.KernelProvisionerFactory._check_availability
    - importlib.metadata.entry_points
    - provisioner_cfg.get
    - importlib.metadata.EntryPoint
    - jupyter_client.provisioning.factory.KernelProvisionerFactory._get_provisioner
    - importlib_metadata.entry_points
    - importlib_metadata.EntryPoint
    - jupyter_client.provisioning.factory.KernelProvisionerFactory._get_provisioner_config
    - env_provisioner.update
    - os.path.dirname
    - traitlets.config.SingletonConfigurable.log.warning
    - kernel_spec.metadata.get
    - glob.glob
    - <builtin>.str
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - kernel_spec
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 125
    functionName: jupyter_client.provisioning.factory.KernelProvisionerFactory._get_provisioner_config
    functionSourceFile: jupyter_client.provisioning.factory
    functionUses: 2
    functionsReached:
    - env_provisioner.update
    - kernel_spec.metadata.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: provisioner_cfg.get
    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
    - provisioner_name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 106
    functionName: jupyter_client.provisioning.factory.KernelProvisionerFactory._check_availability
    functionSourceFile: jupyter_client.provisioning.factory
    functionUses: 2
    functionsReached:
    - importlib.metadata.entry_points
    - importlib.metadata.EntryPoint
    - jupyter_client.provisioning.factory.KernelProvisionerFactory._get_provisioner
    - importlib_metadata.entry_points
    - importlib_metadata.EntryPoint
    - os.path.dirname
    - traitlets.config.SingletonConfigurable.log.warning
    - glob.glob
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: traitlets.config.SingletonConfigurable.log.warning
    functionSourceFile: traitlets
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - kernel_id
    - kernel_spec
    - parent
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 76
    functionName: jupyter_client.provisioning.factory.KernelProvisionerFactory.create_provisioner_instance
    functionSourceFile: jupyter_client.provisioning.factory
    functionUses: 0
    functionsReached:
    - traitlets.config.SingletonConfigurable.log.debug
    - jupyter_client.provisioning.factory.KernelProvisionerFactory._check_availability
    - importlib.metadata.entry_points
    - provisioner_cfg.get
    - importlib.metadata.EntryPoint
    - jupyter_client.provisioning.factory.KernelProvisionerFactory._get_provisioner
    - importlib_metadata.entry_points
    - importlib_metadata.EntryPoint
    - jupyter_client.provisioning.factory.KernelProvisionerFactory._get_provisioner_config
    - env_provisioner.update
    - traitlets.config.SingletonConfigurable.log.warning
    - os.path.dirname
    - kernel_spec.metadata.get
    - glob.glob
    - <builtin>.str
    linkageType: pythonLinkage
    raised:
    - ModuleNotFoundError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: traitlets.config.SingletonConfigurable.log.debug
    functionSourceFile: traitlets
    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
    - name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 171
    functionName: jupyter_client.provisioning.factory.KernelProvisionerFactory._get_provisioner
    functionSourceFile: jupyter_client.provisioning.factory
    functionUses: 3
    functionsReached:
    - importlib.metadata.entry_points
    - importlib_metadata.entry_points
    - importlib.metadata.EntryPoint
    - importlib_metadata.EntryPoint
    - os.path.dirname
    - traitlets.config.SingletonConfigurable.log.warning
    - glob.glob
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: kernel_spec.metadata.get
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: env_provisioner.update
    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: 154
    functionName: jupyter_client.provisioning.factory.KernelProvisionerFactory.get_provisioner_entries
    functionSourceFile: jupyter_client.provisioning.factory
    functionUses: 0
    functionsReached:
    - traitlets.config.SingletonConfigurable.provisioners.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: traitlets.config.SingletonConfigurable.provisioners.items
    functionSourceFile: traitlets
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: 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: importlib_metadata.entry_points
    functionSourceFile: importlib_metadata
    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: importlib_metadata.EntryPoint
    functionSourceFile: importlib_metadata
    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: importlib.metadata.EntryPoint
    functionSourceFile: importlib
    functionUses: 4
    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: jupyter_client.provisioning.provisioner_base
    functionSourceFile: jupyter_client.provisioning.provisioner_base
    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: traitlets.config.Instance
    functionSourceFile: traitlets
    functionUses: 1
    functionsReached: []
    linkageType: 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: jupyter_client.provisioning.provisioner_base.KernelProvisionerBase
    functionSourceFile: jupyter_client.provisioning.provisioner_base
    functionUses: 0
    functionsReached:
    - traitlets.config.Instance
    - traitlets.config.Unicode
    - abc.abstractmethod
    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: 38
    functionName: jupyter_client.provisioning.provisioner_base.KernelProvisionerBase.has_process
    functionSourceFile: jupyter_client.provisioning.provisioner_base
    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: 48
    functionName: jupyter_client.provisioning.provisioner_base.KernelProvisionerBase.poll
    functionSourceFile: jupyter_client.provisioning.provisioner_base
    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: 58
    functionName: jupyter_client.provisioning.provisioner_base.KernelProvisionerBase.wait
    functionSourceFile: jupyter_client.provisioning.provisioner_base
    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
    - signum
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 69
    functionName: jupyter_client.provisioning.provisioner_base.KernelProvisionerBase.send_signal
    functionSourceFile: jupyter_client.provisioning.provisioner_base
    functionUses: 0
    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 0x7fc4ac87baf0>
    argNames:
    - self
    - restart
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 79
    functionName: jupyter_client.provisioning.provisioner_base.KernelProvisionerBase.kill
    functionSourceFile: jupyter_client.provisioning.provisioner_base
    functionUses: 0
    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 0x7fc4ac87b3a0>
    argNames:
    - self
    - restart
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 92
    functionName: jupyter_client.provisioning.provisioner_base.KernelProvisionerBase.terminate
    functionSourceFile: jupyter_client.provisioning.provisioner_base
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - cmd
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 106
    functionName: jupyter_client.provisioning.provisioner_base.KernelProvisionerBase.launch_kernel
    functionSourceFile: jupyter_client.provisioning.provisioner_base
    functionUses: 0
    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 0x7fc4ad111b20>
    argNames:
    - self
    - restart
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 116
    functionName: jupyter_client.provisioning.provisioner_base.KernelProvisionerBase.cleanup
    functionSourceFile: jupyter_client.provisioning.provisioner_base
    functionUses: 0
    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 0x7fc4ad111cd0>
    argNames:
    - self
    - restart
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 127
    functionName: jupyter_client.provisioning.provisioner_base.KernelProvisionerBase.shutdown_requested
    functionSourceFile: jupyter_client.provisioning.provisioner_base
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 3
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 139
    functionName: jupyter_client.provisioning.provisioner_base.KernelProvisionerBase.pre_launch
    functionSourceFile: jupyter_client.provisioning.provisioner_base
    functionUses: 0
    functionsReached:
    - jupyter_client.provisioning.provisioner_base.KernelProvisionerBase._finalize_env
    - substituted_env.update
    - jupyter_client.provisioning.provisioner_base.KernelProvisionerBase.__apply_env_substitutions
    - traitlets.config.LoggingConfigurable.kernel_spec.env.items
    - env.pop
    - kwargs.pop
    - env.update
    - traitlets.config.LoggingConfigurable.kernel_spec.language.lower
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - substitution_values
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 236
    functionName: jupyter_client.provisioning.provisioner_base.KernelProvisionerBase.__apply_env_substitutions
    functionSourceFile: jupyter_client.provisioning.provisioner_base
    functionUses: 1
    functionsReached:
    - substituted_env.update
    - traitlets.config.LoggingConfigurable.kernel_spec.env.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: env.update
    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: []
    argNames:
    - self
    - env
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 222
    functionName: jupyter_client.provisioning.provisioner_base.KernelProvisionerBase._finalize_env
    functionSourceFile: jupyter_client.provisioning.provisioner_base
    functionUses: 1
    functionsReached:
    - env.pop
    - traitlets.config.LoggingConfigurable.kernel_spec.language.lower
    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: 0
    functionLinenumber: 164
    functionName: jupyter_client.provisioning.provisioner_base.KernelProvisionerBase.post_launch
    functionSourceFile: jupyter_client.provisioning.provisioner_base
    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: 173
    functionName: jupyter_client.provisioning.provisioner_base.KernelProvisionerBase.get_provisioner_info
    functionSourceFile: jupyter_client.provisioning.provisioner_base
    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
    - provisioner_info
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 188
    functionName: jupyter_client.provisioning.provisioner_base.KernelProvisionerBase.load_provisioner_info
    functionSourceFile: jupyter_client.provisioning.provisioner_base
    functionUses: 0
    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 0x7fc4ac536be0>
    argNames:
    - self
    - recommended
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 202
    functionName: jupyter_client.provisioning.provisioner_base.KernelProvisionerBase.get_shutdown_wait_time
    functionSourceFile: jupyter_client.provisioning.provisioner_base
    functionUses: 0
    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 0x7fc4ab04b8b0>
    argNames:
    - self
    - recommended
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 213
    functionName: jupyter_client.provisioning.provisioner_base.KernelProvisionerBase.get_stable_start_time
    functionSourceFile: jupyter_client.provisioning.provisioner_base
    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: traitlets.config.LoggingConfigurable.kernel_spec.language.lower
    functionSourceFile: traitlets
    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: traitlets.config.LoggingConfigurable.kernel_spec.env.items
    functionSourceFile: traitlets
    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: substituted_env.update
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: jupyter_client.provisioning.local_provisioner
    functionSourceFile: jupyter_client.provisioning.local_provisioner
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 36
    functionName: jupyter_client.provisioning.local_provisioner.LocalProvisioner.has_process
    functionSourceFile: jupyter_client.provisioning.local_provisioner
    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: 39
    functionName: jupyter_client.provisioning.local_provisioner.LocalProvisioner.poll
    functionSourceFile: jupyter_client.provisioning.local_provisioner
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 46
    functionName: jupyter_client.provisioning.local_provisioner.LocalProvisioner.wait
    functionSourceFile: jupyter_client.provisioning.local_provisioner
    functionUses: 0
    functionsReached:
    - jupyter_client.provisioning.local_provisioner.LocalProvisioner.poll
    - <builtin>.getattr
    - asyncio.sleep
    - fid.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: fid.close
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 4
    IfCount: 3
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - signum
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 67
    functionName: jupyter_client.provisioning.local_provisioner.LocalProvisioner.send_signal
    functionSourceFile: jupyter_client.provisioning.local_provisioner
    functionUses: 2
    functionsReached:
    - <builtin>.hasattr
    - jupyter_client.win_interrupt.send_interrupt
    - ctypes.windll.kernel32.SetEvent
    - os.killpg
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - interrupt_handle
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 43
    functionName: jupyter_client.win_interrupt.send_interrupt
    functionSourceFile: jupyter_client.win_interrupt
    functionUses: 3
    functionsReached:
    - ctypes.windll.kernel32.SetEvent
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.killpg
    functionSourceFile: os
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    IfCount: 2
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7fc4ab08be80>
    argNames:
    - self
    - restart
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 95
    functionName: jupyter_client.provisioning.local_provisioner.LocalProvisioner.kill
    functionSourceFile: jupyter_client.provisioning.local_provisioner
    functionUses: 0
    functionsReached:
    - jupyter_client.provisioning.local_provisioner.LocalProvisioner.send_signal
    - os.killpg
    - jupyter_client.win_interrupt.send_interrupt
    - <builtin>.isinstance
    - jupyter_client.provisioning.local_provisioner.LocalProvisioner._tolerate_no_process
    - <builtin>.hasattr
    - ctypes.windll.kernel32.SetEvent
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 0
    IfCount: 3
    argCount: 1
    argDefaultValues: []
    argNames:
    - os_error
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 126
    functionName: jupyter_client.provisioning.local_provisioner.LocalProvisioner._tolerate_no_process
    functionSourceFile: jupyter_client.provisioning.local_provisioner
    functionUses: 2
    functionsReached:
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    IfCount: 2
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7fc4ac868ac0>
    argNames:
    - self
    - restart
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 110
    functionName: jupyter_client.provisioning.local_provisioner.LocalProvisioner.terminate
    functionSourceFile: jupyter_client.provisioning.local_provisioner
    functionUses: 0
    functionsReached:
    - jupyter_client.provisioning.local_provisioner.LocalProvisioner.send_signal
    - os.killpg
    - jupyter_client.win_interrupt.send_interrupt
    - <builtin>.isinstance
    - jupyter_client.provisioning.local_provisioner.LocalProvisioner._tolerate_no_process
    - <builtin>.hasattr
    - ctypes.windll.kernel32.SetEvent
    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 0x7fc4aba167c0>
    argNames:
    - self
    - restart
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 140
    functionName: jupyter_client.provisioning.local_provisioner.LocalProvisioner.cleanup
    functionSourceFile: jupyter_client.provisioning.local_provisioner
    functionUses: 0
    functionsReached:
    - traitlets.config.SingletonConfigurable.instance
    - lpc.return_port
    - <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: lpc.return_port
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 3
    IfCount: 4
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 157
    functionName: jupyter_client.provisioning.local_provisioner.LocalProvisioner.pre_launch
    functionSourceFile: jupyter_client.provisioning.local_provisioner
    functionUses: 0
    functionsReached:
    - traitlets.config.LoggingConfigurable.parent.write_connection_file
    - lpc.find_available_port
    - jupyter_client.localinterfaces.local_ips
    - <builtin>.super
    - jupyter_client.localinterfaces.is_local_ip
    - traitlets.config.LoggingConfigurable.parent.get_connection_info
    - kwargs.pop
    - traitlets.config.SingletonConfigurable.instance
    - traitlets.config.LoggingConfigurable.parent.format_kernel_cmd
    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: lpc.find_available_port
    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: traitlets.config.LoggingConfigurable.parent.write_connection_file
    functionSourceFile: traitlets
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: traitlets.config.LoggingConfigurable.parent.get_connection_info
    functionSourceFile: traitlets
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: traitlets.config.LoggingConfigurable.parent.format_kernel_cmd
    functionSourceFile: traitlets
    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
    - cmd
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 207
    functionName: jupyter_client.provisioning.local_provisioner.LocalProvisioner.launch_kernel
    functionSourceFile: jupyter_client.provisioning.local_provisioner
    functionUses: 0
    functionsReached:
    - scrubbed_kwargs.pop
    - jupyter_client.provisioning.local_provisioner.LocalProvisioner._scrub_kwargs
    - kwargs.copy
    - <builtin>.hasattr
    - jupyter_client.provisioning.local_provisioner.LocalProvisioner.launch_kernel
    - os.getpgid
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - kwargs
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 223
    functionName: jupyter_client.provisioning.local_provisioner.LocalProvisioner._scrub_kwargs
    functionSourceFile: jupyter_client.provisioning.local_provisioner
    functionUses: 1
    functionsReached:
    - kwargs.copy
    - scrubbed_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: 0
    functionLinenumber: -1
    functionName: os.getpgid
    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: kwargs.copy
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: scrubbed_kwargs.pop
    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: 231
    functionName: jupyter_client.provisioning.local_provisioner.LocalProvisioner.get_provisioner_info
    functionSourceFile: jupyter_client.provisioning.local_provisioner
    functionUses: 0
    functionsReached:
    - <builtin>.super
    - provisioner_info.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: provisioner_info.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: 2
    argDefaultValues: []
    argNames:
    - self
    - provisioner_info
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 237
    functionName: jupyter_client.provisioning.local_provisioner.LocalProvisioner.load_provisioner_info
    functionSourceFile: jupyter_client.provisioning.local_provisioner
    functionUses: 0
    functionsReached:
    - <builtin>.super
    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: jupyter_client.launcher
    functionSourceFile: jupyter_client.launcher
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 12
    ICount: 6
    IfCount: 8
    argCount: 8
    argDefaultValues:
    - <ast.Constant object at 0x7fc4ab08bb20>
    - <ast.Constant object at 0x7fc4ab08bc70>
    - <ast.Constant object at 0x7fc4ab08b130>
    - <ast.Constant object at 0x7fc4ab08bc40>
    - <ast.Constant object at 0x7fc4ab08b6a0>
    - <ast.Constant object at 0x7fc4ab08b910>
    argNames:
    - cmd
    - stdin
    - stdout
    - stderr
    - env
    - independent
    - cwd
    - kw
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 13
    functionName: jupyter_client.launcher.launch_kernel
    functionSourceFile: jupyter_client.launcher
    functionUses: 0
    functionsReached:
    - subprocess.Popen.stdin.close
    - kwargs.setdefault
    - os.path.expanduser
    - sys.executable.endswith
    - ctypes.pointer
    - os.environ.copy
    - _subprocess.GetCurrentProcess
    - msg.format
    - traitlets.log.get_logger
    - subprocess.Popen
    - jupyter_client.win_interrupt.create_interrupt_event
    - warnings.warn
    - ctypes.windll.kernel32.CreateEventA
    - <builtin>.open
    - traitlets.log.get_logger.error
    - <builtin>.str
    - ctypes.Structure.__init__
    - _winapi.DuplicateHandle
    - _winapi.GetCurrentProcess
    - ctypes.sizeof
    - kwargs.items
    - env.get
    - kw.copy
    - <builtin>.int
    - kwargs.update
    - _subprocess.DuplicateHandle
    - os.getpid
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.executable.endswith
    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: kwargs.update
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 10
    functionName: jupyter_client.win_interrupt.create_interrupt_event
    functionSourceFile: jupyter_client.win_interrupt
    functionUses: 1
    functionsReached:
    - ctypes.sizeof
    - ctypes.windll.kernel32.CreateEventA
    - ctypes.pointer
    - ctypes.Structure.__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: _winapi.GetCurrentProcess
    functionSourceFile: _winapi
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.GetCurrentProcess
    functionSourceFile: _subprocess
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: _winapi.DuplicateHandle
    functionSourceFile: _winapi
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.DuplicateHandle
    functionSourceFile: _subprocess
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: 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: env.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: msg.format
    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: traitlets.log.get_logger.error
    functionSourceFile: traitlets
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.stdin.close
    functionSourceFile: subprocess
    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: jupyter_client.win_interrupt
    functionSourceFile: jupyter_client.win_interrupt
    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: ctypes.Structure.__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: ctypes.pointer
    functionSourceFile: ctypes
    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: ctypes.sizeof
    functionSourceFile: ctypes
    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: ctypes.windll.kernel32.CreateEventA
    functionSourceFile: ctypes
    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: ctypes.windll.kernel32.SetEvent
    functionSourceFile: ctypes
    functionUses: 4
    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: jupyter_client.managerabc
    functionSourceFile: jupyter_client.managerabc
    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: jupyter_client.managerabc.KernelManagerABC
    functionSourceFile: jupyter_client.managerabc
    functionUses: 0
    functionsReached:
    - abc.abstractmethod
    - abc.abstractproperty
    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: jupyter_client.managerabc.KernelManagerABC.kernel
    functionSourceFile: jupyter_client.managerabc
    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
    - kw
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 25
    functionName: jupyter_client.managerabc.KernelManagerABC.start_kernel
    functionSourceFile: jupyter_client.managerabc
    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 0x7fc4aba09160>
    - <ast.Constant object at 0x7fc4aba09100>
    argNames:
    - self
    - now
    - restart
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 30
    functionName: jupyter_client.managerabc.KernelManagerABC.shutdown_kernel
    functionSourceFile: jupyter_client.managerabc
    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 0x7fc4aba094c0>
    argNames:
    - self
    - now
    - kw
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 35
    functionName: jupyter_client.managerabc.KernelManagerABC.restart_kernel
    functionSourceFile: jupyter_client.managerabc
    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: 40
    functionName: jupyter_client.managerabc.KernelManagerABC.has_kernel
    functionSourceFile: jupyter_client.managerabc
    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: 44
    functionName: jupyter_client.managerabc.KernelManagerABC.interrupt_kernel
    functionSourceFile: jupyter_client.managerabc
    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
    - signum
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 49
    functionName: jupyter_client.managerabc.KernelManagerABC.signal_kernel
    functionSourceFile: jupyter_client.managerabc
    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: 54
    functionName: jupyter_client.managerabc.KernelManagerABC.is_alive
    functionSourceFile: jupyter_client.managerabc
    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: jupyter_client.blocking
    functionSourceFile: jupyter_client.blocking
    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: jupyter_client.blocking.client
    functionSourceFile: jupyter_client.blocking.client
    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
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 21
    functionName: jupyter_client.blocking.client.wrapped._
    functionSourceFile: jupyter_client.blocking.client
    functionUses: 0
    functionsReached:
    - jupyter_client.client.KernelClient.history
    - jupyter_client.client.KernelClient.complete
    - jupyter_client.client.KernelClient.kernel_info
    - kwargs.setdefault
    - jupyter_client.client.validate_string_dict
    - jupyter_client.client.KernelClient.inspect
    - jupyter_client.client.KernelClient.comm_info
    - jupyter_client.client.KernelClient.shutdown
    - jupyter_client.client.KernelClient.is_complete
    - jupyter_client.client.KernelClient.execute
    - <builtin>.isinstance
    - kwargs.pop
    - dct.items
    - <builtin>.len
    - jupyter_client.blocking.client.wrapped
    - jupyter_client.asynchronous.client.wrapped
    - <builtin>.dict
    - traitlets.Instance.msg
    linkageType: 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: jupyter_client.blocking.client.BlockingKernelClient
    functionSourceFile: jupyter_client.blocking.client
    functionUses: 0
    functionsReached:
    - jupyter_client.client.reqrep
    - meth.__doc__.split
    - traitlets.Type
    - jupyter_client.blocking.client.wrapped
    - parts.append
    - jupyter_client.asynchronous.client.wrapped
    - jupyter_core.utils.run_sync
    - basedoc.strip
    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: jupyter_client.channels
    functionSourceFile: jupyter_client.channels
    functionUses: 0
    functionsReached:
    - HBChannelABC.register
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    IfCount: 2
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7fc4ac87d070>
    - <ast.Constant object at 0x7fc4ac87d610>
    - <ast.Constant object at 0x7fc4ac87de50>
    argNames:
    - self
    - context
    - session
    - address
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 52
    functionName: jupyter_client.channels.HBChannel.__init__
    functionSourceFile: jupyter_client.channels
    functionUses: 0
    functionsReached:
    - <builtin>.super
    - threading.Event
    - <builtin>.isinstance
    - zmq.Poller
    linkageType: pythonLinkage
    raised:
    - InvalidPortNumber
    returnType: N/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.Event
    functionSourceFile: threading
    functionUses: 1
    functionsReached: []
    linkageType: 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: jupyter_client.channels.HBChannel
    functionSourceFile: jupyter_client.channels
    functionUses: 0
    functionsReached:
    - atexit.register
    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: 92
    functionName: jupyter_client.channels.HBChannel._notice_exit
    functionSourceFile: jupyter_client.channels
    functionUses: 0
    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: 0
    functionLinenumber: 98
    functionName: jupyter_client.channels.HBChannel._create_socket
    functionSourceFile: jupyter_client.channels
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 8
    IfCount: 3
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 111
    functionName: jupyter_client.channels.HBChannel._async_run
    functionSourceFile: jupyter_client.channels
    functionUses: 1
    functionsReached:
    - jupyter_client.channels.HBChannel.call_handlers
    - jupyter_client.channels.HBChannel._create_socket
    - jupyter_core.utils.ensure_async
    - threading.Event.wait
    - time.time
    - <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: threading.Event.wait
    functionSourceFile: threading
    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
    - since_last_heartbeat
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 183
    functionName: jupyter_client.channels.HBChannel.call_handlers
    functionSourceFile: ''
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 4
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 145
    functionName: jupyter_client.channels.HBChannel.run
    functionSourceFile: jupyter_client.channels
    functionUses: 0
    functionsReached:
    - jupyter_client.channels.HBChannel.call_handlers
    - jupyter_client.channels.HBChannel._async_run
    - loop.run_until_complete
    - loop.close
    - jupyter_client.channels.HBChannel._create_socket
    - jupyter_core.utils.ensure_async
    - threading.Event.wait
    - time.time
    - asyncio.set_event_loop
    - asyncio.new_event_loop
    - <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: asyncio.new_event_loop
    functionSourceFile: asyncio
    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: asyncio.set_event_loop
    functionSourceFile: asyncio
    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: loop.run_until_complete
    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: loop.close
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 152
    functionName: jupyter_client.channels.HBChannel.pause
    functionSourceFile: jupyter_client.channels
    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: 156
    functionName: jupyter_client.channels.HBChannel.unpause
    functionSourceFile: jupyter_client.channels
    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: 160
    functionName: jupyter_client.channels.HBChannel.is_beating
    functionSourceFile: jupyter_client.channels
    functionUses: 0
    functionsReached:
    - threading.Thread.is_alive
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.is_alive
    functionSourceFile: threading
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 4
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 167
    functionName: jupyter_client.channels.HBChannel.stop
    functionSourceFile: jupyter_client.channels
    functionUses: 0
    functionsReached:
    - threading.Event.set
    - jupyter_client.channels.HBChannel.close
    - threading.Thread.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: threading.Event.set
    functionSourceFile: threading
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.join
    functionSourceFile: threading
    functionUses: 4
    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: 0
    functionLinenumber: 174
    functionName: jupyter_client.channels.HBChannel.close
    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: HBChannelABC.register
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    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 0x7fc4ac87b9a0>
    argNames:
    - self
    - socket
    - session
    - loop
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 200
    functionName: jupyter_client.channels.ZMQSocketChannel.__init__
    functionSourceFile: jupyter_client.channels
    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
    - kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 217
    functionName: jupyter_client.channels.ZMQSocketChannel._recv
    functionSourceFile: jupyter_client.channels
    functionUses: 2
    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 0x7fc4ac00b6d0>
    argNames:
    - self
    - timeout
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 223
    functionName: jupyter_client.channels.ZMQSocketChannel.get_msg
    functionSourceFile: jupyter_client.channels
    functionUses: 1
    functionsReached:
    - jupyter_client.channels.ZMQSocketChannel._recv
    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: 235
    functionName: jupyter_client.channels.ZMQSocketChannel.get_msgs
    functionSourceFile: jupyter_client.channels
    functionUses: 0
    functionsReached:
    - jupyter_client.channels.ZMQSocketChannel.get_msg
    - msgs.append
    - jupyter_client.channels.ZMQSocketChannel._recv
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: msgs.append
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 245
    functionName: jupyter_client.channels.ZMQSocketChannel.msg_ready
    functionSourceFile: jupyter_client.channels
    functionUses: 0
    functionsReached:
    - <builtin>.bool
    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: 0
    functionLinenumber: 250
    functionName: jupyter_client.channels.ZMQSocketChannel.close
    functionSourceFile: jupyter_client.channels
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 261
    functionName: jupyter_client.channels.ZMQSocketChannel.is_alive
    functionSourceFile: jupyter_client.channels
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - msg
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 265
    functionName: jupyter_client.channels.ZMQSocketChannel.send
    functionSourceFile: jupyter_client.channels
    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: 270
    functionName: jupyter_client.channels.ZMQSocketChannel.start
    functionSourceFile: jupyter_client.channels
    functionUses: 0
    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 0x7fc4ab19f250>
    argNames:
    - self
    - socket
    - session
    - loop
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 280
    functionName: jupyter_client.channels.AsyncZMQSocketChannel.__init__
    functionSourceFile: jupyter_client.channels
    functionUses: 0
    functionsReached:
    - <builtin>.super
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised:
    - ValueError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 297
    functionName: jupyter_client.channels.AsyncZMQSocketChannel._recv
    functionSourceFile: jupyter_client.channels
    functionUses: 2
    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 0x7fc4ab19c310>
    argNames:
    - self
    - timeout
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 303
    functionName: jupyter_client.channels.AsyncZMQSocketChannel.get_msg
    functionSourceFile: jupyter_client.channels
    functionUses: 1
    functionsReached:
    - jupyter_client.channels.AsyncZMQSocketChannel._recv
    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: 317
    functionName: jupyter_client.channels.AsyncZMQSocketChannel.get_msgs
    functionSourceFile: jupyter_client.channels
    functionUses: 0
    functionsReached:
    - msgs.append
    - jupyter_client.channels.AsyncZMQSocketChannel.get_msg
    - jupyter_client.channels.AsyncZMQSocketChannel._recv
    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: 327
    functionName: jupyter_client.channels.AsyncZMQSocketChannel.msg_ready
    functionSourceFile: jupyter_client.channels
    functionUses: 0
    functionsReached:
    - <builtin>.bool
    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: jupyter_client.channelsabc
    functionSourceFile: jupyter_client.channelsabc
    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: jupyter_client.channelsabc.ChannelABC
    functionSourceFile: jupyter_client.channelsabc
    functionUses: 0
    functionsReached:
    - abc.abstractmethod
    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: 11
    functionName: jupyter_client.channelsabc.ChannelABC.start
    functionSourceFile: jupyter_client.channelsabc
    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: 16
    functionName: jupyter_client.channelsabc.ChannelABC.stop
    functionSourceFile: jupyter_client.channelsabc
    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: 21
    functionName: jupyter_client.channelsabc.ChannelABC.is_alive
    functionSourceFile: jupyter_client.channelsabc
    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: jupyter_client.channelsabc.HBChannelABC
    functionSourceFile: jupyter_client.channelsabc
    functionUses: 0
    functionsReached:
    - abc.abstractmethod
    - abc.abstractproperty
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 35
    functionName: jupyter_client.channelsabc.HBChannelABC.time_to_dead
    functionSourceFile: jupyter_client.channelsabc
    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: 39
    functionName: jupyter_client.channelsabc.HBChannelABC.pause
    functionSourceFile: jupyter_client.channelsabc
    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: 44
    functionName: jupyter_client.channelsabc.HBChannelABC.unpause
    functionSourceFile: jupyter_client.channelsabc
    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: 49
    functionName: jupyter_client.channelsabc.HBChannelABC.is_beating
    functionSourceFile: jupyter_client.channelsabc
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: jupyter_server.__main__
    functionSourceFile: jupyter_server.__main__
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 3
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: jupyter_server.serverapp
    functionSourceFile: jupyter_server.serverapp
    functionUses: 0
    functionsReached:
    - aliases.update
    - traitlets.config.application.boolean_flag
    - flags.update
    - sys.platform.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: sys.platform.startswith
    functionSourceFile: sys
    functionUses: 8
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 3
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - port
    - n
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 197
    functionName: jupyter_server.serverapp.random_ports
    functionSourceFile: jupyter_server.serverapp
    functionUses: 3
    functionsReached:
    - <builtin>.max
    - random.randint
    - <builtin>.min
    - <builtin>.range
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: 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: random.randint
    functionSourceFile: random
    functionUses: 15
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - name
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 209
    functionName: jupyter_server.serverapp.load_handlers
    functionSourceFile: jupyter_server.serverapp
    functionUses: 4
    functionsReached:
    - <builtin>.__import__
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: 11
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    IfCount: 2
    argCount: 18
    argDefaultValues: []
    argNames:
    - self
    - jupyter_app
    - default_services
    - kernel_manager
    - contents_manager
    - session_manager
    - kernel_spec_manager
    - config_manager
    - event_logger
    - extra_services
    - log
    - base_url
    - default_url
    - settings_overrides
    - jinja_env_options
    - authorizer
    - identity_provider
    - kernel_websocket_connection_class
    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
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 223
    functionName: jupyter_server.serverapp.ServerWebApplication.__init__
    functionSourceFile: jupyter_server.serverapp
    functionUses: 2
    functionsReached:
    - root_dir.startswith
    - jupyter_server.auth.identity.IdentityProvider.get_handlers
    - handlers.append
    - os.path.expanduser
    - gettext.translation
    - jinja2.FileSystemLoader
    - <builtin>.len
    - new_handlers.append
    - jupyter_server.utils.url_path_join
    - jupyter_server._sysinfo.get_sys_info
    - jupyter_server.serverapp.ServerWebApplication.init_handlers
    - handlers.extend
    - subprocess.Popen
    - <builtin>.super
    - <builtin>.list
    - os.path.realpath
    - datetime.datetime.now
    - warnings.warn
    - jupyter_server._sysinfo.pkg_info
    - s.strip
    - <builtin>.__import__
    - repo_commit.strip
    - traitlets.Dict.get
    - os.path.join
    - jenv_opt.update
    - jupyter_server._sysinfo.pkg_commit_hash
    - os.path.abspath
    - jinja2.Environment.install_gettext_translations
    - <builtin>.isinstance
    - proc.communicate
    - jupyter_server._tz.utcnow
    - jupyter_server.serverapp.ServerWebApplication.init_settings
    - settings.update
    - traitlets.config.LoggingConfigurable.__init__
    - platform.platform
    - os.path.exists
    - os.path.dirname
    - jupyter_server.serverapp.load_handlers
    - jinja2.Environment
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 4
    IfCount: 4
    argCount: 17
    argDefaultValues:
    - <ast.Constant object at 0x7fc4abfec7f0>
    argNames:
    - self
    - jupyter_app
    - kernel_manager
    - contents_manager
    - session_manager
    - kernel_spec_manager
    - config_manager
    - event_logger
    - extra_services
    - log
    - base_url
    - default_url
    - settings_overrides
    - jinja_env_options
    - authorizer
    - identity_provider
    - kernel_websocket_connection_class
    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
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 285
    functionName: jupyter_server.serverapp.ServerWebApplication.init_settings
    functionSourceFile: jupyter_server.serverapp
    functionUses: 3
    functionsReached:
    - root_dir.startswith
    - os.path.expanduser
    - gettext.translation
    - jinja2.FileSystemLoader
    - <builtin>.len
    - jupyter_server.utils.url_path_join
    - jupyter_server._sysinfo.get_sys_info
    - subprocess.Popen
    - os.path.realpath
    - datetime.datetime.now
    - jupyter_server._sysinfo.pkg_info
    - s.strip
    - repo_commit.strip
    - traitlets.Dict.get
    - os.path.join
    - jenv_opt.update
    - jupyter_server._sysinfo.pkg_commit_hash
    - os.path.abspath
    - jinja2.Environment.install_gettext_translations
    - <builtin>.isinstance
    - proc.communicate
    - jupyter_server._tz.utcnow
    - settings.update
    - platform.platform
    - os.path.exists
    - os.path.dirname
    - jinja2.Environment
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 10
    IfCount: 3
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - default_services
    - settings
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 412
    functionName: jupyter_server.serverapp.ServerWebApplication.init_handlers
    functionSourceFile: jupyter_server.serverapp
    functionUses: 3
    functionsReached:
    - <builtin>.__import__
    - jupyter_server.auth.identity.IdentityProvider.get_handlers
    - handlers.append
    - handlers.extend
    - <builtin>.list
    - new_handlers.append
    - s.strip
    - jupyter_server.utils.url_path_join
    - jupyter_server.serverapp.load_handlers
    linkageType: pythonLinkage
    raised:
    - Exception
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: traitlets.Dict.get
    functionSourceFile: traitlets
    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: jenv_opt.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: jinja2.FileSystemLoader
    functionSourceFile: jinja2
    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: jinja2.Environment
    functionSourceFile: jinja2
    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: 3
    functionLinenumber: 89
    functionName: jupyter_server._sysinfo.get_sys_info
    functionSourceFile: jupyter_server._sysinfo
    functionUses: 6
    functionsReached:
    - repo_commit.strip
    - os.path.join
    - subprocess.Popen
    - jupyter_server._sysinfo.pkg_commit_hash
    - os.path.realpath
    - platform.platform
    - os.path.abspath
    - proc.communicate
    - jupyter_server._sysinfo.pkg_info
    - os.path.exists
    - 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: jinja2.Environment.install_gettext_translations
    functionSourceFile: jinja2
    functionUses: 4
    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: 28
    functionName: jupyter_server._tz.utcnow
    functionSourceFile: jupyter_server._tz
    functionUses: 53
    functionsReached:
    - datetime.datetime.now
    linkageType: pythonLinkage
    raised: []
    returnType: N/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_dir.startswith
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 1
    IfCount: 3
    argCount: 1
    argDefaultValues: []
    argNames:
    - pieces
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 41
    functionName: jupyter_server.utils.url_path_join
    functionSourceFile: jupyter_server.utils
    functionUses: 52
    functionsReached:
    - s.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: settings.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: handlers.extend
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 276
    functionName: jupyter_server.auth.identity.IdentityProvider.get_handlers
    functionSourceFile: jupyter_server.auth.identity
    functionUses: 4
    functionsReached:
    - handlers.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: handlers.append
    functionSourceFile: <builtin>
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: new_handlers.append
    functionSourceFile: <builtin>
    functionUses: 6
    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: 470
    functionName: jupyter_server.serverapp.ServerWebApplication.last_activity
    functionSourceFile: jupyter_server.serverapp
    functionUses: 1
    functionsReached:
    - sources.extend
    - <builtin>.max
    - key.endswith
    - tornado.web.Application.settings.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: tornado.web.Application.settings.items
    functionSourceFile: tornado
    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.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: sources.extend
    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: 499
    functionName: jupyter_server.serverapp.JupyterPasswordApp._config_file_default
    functionSourceFile: jupyter_server.serverapp
    functionUses: 0
    functionsReached:
    - os.path.join
    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: 3
    functionLinenumber: 503
    functionName: jupyter_server.serverapp.JupyterPasswordApp.start
    functionSourceFile: jupyter_server.serverapp
    functionUses: 0
    functionsReached:
    - jupyter_core.paths.jupyter_config_dir
    - getpass.getpass.encode
    - hashlib.new
    - jupyter_server.auth.security.passwd
    - traitlets.config.loader.JSONFileConfigLoader
    - traitlets.config.Config
    - os.path.basename
    - h.hexdigest
    - ph.hash
    - os.chmod
    - random.getrandbits
    - <builtin>.range
    - warnings.warn
    - <builtin>.open
    - jupyter_core.application.JupyterApp.log.info
    - <builtin>.str
    - traceback.format_exc
    - f.write
    - os.path.join
    - jupyter_server.auth.security.persist_config
    - json.dumps
    - argon2.PasswordHasher
    - getpass.getpass
    - os.makedirs
    - h.update
    - salt.encode
    - jupyter_server.auth.security.set_password
    - traitlets.config.loader.JSONFileConfigLoader.load_config
    - os.path.dirname
    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 0x7fc4ab111c10>
    - <ast.Constant object at 0x7fc4ab111a00>
    argNames:
    - password
    - config_file
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 168
    functionName: jupyter_server.auth.security.set_password
    functionSourceFile: jupyter_server.auth.security
    functionUses: 3
    functionsReached:
    - jupyter_core.paths.jupyter_config_dir
    - getpass.getpass.encode
    - hashlib.new
    - jupyter_server.auth.security.passwd
    - traitlets.config.loader.JSONFileConfigLoader
    - traitlets.config.Config
    - os.path.basename
    - h.hexdigest
    - ph.hash
    - os.chmod
    - random.getrandbits
    - <builtin>.range
    - warnings.warn
    - <builtin>.open
    - <builtin>.str
    - traceback.format_exc
    - f.write
    - os.path.join
    - jupyter_server.auth.security.persist_config
    - json.dumps
    - argon2.PasswordHasher
    - getpass.getpass
    - os.makedirs
    - h.update
    - salt.encode
    - traitlets.config.loader.JSONFileConfigLoader.load_config
    - 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: jupyter_core.application.JupyterApp.log.info
    functionSourceFile: jupyter_core
    functionUses: 27
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 10
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 15
    ICount: 14
    IfCount: 10
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7fc4ab083d30>
    - <ast.Constant object at 0x7fc4ab083d00>
    argNames:
    - server_info
    - timeout
    - log
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 511
    functionName: jupyter_server.serverapp.shutdown_server
    functionSourceFile: jupyter_server.serverapp
    functionUses: 0
    functionsReached:
    - jupyter_server.utils._check_pid_win32
    - jupyter_server.utils.fetch
    - time.sleep
    - urllib.parse.SplitResult
    - <builtin>.bool
    - os.kill
    - jupyter_server.utils._request_for_tornado_client
    - tornado.netutil.Resolver
    - <builtin>.range
    - sys.platform.startswith
    - <builtin>.str
    - ctypes.windll.kernel32.OpenProcess
    - log.debug
    - tornado.netutil.Resolver.__init__
    - urllib.parse.urlunsplit
    - jupyter_server.utils._check_pid_posix
    - tornado.httpclient.HTTPClient
    - tornado.httpclient.AsyncHTTPClient.configure
    - urllib.parse.urlsplit
    - urllib.parse.urljoin
    - tornado.httpclient.HTTPClient.fetch
    - tornado.httpclient.HTTPRequest
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: urllib.parse.urljoin
    functionSourceFile: urllib
    functionUses: 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: log.debug
    functionSourceFile: <builtin>
    functionUses: 10
    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 0x7fc4aae29a00>
    - <ast.Constant object at 0x7fc4aae299d0>
    - <ast.Constant object at 0x7fc4aae299a0>
    argNames:
    - urlstring
    - method
    - body
    - headers
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 292
    functionName: jupyter_server.utils.fetch
    functionSourceFile: jupyter_server.utils
    functionUses: 1
    functionsReached:
    - tornado.httpclient.AsyncHTTPClient.configure
    - urllib.parse.urlsplit
    - tornado.netutil.Resolver.__init__
    - jupyter_server.utils._request_for_tornado_client
    - tornado.httpclient.HTTPClient.fetch
    - tornado.httpclient.HTTPRequest
    - urllib.parse.urlunsplit
    - tornado.netutil.Resolver
    - urllib.parse.SplitResult
    - tornado.httpclient.HTTPClient
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - pid
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 176
    functionName: jupyter_server.utils._check_pid_posix
    functionSourceFile: jupyter_server.utils
    functionUses: 4
    functionsReached:
    - os.kill
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - pid
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 168
    functionName: jupyter_server.utils._check_pid_win32
    functionSourceFile: jupyter_server.utils
    functionUses: 4
    functionsReached:
    - ctypes.windll.kernel32.OpenProcess
    - <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: time.sleep
    functionSourceFile: time
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.kill
    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: 1
    functionLinenumber: -1
    functionName: jupyter_server.serverapp.JupyterServerStopApp
    functionSourceFile: jupyter_server.serverapp
    functionUses: 0
    functionsReached:
    - traitlets.Unicode
    - traitlets.Integer
    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 0x7fc4aa3250d0>
    argNames:
    - self
    - argv
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 592
    functionName: jupyter_server.serverapp.JupyterServerStopApp.parse_command_line
    functionSourceFile: jupyter_server.serverapp
    functionUses: 0
    functionsReached:
    - <builtin>.super
    - <builtin>.int
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - server
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 602
    functionName: jupyter_server.serverapp.JupyterServerStopApp.shutdown_server
    functionSourceFile: jupyter_server.serverapp
    functionUses: 2
    functionsReached:
    - jupyter_server.serverapp.JupyterServerStopApp.shutdown_server
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - target_endpoint
    - server
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 606
    functionName: jupyter_server.serverapp.JupyterServerStopApp._shutdown_or_exit
    functionSourceFile: jupyter_server.serverapp
    functionUses: 1
    functionsReached:
    - sys.exit
    - jupyter_core.application.JupyterApp.log.info
    - jupyter_server.serverapp.JupyterServerStopApp.shutdown_server
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - socket_path
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 613
    functionName: jupyter_server.serverapp.JupyterServerStopApp._maybe_remove_unix_socket
    functionSourceFile: jupyter_server.serverapp
    functionUses: 1
    functionsReached:
    - os.unlink
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: 11
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 9
    IfCount: 5
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 620
    functionName: jupyter_server.serverapp.JupyterServerStopApp.start
    functionSourceFile: jupyter_server.serverapp
    functionUses: 0
    functionsReached:
    - json.load
    - jupyter_server.serverapp.JupyterServerStopApp._shutdown_or_exit
    - re.match
    - jupyter_server.utils._check_pid_win32
    - jupyter_server.serverapp.JupyterServerStopApp.shutdown_server
    - jupyter_core.paths.jupyter_runtime_dir
    - <builtin>.bool
    - log.warning
    - jupyter_server.serverapp.JupyterServerStopApp._maybe_remove_unix_socket
    - <builtin>.list
    - os.kill
    - server.get
    - jupyter_core.application.JupyterApp.exit
    - os.listdir
    - <builtin>.open
    - jupyter_server.serverapp.list_running_servers
    - jupyter_core.application.JupyterApp.log.info
    - ctypes.windll.kernel32.OpenProcess
    - os.path.join
    - sys.exit
    - os.path.isdir
    - jupyter_server.utils._check_pid_posix
    - os.unlink
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 4
    IfCount: 5
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7fc4ac807310>
    - <ast.Constant object at 0x7fc4ac807340>
    argNames:
    - runtime_dir
    - log
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 2992
    functionName: jupyter_server.serverapp.list_running_servers
    functionSourceFile: jupyter_server.serverapp
    functionUses: 2
    functionsReached:
    - json.load
    - log.warning
    - jupyter_server.utils._check_pid_win32
    - re.match
    - ctypes.windll.kernel32.OpenProcess
    - os.path.join
    - os.kill
    - jupyter_core.paths.jupyter_runtime_dir
    - os.unlink
    - os.path.isdir
    - jupyter_server.utils._check_pid_posix
    - os.listdir
    - <builtin>.open
    - <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: jupyter_core.application.JupyterApp.exit
    functionSourceFile: jupyter_core
    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: server.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: 1
    functionLinenumber: -1
    functionName: jupyter_server.serverapp.JupyterServerListApp
    functionSourceFile: jupyter_server.serverapp
    functionUses: 0
    functionsReached:
    - traitlets.Bool
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 5
    IfCount: 3
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 683
    functionName: jupyter_server.serverapp.JupyterServerListApp.start
    functionSourceFile: jupyter_server.serverapp
    functionUses: 0
    functionsReached:
    - json.load
    - re.match
    - jupyter_server.utils._check_pid_win32
    - jupyter_core.paths.jupyter_runtime_dir
    - <builtin>.bool
    - traitlets.Bool.dumps
    - log.warning
    - <builtin>.list
    - os.kill
    - os.listdir
    - <builtin>.open
    - jupyter_server.serverapp.list_running_servers
    - ctypes.windll.kernel32.OpenProcess
    - os.path.join
    - serverinfo.get
    - os.path.isdir
    - jupyter_server.utils._check_pid_posix
    - <builtin>.print
    - os.unlink
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: traitlets.Bool.dumps
    functionSourceFile: traitlets
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: 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: serverinfo.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: traitlets.config.application.boolean_flag
    functionSourceFile: traitlets
    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: flags.update
    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: aliases.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: 1
    functionLinenumber: -1
    functionName: jupyter_server.serverapp.ServerApp
    functionSourceFile: jupyter_server.serverapp
    functionUses: 0
    functionsReached:
    - traitlets.List
    - traitlets.Unicode.tag
    - traitlets.Bytes
    - traitlets.Union
    - traitlets.Bool
    - traitlets.Instance
    - traitlets.Unicode
    - traitlets.Integer
    - traitlets.observe
    - traitlets.default
    - trans.gettext
    - traitlets.Float
    - traitlets.Type
    - traitlets.validate
    - jupyter_core.application.JupyterApp.description.splitlines
    - traitlets.config.application.catch_config_error
    - traitlets.Dict
    - traitlets.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: jupyter_core.application.JupyterApp.description.splitlines
    functionSourceFile: jupyter_core
    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: 842
    functionName: jupyter_server.serverapp.ServerApp._default_log_level
    functionSourceFile: jupyter_server.serverapp
    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: 846
    functionName: jupyter_server.serverapp.ServerApp._default_log_format
    functionSourceFile: jupyter_server.serverapp
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 4
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 915
    functionName: jupyter_server.serverapp.ServerApp._default_ip
    functionSourceFile: jupyter_server.serverapp
    functionUses: 0
    functionsReached:
    - socket.socket
    - s.close
    - s.bind
    - jupyter_core.application.JupyterApp.log.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: s.bind
    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: jupyter_core.application.JupyterApp.log.warning
    functionSourceFile: jupyter_core
    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: s.close
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: traitlets.validate
    functionSourceFile: traitlets
    functionUses: 8
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - proposal
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 933
    functionName: jupyter_server.serverapp.ServerApp._validate_ip
    functionSourceFile: jupyter_server.serverapp
    functionUses: 0
    functionsReached:
    - typing.cast
    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: 965
    functionName: jupyter_server.serverapp.ServerApp._port_default
    functionSourceFile: jupyter_server.serverapp
    functionUses: 0
    functionsReached:
    - <builtin>.int
    - os.getenv
    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: 980
    functionName: jupyter_server.serverapp.ServerApp._port_retries_default
    functionSourceFile: jupyter_server.serverapp
    functionUses: 0
    functionsReached:
    - <builtin>.int
    - os.getenv
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - proposal
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 992
    functionName: jupyter_server.serverapp.ServerApp._validate_sock_mode
    functionSourceFile: jupyter_server.serverapp
    functionUses: 0
    functionsReached:
    - value.encode
    - <builtin>.int
    - <builtin>.all
    - <builtin>.bool
    linkageType: pythonLinkage
    raised:
    - TraitError
    returnType: N/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: 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: 1040
    functionName: jupyter_server.serverapp.ServerApp._default_cookie_secret_file
    functionSourceFile: jupyter_server.serverapp
    functionUses: 0
    functionsReached:
    - 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: traitlets.Bytes
    functionSourceFile: traitlets
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 1056
    functionName: jupyter_server.serverapp.ServerApp._default_cookie_secret
    functionSourceFile: jupyter_server.serverapp
    functionUses: 0
    functionsReached:
    - jupyter_core.application.JupyterApp.log.error
    - jupyter_server.serverapp.ServerApp._write_cookie_secret_file
    - os.urandom
    - f.write
    - base64.encodebytes
    - f.read
    - h.digest
    - traitlets.Unicode.encode
    - hmac.new
    - os.path.exists
    - jupyter_core.paths.secure_write
    - h.update
    - <builtin>.open
    - jupyter_core.application.JupyterApp.log.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: 0
    functionLinenumber: -1
    functionName: base64.encodebytes
    functionSourceFile: base64
    functionUses: 35
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 4
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - secret
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1067
    functionName: jupyter_server.serverapp.ServerApp._write_cookie_secret_file
    functionSourceFile: jupyter_server.serverapp
    functionUses: 1
    functionsReached:
    - jupyter_core.application.JupyterApp.log.error
    - jupyter_core.paths.secure_write
    - f.write
    - jupyter_core.application.JupyterApp.log.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: 0
    functionLinenumber: -1
    functionName: hmac.new
    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: traitlets.Unicode.encode
    functionSourceFile: traitlets
    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.digest
    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: jupyter_core.application.JupyterApp.log.error
    functionSourceFile: jupyter_core
    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
    - change
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 1087
    functionName: jupyter_server.serverapp.ServerApp._deprecated_token
    functionSourceFile: jupyter_server.serverapp
    functionUses: 0
    functionsReached:
    - jupyter_server.serverapp.ServerApp._warn_deprecated_config
    - jupyter_core.application.JupyterApp.log.warning
    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 0x7fc4aab452e0>
    argNames:
    - self
    - change
    - clsname
    - new_name
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1170
    functionName: jupyter_server.serverapp.ServerApp._warn_deprecated_config
    functionSourceFile: jupyter_server.serverapp
    functionUses: 9
    functionsReached:
    - jupyter_core.application.JupyterApp.log.warning
    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: 1091
    functionName: jupyter_server.serverapp.ServerApp._deprecated_token_access
    functionSourceFile: jupyter_server.serverapp
    functionUses: 0
    functionsReached:
    - warnings.warn
    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: 1111
    functionName: jupyter_server.serverapp.ServerApp._default_min_open_files_limit
    functionSourceFile: jupyter_server.serverapp
    functionUses: 0
    functionsReached:
    - resource.getrlimit
    - jupyter_core.application.JupyterApp.log.debug
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: resource.getrlimit
    functionSourceFile: resource
    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: jupyter_core.application.JupyterApp.log.debug
    functionSourceFile: jupyter_core
    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
    - change
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 1192
    functionName: jupyter_server.serverapp.ServerApp._deprecated_password
    functionSourceFile: jupyter_server.serverapp
    functionUses: 0
    functionsReached:
    - jupyter_server.serverapp.ServerApp._warn_deprecated_config
    - jupyter_core.application.JupyterApp.log.warning
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - change
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 1196
    functionName: jupyter_server.serverapp.ServerApp._deprecated_password_config
    functionSourceFile: jupyter_server.serverapp
    functionUses: 0
    functionsReached:
    - jupyter_server.serverapp.ServerApp._warn_deprecated_config
    - jupyter_core.application.JupyterApp.log.warning
    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: 1235
    functionName: jupyter_server.serverapp.ServerApp._default_allow_remote
    functionSourceFile: jupyter_server.serverapp
    functionUses: 0
    functionsReached:
    - socket.getaddrinfo
    - addr.split
    - ipaddress.ip_address
    - jupyter_core.application.JupyterApp.log.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: ipaddress.ip_address
    functionSourceFile: ipaddress
    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: socket.getaddrinfo
    functionSourceFile: socket
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: traitlets.Union
    functionSourceFile: traitlets
    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
    - change
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 1374
    functionName: jupyter_server.serverapp.ServerApp._deprecated_cookie_config
    functionSourceFile: jupyter_server.serverapp
    functionUses: 0
    functionsReached:
    - jupyter_server.serverapp.ServerApp._warn_deprecated_config
    - jupyter_core.application.JupyterApp.log.warning
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - proposal
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1407
    functionName: jupyter_server.serverapp.ServerApp._update_base_url
    functionSourceFile: jupyter_server.serverapp
    functionUses: 0
    functionsReached:
    - value.startswith
    - value.endswith
    - 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: value.startswith
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: value.endswith
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1425
    functionName: jupyter_server.serverapp.ServerApp.static_file_path
    functionSourceFile: jupyter_server.serverapp
    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: 1432
    functionName: jupyter_server.serverapp.ServerApp._default_static_custom_path
    functionSourceFile: jupyter_server.serverapp
    functionUses: 0
    functionsReached:
    - 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: 1446
    functionName: jupyter_server.serverapp.ServerApp.template_file_path
    functionSourceFile: jupyter_server.serverapp
    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: 1488
    functionName: jupyter_server.serverapp.ServerApp._default_kernel_manager_class
    functionSourceFile: jupyter_server.serverapp
    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: 1499
    functionName: jupyter_server.serverapp.ServerApp._default_session_manager_class
    functionSourceFile: jupyter_server.serverapp
    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: 1511
    functionName: jupyter_server.serverapp.ServerApp._default_kernel_websocket_connection_class
    functionSourceFile: jupyter_server.serverapp
    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: 1538
    functionName: jupyter_server.serverapp.ServerApp._default_kernel_spec_manager_class
    functionSourceFile: jupyter_server.serverapp
    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: 1594
    functionName: jupyter_server.serverapp.ServerApp._default_info_file
    functionSourceFile: jupyter_server.serverapp
    functionUses: 0
    functionsReached:
    - os.path.join
    - os.getpid
    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: 1605
    functionName: jupyter_server.serverapp.ServerApp._default_browser_open_file
    functionSourceFile: jupyter_server.serverapp
    functionUses: 0
    functionsReached:
    - os.path.join
    - os.getpid
    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: 1612
    functionName: jupyter_server.serverapp.ServerApp._default_browser_open_file_to_run
    functionSourceFile: jupyter_server.serverapp
    functionUses: 0
    functionsReached:
    - os.path.join
    - os.getpid
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 4
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - change
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1627
    functionName: jupyter_server.serverapp.ServerApp._update_pylab
    functionSourceFile: jupyter_server.serverapp
    functionUses: 0
    functionsReached:
    - jupyter_core.application.JupyterApp.log.error
    - jupyter_core.application.JupyterApp.exit
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - change
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1643
    functionName: jupyter_server.serverapp.ServerApp._update_notebook_dir
    functionSourceFile: jupyter_server.serverapp
    functionUses: 0
    functionsReached:
    - jupyter_core.application.JupyterApp.log.warning
    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: 1674
    functionName: jupyter_server.serverapp.ServerApp._default_root_dir
    functionSourceFile: jupyter_server.serverapp
    functionUses: 0
    functionsReached:
    - os.getcwd
    - os.path.abspath
    - os.path.dirname
    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: 1681
    functionName: jupyter_server.serverapp.ServerApp._normalize_dir
    functionSourceFile: jupyter_server.serverapp
    functionUses: 2
    functionsReached:
    - os.path.splitdrive
    - os.path.abspath
    - value.rstrip
    - os.path.isabs
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.splitdrive
    functionSourceFile: os
    functionUses: 77
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: value.rstrip
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - proposal
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 1695
    functionName: jupyter_server.serverapp.ServerApp._root_dir_validate
    functionSourceFile: jupyter_server.serverapp
    functionUses: 0
    functionsReached:
    - jupyter_server.serverapp.ServerApp._normalize_dir
    - os.path.abspath
    - os.path.splitdrive
    - os.path.isabs
    - value.rstrip
    - os.path.isdir
    linkageType: pythonLinkage
    raised:
    - TraitError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - change
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1702
    functionName: jupyter_server.serverapp.ServerApp._root_dir_changed
    functionSourceFile: jupyter_server.serverapp
    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: 1713
    functionName: jupyter_server.serverapp.ServerApp._default_prefered_dir
    functionSourceFile: jupyter_server.serverapp
    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
    - proposal
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 1717
    functionName: jupyter_server.serverapp.ServerApp._preferred_dir_validate
    functionSourceFile: jupyter_server.serverapp
    functionUses: 0
    functionsReached:
    - jupyter_server.serverapp.ServerApp._normalize_dir
    - os.path.abspath
    - os.path.splitdrive
    - os.path.isabs
    - value.rstrip
    - os.path.isdir
    linkageType: pythonLinkage
    raised:
    - TraitError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - change
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1724
    functionName: jupyter_server.serverapp.ServerApp._update_server_extensions
    functionSourceFile: jupyter_server.serverapp
    functionUses: 0
    functionsReached:
    - jupyter_core.application.JupyterApp.log.warning
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - change
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 1755
    functionName: jupyter_server.serverapp.ServerApp._deprecated_kernel_ws_protocol
    functionSourceFile: jupyter_server.serverapp
    functionUses: 0
    functionsReached:
    - jupyter_server.serverapp.ServerApp._warn_deprecated_config
    - jupyter_core.application.JupyterApp.log.warning
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - change
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 1765
    functionName: jupyter_server.serverapp.ServerApp._deprecated_limit_rate
    functionSourceFile: jupyter_server.serverapp
    functionUses: 0
    functionsReached:
    - jupyter_server.serverapp.ServerApp._warn_deprecated_config
    - jupyter_core.application.JupyterApp.log.warning
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - change
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 1775
    functionName: jupyter_server.serverapp.ServerApp._deprecated_iopub_msg_rate_limit
    functionSourceFile: jupyter_server.serverapp
    functionUses: 0
    functionsReached:
    - jupyter_server.serverapp.ServerApp._warn_deprecated_config
    - jupyter_core.application.JupyterApp.log.warning
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - change
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 1785
    functionName: jupyter_server.serverapp.ServerApp._deprecated_iopub_data_rate_limit
    functionSourceFile: jupyter_server.serverapp
    functionUses: 0
    functionsReached:
    - jupyter_server.serverapp.ServerApp._warn_deprecated_config
    - jupyter_core.application.JupyterApp.log.warning
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - change
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 1795
    functionName: jupyter_server.serverapp.ServerApp._deprecated_rate_limit_window
    functionSourceFile: jupyter_server.serverapp
    functionUses: 0
    functionsReached:
    - jupyter_server.serverapp.ServerApp._warn_deprecated_config
    - jupyter_core.application.JupyterApp.log.warning
    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: 1827
    functionName: jupyter_server.serverapp.ServerApp._default_terminals_enabled
    functionSourceFile: jupyter_server.serverapp
    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: 1856
    functionName: jupyter_server.serverapp.ServerApp.starter_app
    functionSourceFile: jupyter_server.serverapp
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 6
    IfCount: 4
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7fc4ab371250>
    argNames:
    - self
    - argv
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1860
    functionName: jupyter_server.serverapp.ServerApp.parse_command_line
    functionSourceFile: jupyter_server.serverapp
    functionUses: 0
    functionsReached:
    - jupyter_core.application.JupyterApp.update_config
    - jupyter_core.application.JupyterApp.argv.remove
    - os.path.isfile
    - traitlets.config.Config
    - <builtin>.super
    - os.path.abspath
    - os.path.exists
    - jupyter_core.application.JupyterApp.exit
    - os.path.isdir
    - jupyter_core.application.JupyterApp.log.critical
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: jupyter_core.application.JupyterApp.argv.remove
    functionSourceFile: jupyter_core
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: jupyter_core.application.JupyterApp.log.critical
    functionSourceFile: jupyter_core
    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: traitlets.config.Config
    functionSourceFile: traitlets
    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: jupyter_core.application.JupyterApp.update_config
    functionSourceFile: jupyter_core
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 12
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 18
    ICount: 9
    IfCount: 12
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1881
    functionName: jupyter_server.serverapp.ServerApp.init_configurables
    functionSourceFile: jupyter_server.serverapp
    functionUses: 1
    functionsReached:
    - traitlets.config.LoggingConfigurable.__init__
    - <builtin>.issubclass
    - pathlib.Path
    - jupyter_core.application.JupyterApp.log.warning
    - warnings.warn
    - traitlets.Type
    - traitlets.config.SingletonConfigurable.instance
    - <builtin>.str
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.issubclass
    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: 1
    functionLinenumber: 1997
    functionName: jupyter_server.serverapp.ServerApp.init_logging
    functionSourceFile: jupyter_server.serverapp
    functionUses: 1
    functionsReached:
    - logger.setLevel
    - 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: logger.setLevel
    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: 2013
    functionName: jupyter_server.serverapp.ServerApp.init_event_logger
    functionSourceFile: jupyter_server.serverapp
    functionUses: 1
    functionsReached:
    - jupyter_events.logger.EventLogger.register_event_schema
    - schema_id.replace
    - traitlets.Instance.register_event_schema
    - jupyter_events.logger.EventLogger
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: jupyter_events.logger.EventLogger
    functionSourceFile: jupyter_events
    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: schema_id.replace
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: jupyter_events.logger.EventLogger.register_event_schema
    functionSourceFile: jupyter_events
    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: traitlets.Instance.register_event_schema
    functionSourceFile: traitlets
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 14
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 21
    ICount: 11
    IfCount: 14
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 2031
    functionName: jupyter_server.serverapp.ServerApp.init_webapp
    functionSourceFile: jupyter_server.serverapp
    functionUses: 1
    functionsReached:
    - root_dir.startswith
    - jupyter_server.auth.identity.IdentityProvider.get_handlers
    - re.compile
    - handlers.append
    - traitlets.Unicode.startswith
    - jupyter_server.auth.identity.LegacyIdentityProvider.validate_security
    - os.path.expanduser
    - gettext.translation
    - jinja2.FileSystemLoader
    - new_handlers.append
    - <builtin>.len
    - jupyter_server.serverapp.ServerWebApplication.__init__
    - jupyter_server.utils.url_path_join
    - jupyter_server._sysinfo.get_sys_info
    - jupyter_server.serverapp.ServerWebApplication.init_handlers
    - handlers.extend
    - subprocess.Popen
    - <builtin>.super
    - <builtin>.list
    - os.path.realpath
    - traitlets.Type.validate_security
    - traitlets.Dict.setdefault
    - datetime.datetime.now
    - warnings.warn
    - jupyter_server._sysinfo.pkg_info
    - sys.platform.startswith
    - <builtin>.getattr
    - s.strip
    - jupyter_core.application.JupyterApp.log.info
    - <builtin>.__import__
    - repo_commit.strip
    - traitlets.Dict.get
    - os.path.join
    - jenv_opt.update
    - jupyter_server._sysinfo.pkg_commit_hash
    - sys.exit
    - jinja2.Environment.install_gettext_translations
    - <builtin>.isinstance
    - os.path.abspath
    - proc.communicate
    - jupyter_server._tz.utcnow
    - jupyter_server.serverapp.ServerWebApplication.init_settings
    - settings.update
    - traitlets.config.LoggingConfigurable.__init__
    - platform.platform
    - traitlets.config.LoggingConfigurable.log.critical
    - os.path.exists
    - os.path.dirname
    - jupyter_core.application.JupyterApp.log.critical
    - jupyter_server.serverapp.load_handlers
    - jinja2.Environment
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: traitlets.Unicode.startswith
    functionSourceFile: traitlets
    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: traitlets.Dict.setdefault
    functionSourceFile: traitlets
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 6
    IfCount: 1
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7fc4ad18a430>
    argNames:
    - self
    - app
    - ssl_options
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 723
    functionName: jupyter_server.auth.identity.LegacyIdentityProvider.validate_security
    functionSourceFile: jupyter_server.auth.identity
    functionUses: 2
    functionsReached:
    - traitlets.config.LoggingConfigurable.log.critical
    - sys.exit
    - traitlets.Type.validate_security
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 4
    IfCount: 3
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 2133
    functionName: jupyter_server.serverapp.ServerApp.init_resources
    functionSourceFile: jupyter_server.serverapp
    functionUses: 1
    functionsReached:
    - resource.getrlimit
    - jupyter_core.application.JupyterApp.log.debug
    - resource.setrlimit
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.setrlimit
    functionSourceFile: resource
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 1
    IfCount: 5
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7fc4ab2fb8b0>
    - <ast.Constant object at 0x7fc4ab2fb880>
    argNames:
    - self
    - path
    - include_token
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 2152
    functionName: jupyter_server.serverapp.ServerApp._get_urlparts
    functionSourceFile: jupyter_server.serverapp
    functionUses: 3
    functionsReached:
    - socket.gethostname
    - jupyter_server.utils.urlencode_unix_socket_path
    - urllib.parse.ParseResult
    - traitlets.Unicode.replace
    - urllib.parse.urlencode
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - socket_path
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 207
    functionName: jupyter_server.utils.urlencode_unix_socket_path
    functionSourceFile: jupyter_server.utils
    functionUses: 5
    functionsReached:
    - traitlets.Unicode.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: urllib.parse.urlencode
    functionSourceFile: urllib
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: urllib.parse.ParseResult
    functionSourceFile: urllib
    functionUses: 4
    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: 2188
    functionName: jupyter_server.serverapp.ServerApp.public_url
    functionSourceFile: jupyter_server.serverapp
    functionUses: 0
    functionsReached:
    - socket.gethostname
    - jupyter_server.utils.urlencode_unix_socket_path
    - parts.geturl
    - urllib.parse.ParseResult
    - traitlets.Unicode.replace
    - parts._replace
    - jupyter_server.serverapp.ServerApp._get_urlparts
    - urllib.parse.urlencode
    - urllib.parse.urlparse
    - custom.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: custom.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: parts._replace
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: parts.geturl
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 2201
    functionName: jupyter_server.serverapp.ServerApp.local_url
    functionSourceFile: jupyter_server.serverapp
    functionUses: 0
    functionsReached:
    - socket.gethostname
    - jupyter_server.utils.urlencode_unix_socket_path
    - parts.geturl
    - urllib.parse.ParseResult
    - traitlets.Unicode.replace
    - parts._replace
    - jupyter_server.serverapp.ServerApp._get_urlparts
    - urllib.parse.urlencode
    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: 2209
    functionName: jupyter_server.serverapp.ServerApp.display_url
    functionSourceFile: jupyter_server.serverapp
    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: 3
    functionLinenumber: 2217
    functionName: jupyter_server.serverapp.ServerApp.connection_url
    functionSourceFile: jupyter_server.serverapp
    functionUses: 0
    functionsReached:
    - socket.gethostname
    - urlparts.geturl
    - jupyter_server.utils.urlencode_unix_socket_path
    - urllib.parse.ParseResult
    - traitlets.Unicode.replace
    - jupyter_server.serverapp.ServerApp._get_urlparts
    - urllib.parse.urlencode
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: urlparts.geturl
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 5
    IfCount: 3
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 2221
    functionName: jupyter_server.serverapp.ServerApp.init_signal
    functionSourceFile: jupyter_server.serverapp
    functionUses: 1
    functionsReached:
    - sys.platform.startswith
    - <builtin>.hasattr
    - sys.stdin.isatty
    - signal.signal
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 3
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - sig
    - frame
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 2237
    functionName: jupyter_server.serverapp.ServerApp._handle_sigint
    functionSourceFile: jupyter_server.serverapp
    functionUses: 0
    functionsReached:
    - threading.Thread
    - thread.start
    - signal.signal
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: 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: thread.start
    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: 2247
    functionName: jupyter_server.serverapp.ServerApp._restore_sigint_handler
    functionSourceFile: jupyter_server.serverapp
    functionUses: 0
    functionsReached:
    - signal.signal
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 12
    IfCount: 4
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 2251
    functionName: jupyter_server.serverapp.ServerApp._confirm_exit
    functionSourceFile: jupyter_server.serverapp
    functionUses: 0
    functionsReached:
    - <builtin>.getattr
    - select.select
    - sys.stdout.flush
    - typing.cast
    - trans.ngettext
    - sys.stdin.readline
    - jupyter_server.serverapp.ServerApp.running_server_info
    - jupyter_server.serverapp.ServerApp.stop
    - sys.stdout.write
    - <builtin>.len
    - line.lower
    - <builtin>.hasattr
    - jupyter_core.application.JupyterApp.log.critical
    - jupyter_core.application.JupyterApp.log.info
    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 0x7fc4ac800820>
    argNames:
    - self
    - from_signal
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 2976
    functionName: jupyter_server.serverapp.ServerApp.stop
    functionSourceFile: jupyter_server.serverapp
    functionUses: 3
    functionsReached:
    - <builtin>.getattr
    - <builtin>.hasattr
    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 0x7fc4ad118760>
    argNames:
    - self
    - kernel_count
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 2638
    functionName: jupyter_server.serverapp.ServerApp.running_server_info
    functionSourceFile: jupyter_server.serverapp
    functionUses: 4
    functionsReached:
    - <builtin>.len
    - trans.ngettext
    - 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: sys.stdout.flush
    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: sys.stdin.readline
    functionSourceFile: sys
    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:
    - self
    - sig
    - frame
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 2295
    functionName: jupyter_server.serverapp.ServerApp._signal_stop
    functionSourceFile: jupyter_server.serverapp
    functionUses: 0
    functionsReached:
    - jupyter_server.serverapp.ServerApp.stop
    - <builtin>.getattr
    - <builtin>.hasattr
    - jupyter_core.application.JupyterApp.log.critical
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - sig
    - frame
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 2300
    functionName: jupyter_server.serverapp.ServerApp._signal_info
    functionSourceFile: jupyter_server.serverapp
    functionUses: 0
    functionsReached:
    - typing.cast
    - trans.ngettext
    - jupyter_server.serverapp.ServerApp.running_server_info
    - <builtin>.len
    - jupyter_core.application.JupyterApp.log.info
    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: 2304
    functionName: jupyter_server.serverapp.ServerApp.init_components
    functionSourceFile: jupyter_server.serverapp
    functionUses: 1
    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: 5
    functionLinenumber: 2308
    functionName: jupyter_server.serverapp.ServerApp.find_server_extensions
    functionSourceFile: jupyter_server.serverapp
    functionUses: 1
    functionsReached:
    - json.load
    - <builtin>.sorted
    - new.items
    - data.get
    - jupyter_server.config_manager.BaseJSONConfigManager.get
    - traitlets.config.LoggingConfigurable.log.debug
    - jupyter_server.services.config.manager.ConfigManager.get
    - <builtin>.open
    - glob.glob
    - jupyter_server.config_manager.BaseJSONConfigManager.file_name
    - os.path.join
    - traitlets.Dict.update
    - <builtin>.isinstance
    - target.pop
    - os.path.isfile
    - traitlets.config.LoggingConfigurable.__init__
    - extensions.items
    - jupyter_server.extension.config.ExtensionConfigManager.get_jpserver_extensions
    - jupyter_server.config_manager.BaseJSONConfigManager.directory
    - jupyter_core.application.JupyterApp.config.ServerApp.jpserver_extensions.update
    - jupyter_server.config_manager.recursive_update
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues:
    - <ast.Name object at 0x7fc4ac00b400>
    argNames:
    - self
    - section_name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 13
    functionName: jupyter_server.extension.config.ExtensionConfigManager.get_jpserver_extensions
    functionSourceFile: jupyter_server.extension.config
    functionUses: 8
    functionsReached:
    - json.load
    - jupyter_server.config_manager.BaseJSONConfigManager.file_name
    - os.path.isfile
    - os.path.join
    - traitlets.config.LoggingConfigurable.__init__
    - traitlets.config.LoggingConfigurable.log.debug
    - data.get
    - <builtin>.sorted
    - new.items
    - jupyter_server.config_manager.BaseJSONConfigManager.get
    - jupyter_server.config_manager.BaseJSONConfigManager.directory
    - <builtin>.isinstance
    - target.pop
    - jupyter_server.services.config.manager.ConfigManager.get
    - jupyter_server.config_manager.recursive_update
    - <builtin>.open
    - glob.glob
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: extensions.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: jupyter_core.application.JupyterApp.config.ServerApp.jpserver_extensions.update
    functionSourceFile: jupyter_core
    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: traitlets.Dict.update
    functionSourceFile: traitlets
    functionUses: 2
    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: 6
    functionLinenumber: 2331
    functionName: jupyter_server.serverapp.ServerApp.init_server_extensions
    functionSourceFile: jupyter_server.serverapp
    functionUses: 1
    functionsReached:
    - traitlets.config.LoggingConfigurable.log.warning
    - jupyter_server.extension.manager.ExtensionManager.from_jpserver_extensions
    - module._jupyter_server_extension_paths
    - importlib.import_module
    - extension.link_all_points
    - traitlets.Dict.items
    - <builtin>.super
    - jupyter_server.extension.manager.ExtensionPackage.__init__
    - traitlets.config.LoggingConfigurable.log.debug
    - traitlets.HasTraits.__init__
    - jupyter_server.extension.manager.ExtensionManager.link_all_extensions
    - traitlets.Dict.get
    - jupyter_server.extension.manager.ExtensionPackage._load_metadata
    - module._jupyter_server_extension_points
    - jupyter_server.extension.manager.ExtensionManager.link_extension
    - traitlets.config.LoggingConfigurable.log.info
    - traitlets.config.LoggingConfigurable.__init__
    - jupyter_server.extension.manager.ExtensionManager.add_extension
    - time.perf_counter
    - jupyter_server.extension.utils.get_metadata
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - jpserver_extensions
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 312
    functionName: jupyter_server.extension.manager.ExtensionManager.from_jpserver_extensions
    functionSourceFile: jupyter_server.extension.manager
    functionUses: 5
    functionsReached:
    - jupyter_server.extension.manager.ExtensionPackage._load_metadata
    - traitlets.config.LoggingConfigurable.log.warning
    - traitlets.config.LoggingConfigurable.log.debug
    - traitlets.Dict.items
    - <builtin>.super
    - jupyter_server.extension.manager.ExtensionPackage.__init__
    - jupyter_server.extension.manager.ExtensionManager.add_extension
    - module._jupyter_server_extension_points
    - time.perf_counter
    - jupyter_server.extension.utils.get_metadata
    - traitlets.HasTraits.__init__
    - module._jupyter_server_extension_paths
    - importlib.import_module
    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: 376
    functionName: jupyter_server.extension.manager.ExtensionManager.link_all_extensions
    functionSourceFile: jupyter_server.extension.manager
    functionUses: 2
    functionsReached:
    - traitlets.Dict.get
    - extension.link_all_points
    - traitlets.config.LoggingConfigurable.log.warning
    - jupyter_server.extension.manager.ExtensionManager.link_extension
    - traitlets.config.LoggingConfigurable.log.info
    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: 2344
    functionName: jupyter_server.serverapp.ServerApp.load_server_extensions
    functionSourceFile: jupyter_server.serverapp
    functionUses: 1
    functionsReached:
    - traitlets.Dict.get
    - extension.load_all_points
    - jupyter_server.extension.manager.ExtensionManager.load_all_extensions
    - traitlets.config.LoggingConfigurable.log.warning
    - jupyter_server.extension.manager.ExtensionManager.load_extension
    - traitlets.config.LoggingConfigurable.log.info
    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: 385
    functionName: jupyter_server.extension.manager.ExtensionManager.load_all_extensions
    functionSourceFile: jupyter_server.extension.manager
    functionUses: 2
    functionsReached:
    - traitlets.Dict.get
    - extension.load_all_points
    - traitlets.config.LoggingConfigurable.log.warning
    - jupyter_server.extension.manager.ExtensionManager.load_extension
    - traitlets.config.LoggingConfigurable.log.info
    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: 1
    functionLinenumber: 2354
    functionName: jupyter_server.serverapp.ServerApp.init_mime_overrides
    functionSourceFile: jupyter_server.serverapp
    functionUses: 1
    functionsReached:
    - mimetypes.add_type
    - mimetypes.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: mimetypes.init
    functionSourceFile: mimetypes
    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: mimetypes.add_type
    functionSourceFile: mimetypes
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 4
    IfCount: 3
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 2370
    functionName: jupyter_server.serverapp.ServerApp.shutdown_no_activity
    functionSourceFile: jupyter_server.serverapp
    functionUses: 0
    functionsReached:
    - sources.extend
    - <builtin>.max
    - tornado.web.Application.settings.items
    - <builtin>.sorted
    - jupyter_server.extension.manager.ExtensionManager.any_activity
    - jupyter_server.serverapp.ServerApp.stop
    - jupyter_server.serverapp.ServerWebApplication.last_activity
    - jupyter_core.application.JupyterApp.log.debug
    - key.endswith
    - datetime.datetime.now
    - <builtin>.dict
    - app.current_activity
    - <builtin>.len
    - <builtin>.getattr
    - <builtin>.hasattr
    - jupyter_server._tz.utcnow
    - jupyter_core.application.JupyterApp.log.info
    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: 398
    functionName: jupyter_server.extension.manager.ExtensionManager.any_activity
    functionSourceFile: jupyter_server.extension.manager
    functionUses: 1
    functionsReached:
    - app.current_activity
    - <builtin>.sorted
    - <builtin>.dict
    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: 2388
    functionName: jupyter_server.serverapp.ServerApp.init_shutdown_no_activity
    functionSourceFile: jupyter_server.serverapp
    functionUses: 1
    functionsReached:
    - pc.start
    - tornado.ioloop.PeriodicCallback
    - jupyter_core.application.JupyterApp.log.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: 0
    functionLinenumber: -1
    functionName: pc.start
    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:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 2399
    functionName: jupyter_server.serverapp.ServerApp.http_server
    functionSourceFile: jupyter_server.serverapp
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - AttributeError
    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: 3
    functionLinenumber: 2411
    functionName: jupyter_server.serverapp.ServerApp.init_httpserver
    functionSourceFile: jupyter_server.serverapp
    functionUses: 1
    functionsReached:
    - <builtin>.max
    - tornado.httpserver.HTTPServer
    - <builtin>.min
    - tornado.netutil.bind_sockets
    - random.randint
    - jupyter_core.application.JupyterApp.log.warning
    - jupyter_server.serverapp.ServerApp._find_http_port
    - jupyter_server.serverapp.random_ports
    - <builtin>.range
    - jupyter_core.application.JupyterApp.exit
    - <builtin>.getattr
    - <builtin>.hasattr
    - jupyter_core.application.JupyterApp.log.critical
    - jupyter_core.application.JupyterApp.log.info
    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: tornado.httpserver.HTTPServer
    functionSourceFile: tornado
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 8
    IfCount: 5
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 2475
    functionName: jupyter_server.serverapp.ServerApp._find_http_port
    functionSourceFile: jupyter_server.serverapp
    functionUses: 2
    functionsReached:
    - <builtin>.max
    - <builtin>.min
    - tornado.netutil.bind_sockets
    - random.randint
    - jupyter_core.application.JupyterApp.log.warning
    - jupyter_server.serverapp.random_ports
    - <builtin>.range
    - jupyter_core.application.JupyterApp.exit
    - <builtin>.getattr
    - jupyter_core.application.JupyterApp.log.critical
    - jupyter_core.application.JupyterApp.log.info
    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: 2437
    functionName: jupyter_server.serverapp.ServerApp._bind_http_server
    functionSourceFile: jupyter_server.serverapp
    functionUses: 0
    functionsReached:
    - jupyter_server.serverapp.ServerApp._bind_http_server_unix
    - jupyter_server.serverapp.ServerApp._bind_http_server_tcp
    - socket.socket
    - jupyter_server.utils.unix_socket_in_use
    - tornado.netutil.bind_unix_socket
    - <builtin>.int
    - sock.close
    - traitlets.Unicode.encode
    - jupyter_core.application.JupyterApp.log.warning
    - os.path.exists
    - jupyter_core.application.JupyterApp.exit
    - sock.connect
    - <builtin>.getattr
    - jupyter_core.application.JupyterApp.log.critical
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 5
    IfCount: 3
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 2449
    functionName: jupyter_server.serverapp.ServerApp._bind_http_server_unix
    functionSourceFile: jupyter_server.serverapp
    functionUses: 1
    functionsReached:
    - socket.socket
    - jupyter_server.utils.unix_socket_in_use
    - tornado.netutil.bind_unix_socket
    - <builtin>.int
    - sock.close
    - traitlets.Unicode.encode
    - jupyter_core.application.JupyterApp.log.warning
    - os.path.exists
    - sock.connect
    - <builtin>.getattr
    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: 2470
    functionName: jupyter_server.serverapp.ServerApp._bind_http_server_tcp
    functionSourceFile: ''
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - socket_path
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 222
    functionName: jupyter_server.utils.unix_socket_in_use
    functionSourceFile: jupyter_server.utils
    functionUses: 2
    functionsReached:
    - socket.socket
    - sock.close
    - os.path.exists
    - sock.connect
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: tornado.netutil.bind_unix_socket
    functionSourceFile: tornado
    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: tornado.netutil.bind_sockets
    functionSourceFile: tornado
    functionUses: 3
    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: 2522
    functionName: jupyter_server.serverapp.ServerApp._init_asyncio_patch
    functionSourceFile: jupyter_server.serverapp
    functionUses: 1
    functionsReached:
    - asyncio.WindowsSelectorEventLoopPolicy
    - asyncio.set_event_loop_policy
    - <builtin>.type
    - asyncio.get_event_loop_policy
    - sys.platform.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: asyncio.get_event_loop_policy
    functionSourceFile: asyncio
    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: asyncio.WindowsSelectorEventLoopPolicy
    functionSourceFile: asyncio
    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: asyncio.set_event_loop_policy
    functionSourceFile: asyncio
    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: traitlets.config.application.catch_config_error
    functionSourceFile: ''
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 18
    IfCount: 5
    argCount: 5
    argDefaultValues:
    - <ast.Constant object at 0x7fc4ad0f2a90>
    - <ast.Constant object at 0x7fc4ad0f2ac0>
    - <ast.Constant object at 0x7fc4ad0f2af0>
    - <ast.Constant object at 0x7fc4ad0f2b20>
    argNames:
    - self
    - argv
    - find_extensions
    - new_httpserver
    - starter_extension
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 7
    functionLinenumber: 2547
    functionName: jupyter_server.serverapp.ServerApp.initialize
    functionSourceFile: jupyter_server.serverapp
    functionUses: 0
    functionsReached:
    - root_dir.startswith
    - jupyter_server.auth.identity.IdentityProvider.get_handlers
    - jupyter_server.auth.identity.LegacyIdentityProvider.validate_security
    - gettext.translation
    - jupyter_server.serverapp.ServerApp._init_asyncio_patch
    - jupyter_server.serverapp.ServerApp.init_components
    - <builtin>.type
    - jupyter_server.serverapp.ServerWebApplication.__init__
    - handlers.extend
    - <builtin>.super
    - <builtin>.list
    - traitlets.Type.validate_security
    - jupyter_server.serverapp.ServerApp._find_http_port
    - traitlets.Dict.setdefault
    - jupyter_server._sysinfo.pkg_info
    - jupyter_core.application.JupyterApp.exit
    - traitlets.HasTraits.__init__
    - sys.platform.startswith
    - jupyter_server.services.config.manager.ConfigManager.get
    - repo_commit.strip
    - jupyter_server.config_manager.BaseJSONConfigManager.file_name
    - jenv_opt.update
    - jupyter_server._sysinfo.pkg_commit_hash
    - tornado.netutil.bind_sockets
    - jupyter_core.application.JupyterApp.log.warning
    - asyncio.set_event_loop_policy
    - jupyter_server.extension.manager.ExtensionManager.link_extension
    - proc.communicate
    - traitlets.config.LoggingConfigurable.log.info
    - signal.signal
    - os.path.isfile
    - settings.update
    - extensions.items
    - asyncio.WindowsSelectorEventLoopPolicy
    - time.perf_counter
    - jupyter_server.config_manager.recursive_update
    - jupyter_core.application.JupyterApp.log.critical
    - jupyter_server.serverapp.load_handlers
    - json.load
    - re.compile
    - jupyter_server.extension.manager.ExtensionManager.load_all_extensions
    - traitlets.config.LoggingConfigurable.log.warning
    - traitlets.Unicode.startswith
    - <builtin>.sorted
    - jupyter_server.serverapp.ServerApp.init_ioloop
    - tornado.ioloop.PeriodicCallback
    - traitlets.Type
    - <builtin>.len
    - module._jupyter_server_extension_paths
    - jupyter_server._sysinfo.get_sys_info
    - jupyter_events.logger.EventLogger
    - importlib.import_module
    - pc.start
    - jupyter_server.serverapp.ServerApp.init_resources
    - extension.link_all_points
    - subprocess.Popen
    - traitlets.config.Config
    - jupyter_server.extension.manager.ExtensionPackage.__init__
    - <builtin>.open
    - glob.glob
    - <builtin>.str
    - <builtin>.__import__
    - jupyter_server.serverapp.ServerApp.init_configurables
    - traitlets.Dict.update
    - jupyter_server.extension.manager.ExtensionManager.load_extension
    - module._jupyter_server_extension_points
    - sys.exit
    - os.path.abspath
    - <builtin>.isinstance
    - resource.getrlimit
    - tornado.httpserver.HTTPServer
    - platform.platform
    - sys.stdin.isatty
    - logging.getLogger
    - jupyter_server.serverapp.ServerApp.init_server_extensions
    - resource.setrlimit
    - jupyter_server.serverapp.ServerApp.find_server_extensions
    - traitlets.config.LoggingConfigurable.log.critical
    - random.randint
    - jupyter_server.serverapp.ServerApp.init_signal
    - extension.load_all_points
    - handlers.append
    - os.path.expanduser
    - traitlets.Instance.register_event_schema
    - new_handlers.append
    - <builtin>.hasattr
    - jupyter_server.serverapp.ServerApp.load_server_extensions
    - jupyter_events.logger.EventLogger.register_event_schema
    - jupyter_server.utils.url_path_join
    - jupyter_server.serverapp.ServerApp.init_shutdown_no_activity
    - <builtin>.min
    - traitlets.Dict.items
    - os.path.realpath
    - data.get
    - jupyter_server.config_manager.BaseJSONConfigManager.get
    - datetime.datetime.now
    - traitlets.config.SingletonConfigurable.instance
    - jupyter_core.application.JupyterApp.log.info
    - traitlets.Dict.get
    - jupyter_server.serverapp.ServerApp.init_event_logger
    - jupyter_server._tz.utcnow
    - jupyter_server.serverapp.ServerWebApplication.init_settings
    - jupyter_server.extension.manager.ExtensionManager.add_extension
    - jupyter_core.application.JupyterApp.log.debug
    - os.path.exists
    - jupyter_core.application.JupyterApp.config.ServerApp.jpserver_extensions.update
    - os.path.dirname
    - jupyter_server.serverapp.ServerApp.init_logging
    - logger.setLevel
    - new.items
    - pathlib.Path
    - jinja2.FileSystemLoader
    - jupyter_server.extension.manager.ExtensionManager.from_jpserver_extensions
    - schema_id.replace
    - jupyter_core.application.JupyterApp.update_config
    - jupyter_server.serverapp.ServerWebApplication.init_handlers
    - <builtin>.issubclass
    - <builtin>.range
    - jupyter_server.serverapp.ServerApp.init_httpserver
    - warnings.warn
    - traitlets.config.LoggingConfigurable.log.debug
    - <builtin>.getattr
    - jupyter_server.extension.manager.ExtensionManager.link_all_extensions
    - s.strip
    - asyncio.get_event_loop_policy
    - tornado.ioloop.IOLoop.current
    - mimetypes.add_type
    - os.path.join
    - jupyter_server.extension.manager.ExtensionPackage._load_metadata
    - jupyter_server.serverapp.ServerApp.init_mime_overrides
    - jupyter_server.serverapp.random_ports
    - jinja2.Environment.install_gettext_translations
    - jupyter_server.serverapp.ServerApp.init_webapp
    - target.pop
    - <builtin>.max
    - traitlets.config.LoggingConfigurable.__init__
    - jupyter_server.extension.config.ExtensionConfigManager.get_jpserver_extensions
    - jupyter_server.extension.utils.get_metadata
    - jupyter_server.config_manager.BaseJSONConfigManager.directory
    - mimetypes.init
    - jinja2.Environment
    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: 2958
    functionName: jupyter_server.serverapp.ServerApp.init_ioloop
    functionSourceFile: jupyter_server.serverapp
    functionUses: 1
    functionsReached:
    - tornado.ioloop.IOLoop.current
    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: 2612
    functionName: jupyter_server.serverapp.ServerApp.cleanup_kernels
    functionSourceFile: jupyter_server.serverapp
    functionUses: 2
    functionsReached:
    - trans.ngettext
    - jupyter_core.utils.ensure_async
    - <builtin>.len
    - <builtin>.getattr
    - jupyter_core.application.JupyterApp.log.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: 0
    functionLinenumber: -1
    functionName: trans.ngettext
    functionSourceFile: <builtin>
    functionUses: 9
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 2627
    functionName: jupyter_server.serverapp.ServerApp.cleanup_extensions
    functionSourceFile: jupyter_server.serverapp
    functionUses: 2
    functionsReached:
    - <builtin>.sorted
    - <builtin>.list
    - trans.ngettext
    - itertools.starmap
    - jupyter_core.utils.ensure_async
    - jupyter_server.extension.manager.ExtensionManager.stop_all_extensions
    - tornado.gen.multi
    - <builtin>.dict
    - <builtin>.len
    - <builtin>.getattr
    - jupyter_core.application.JupyterApp.log.info
    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: 394
    functionName: jupyter_server.extension.manager.ExtensionManager.stop_all_extensions
    functionSourceFile: jupyter_server.extension.manager
    functionUses: 3
    functionsReached:
    - <builtin>.sorted
    - <builtin>.list
    - itertools.starmap
    - tornado.gen.multi
    - <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: 2655
    functionName: jupyter_server.serverapp.ServerApp.server_info
    functionSourceFile: jupyter_server.serverapp
    functionUses: 3
    functionsReached:
    - os.path.abspath
    - <builtin>.bool
    - os.getpid
    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: 2
    functionLinenumber: 2671
    functionName: jupyter_server.serverapp.ServerApp.write_server_info_file
    functionSourceFile: jupyter_server.serverapp
    functionUses: 2
    functionsReached:
    - jupyter_core.application.JupyterApp.log.error
    - json.dump
    - jupyter_server.serverapp.ServerApp.server_info
    - os.path.abspath
    - os.getpid
    - jupyter_core.paths.secure_write
    - <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: json.dump
    functionSourceFile: json
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 2679
    functionName: jupyter_server.serverapp.ServerApp.remove_server_info_file
    functionSourceFile: jupyter_server.serverapp
    functionUses: 2
    functionsReached:
    - os.unlink
    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: 1
    functionLinenumber: 2690
    functionName: jupyter_server.serverapp.ServerApp._resolve_file_to_run_and_root_dir
    functionSourceFile: jupyter_server.serverapp
    functionUses: 3
    functionsReached:
    - pathlib.Path
    - jupyter_core.application.JupyterApp.log.debug
    - combined_path.relative_to
    - jupyter_core.application.JupyterApp.exit
    - jupyter_core.application.JupyterApp.log.critical
    - <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: combined_path.relative_to
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - url
    - fh
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 2722
    functionName: jupyter_server.serverapp.ServerApp._write_browser_open_file
    functionSourceFile: jupyter_server.serverapp
    functionUses: 4
    functionsReached:
    - fh.write
    - template.render
    - jinja2_env.get_template
    - tornado.httputil.url_concat
    - s.strip
    - jupyter_server.utils.url_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: tornado.httputil.url_concat
    functionSourceFile: tornado
    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: jinja2_env.get_template
    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: template.render
    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: fh.write
    functionSourceFile: <builtin>
    functionUses: 5
    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: 4
    functionLinenumber: 2732
    functionName: jupyter_server.serverapp.ServerApp.write_browser_open_files
    functionSourceFile: jupyter_server.serverapp
    functionUses: 2
    functionsReached:
    - fh.write
    - pathlib.Path
    - template.render
    - <builtin>.len
    - jupyter_server.serverapp.ServerApp._write_browser_open_file
    - jupyter_server.utils.url_path_join
    - jupyter_server.serverapp.ServerApp._resolve_file_to_run_and_root_dir
    - jupyter_core.application.JupyterApp.exit
    - tornado.httputil.url_concat
    - s.strip
    - <builtin>.open
    - <builtin>.str
    - jupyter_server.serverapp.ServerApp.write_browser_open_file
    - path.split
    - jinja2_env.get_template
    - combined_path.relative_to
    - urllib.parse.quote
    - file_to_run_relpath.split
    - jupyter_server.utils.url_escape
    - jupyter_core.application.JupyterApp.log.debug
    - jupyter_core.application.JupyterApp.log.critical
    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: 2753
    functionName: jupyter_server.serverapp.ServerApp.write_browser_open_file
    functionSourceFile: jupyter_server.serverapp
    functionUses: 3
    functionsReached:
    - fh.write
    - template.render
    - jinja2_env.get_template
    - s.strip
    - tornado.httputil.url_concat
    - <builtin>.len
    - jupyter_server.serverapp.ServerApp._write_browser_open_file
    - jupyter_server.utils.url_path_join
    - <builtin>.open
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: file_to_run_relpath.split
    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:
    - path
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 82
    functionName: jupyter_server.utils.url_escape
    functionSourceFile: jupyter_server.utils
    functionUses: 27
    functionsReached:
    - path.split
    - urllib.parse.quote
    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: 2764
    functionName: jupyter_server.serverapp.ServerApp.remove_browser_open_files
    functionSourceFile: jupyter_server.serverapp
    functionUses: 2
    functionsReached:
    - os.unlink
    - jupyter_server.serverapp.ServerApp.remove_browser_open_file
    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: 2777
    functionName: jupyter_server.serverapp.ServerApp.remove_browser_open_file
    functionSourceFile: jupyter_server.serverapp
    functionUses: 3
    functionsReached:
    - os.unlink
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 1
    IfCount: 4
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 2788
    functionName: jupyter_server.serverapp.ServerApp._prepare_browser_open
    functionSourceFile: jupyter_server.serverapp
    functionUses: 3
    functionsReached:
    - urllib.parse.urljoin
    - tornado.httputil.url_concat
    - <builtin>.len
    - urllib.request.pathname2url
    - s.strip
    - jupyter_server.utils.url_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: urllib.request.pathname2url
    functionSourceFile: urllib
    functionUses: 4
    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: 2811
    functionName: jupyter_server.serverapp.ServerApp.launch_browser
    functionSourceFile: jupyter_server.serverapp
    functionUses: 2
    functionsReached:
    - <builtin>.len
    - jupyter_server.serverapp.ServerApp._prepare_browser_open
    - urllib.parse.urljoin
    - jupyter_core.application.JupyterApp.log.warning
    - threading.Thread
    - tornado.httputil.url_concat
    - webbrowser.get
    - urllib.request.pathname2url
    - s.strip
    - jupyter_server.utils.url_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: webbrowser.get
    functionSourceFile: webbrowser
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 2828
    functionName: jupyter_server.serverapp.ServerApp.launch_browser.target
    functionSourceFile: jupyter_server.serverapp
    functionUses: 0
    functionsReached:
    - browser.open
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: browser.open
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 12
    ICount: 12
    IfCount: 8
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 2834
    functionName: jupyter_server.serverapp.ServerApp.start_app
    functionSourceFile: jupyter_server.serverapp
    functionUses: 1
    functionsReached:
    - fh.write
    - jupyter_server.serverapp.ServerApp._prepare_browser_open
    - pathlib.Path
    - template.render
    - <builtin>.len
    - jupyter_server.serverapp.ServerApp.launch_browser
    - webbrowser.get
    - jupyter_server.serverapp.ServerApp._write_browser_open_file
    - jupyter_server.utils.url_path_join
    - <builtin>.bool
    - jupyter_server.serverapp.ServerApp._resolve_file_to_run_and_root_dir
    - <builtin>.super
    - json.dump
    - jupyter_server.serverapp.ServerApp.server_info
    - jupyter_server.serverapp.ServerApp.write_server_info_file
    - jupyter_core.application.JupyterApp.exit
    - tornado.httputil.url_concat
    - jupyter_server.serverapp.ServerApp.write_browser_open_files
    - s.strip
    - <builtin>.open
    - jupyter_core.application.JupyterApp.log.info
    - <builtin>.str
    - jupyter_core.application.JupyterApp.log.error
    - typing.cast
    - urllib.request.pathname2url
    - trans.ngettext
    - jupyter_server.serverapp.ServerApp.running_server_info
    - jupyter_server.serverapp.ServerApp.write_browser_open_file
    - path.split
    - os.path.abspath
    - jupyter_core.application.JupyterApp.log.warning
    - threading.Thread
    - jinja2_env.get_template
    - combined_path.relative_to
    - os.geteuid
    - urllib.parse.urljoin
    - urllib.parse.quote
    - file_to_run_relpath.split
    - jupyter_server.utils.url_escape
    - jupyter_core.application.JupyterApp.log.debug
    - os.getpid
    - jupyter_core.paths.secure_write
    - jupyter_core.application.JupyterApp.log.critical
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.geteuid
    functionSourceFile: os
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 9
    IfCount: 3
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 2917
    functionName: jupyter_server.serverapp.ServerApp._cleanup
    functionSourceFile: jupyter_server.serverapp
    functionUses: 1
    functionsReached:
    - jupyter_server.serverapp.ServerApp.remove_browser_open_file
    - <builtin>.sorted
    - itertools.starmap
    - jupyter_core.utils.ensure_async
    - traitlets.Type.close_all
    - <builtin>.len
    - <builtin>.hasattr
    - jupyter_server.serverapp.ServerApp.remove_browser_open_files
    - <builtin>.list
    - jupyter_server.serverapp.ServerApp.cleanup_extensions
    - jupyter_server.extension.manager.ExtensionManager.stop_all_extensions
    - jupyter_server.serverapp.ServerApp.remove_server_info_file
    - <builtin>.getattr
    - jupyter_core.application.JupyterApp.log.info
    - trans.ngettext
    - <builtin>.dict
    - os.unlink
    - tornado.gen.multi
    - jupyter_server.serverapp.ServerApp.cleanup_kernels
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: traitlets.Type.close_all
    functionSourceFile: traitlets
    functionUses: 2
    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: 1
    functionLinenumber: 2946
    functionName: jupyter_server.serverapp.ServerApp.start_ioloop
    functionSourceFile: jupyter_server.serverapp
    functionUses: 1
    functionsReached:
    - sys.platform.startswith
    - pc.start
    - tornado.ioloop.PeriodicCallback
    - jupyter_core.application.JupyterApp.log.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: 0
    functionLinenumber: -1
    functionName: jupyter_server.serverapp.ServerApp.start_ioloop.<lambda1>
    functionSourceFile: jupyter_server.serverapp
    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: 6
    functionLinenumber: 2962
    functionName: jupyter_server.serverapp.ServerApp.start
    functionSourceFile: jupyter_server.serverapp
    functionUses: 0
    functionsReached:
    - fh.write
    - jupyter_server.serverapp.ServerApp._prepare_browser_open
    - pathlib.Path
    - tornado.ioloop.PeriodicCallback
    - jupyter_server.serverapp.ServerApp.start_ioloop
    - template.render
    - <builtin>.len
    - webbrowser.get
    - jupyter_server.serverapp.ServerApp.launch_browser
    - jupyter_server.serverapp.ServerApp._write_browser_open_file
    - jupyter_server.utils.url_path_join
    - <builtin>.bool
    - pc.start
    - jupyter_server.serverapp.ServerApp._resolve_file_to_run_and_root_dir
    - <builtin>.super
    - json.dump
    - jupyter_server.serverapp.ServerApp.server_info
    - jupyter_server.serverapp.ServerApp.write_server_info_file
    - jupyter_core.application.JupyterApp.exit
    - tornado.httputil.url_concat
    - jupyter_server.serverapp.ServerApp.write_browser_open_files
    - sys.platform.startswith
    - s.strip
    - <builtin>.open
    - jupyter_core.application.JupyterApp.log.info
    - <builtin>.str
    - jupyter_core.application.JupyterApp.log.error
    - typing.cast
    - trans.ngettext
    - jupyter_server.serverapp.ServerApp.running_server_info
    - jupyter_server.serverapp.ServerApp.write_browser_open_file
    - jupyter_server.serverapp.ServerApp.start_app
    - jupyter_core.application.JupyterApp.log.warning
    - threading.Thread
    - path.split
    - os.path.abspath
    - combined_path.relative_to
    - jinja2_env.get_template
    - os.geteuid
    - jupyter_core.paths.secure_write
    - urllib.parse.urljoin
    - urllib.parse.quote
    - file_to_run_relpath.split
    - jupyter_server.utils.url_escape
    - jupyter_core.application.JupyterApp.log.debug
    - os.getpid
    - urllib.request.pathname2url
    - jupyter_core.application.JupyterApp.log.critical
    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: 4
    functionLinenumber: 2970
    functionName: jupyter_server.serverapp.ServerApp._stop
    functionSourceFile: jupyter_server.serverapp
    functionUses: 0
    functionsReached:
    - jupyter_server.serverapp.ServerApp._cleanup
    - jupyter_server.serverapp.ServerApp.remove_browser_open_file
    - <builtin>.sorted
    - itertools.starmap
    - jupyter_core.utils.ensure_async
    - traitlets.Type.close_all
    - <builtin>.len
    - <builtin>.hasattr
    - jupyter_server.serverapp.ServerApp.remove_browser_open_files
    - <builtin>.list
    - jupyter_server.serverapp.ServerApp.cleanup_extensions
    - jupyter_server.extension.manager.ExtensionManager.stop_all_extensions
    - jupyter_server.serverapp.ServerApp.remove_server_info_file
    - <builtin>.getattr
    - jupyter_core.application.JupyterApp.log.info
    - trans.ngettext
    - <builtin>.dict
    - os.unlink
    - tornado.gen.multi
    - jupyter_server.serverapp.ServerApp.cleanup_kernels
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.warning
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: jupyter_server.auth.authorizer
    functionSourceFile: jupyter_server.auth.authorizer
    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: jupyter_server.auth.authorizer.Authorizer
    functionSourceFile: jupyter_server.auth.authorizer
    functionUses: 0
    functionsReached:
    - traitlets.Instance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 5
    argDefaultValues: []
    argNames:
    - self
    - handler
    - user
    - action
    - resource
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 45
    functionName: jupyter_server.auth.authorizer.Authorizer.is_authorized
    functionSourceFile: jupyter_server.auth.authorizer
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - NotImplementedError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 5
    argDefaultValues: []
    argNames:
    - self
    - handler
    - user
    - action
    - resource
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 79
    functionName: jupyter_server.auth.authorizer.AllowAllAuthorizer.is_authorized
    functionSourceFile: jupyter_server.auth.authorizer
    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: -1
    functionName: jupyter_server.auth.identity
    functionSourceFile: jupyter_server.auth.identity
    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:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 57
    functionName: jupyter_server.auth.identity.User.__post_init__
    functionSourceFile: jupyter_server.auth.identity
    functionUses: 0
    functionsReached:
    - jupyter_server.auth.identity.User.fill_defaults
    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: 0
    functionLinenumber: 60
    functionName: jupyter_server.auth.identity.User.fill_defaults
    functionSourceFile: ''
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - ValueError
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 1
    IfCount: 4
    argCount: 1
    argDefaultValues: []
    argNames:
    - got_user
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 80
    functionName: jupyter_server.auth.identity._backward_compat_user
    functionSourceFile: jupyter_server.auth.identity
    functionUses: 1
    functionsReached:
    - <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: 1
    functionLinenumber: -1
    functionName: jupyter_server.auth.identity.IdentityProvider
    functionSourceFile: jupyter_server.auth.identity
    functionUses: 0
    functionsReached:
    - re.compile
    - traitlets.Unicode.tag
    - traitlets.Unicode
    - traitlets.Type
    - traitlets.default
    - traitlets.Bool
    - traitlets.Dict
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 0
    IfCount: 3
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 193
    functionName: jupyter_server.auth.identity.IdentityProvider._token_default
    functionSourceFile: jupyter_server.auth.identity
    functionUses: 0
    functionsReached:
    - os.urandom
    - <builtin>.open
    - token_file.read
    - binascii.hexlify
    - os.getenv
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: token_file.read
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: binascii.hexlify
    functionSourceFile: binascii
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - handler
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 211
    functionName: jupyter_server.auth.identity.IdentityProvider.get_user
    functionSourceFile: jupyter_server.auth.identity
    functionUses: 0
    functionsReached:
    - handler.get_cookie
    - traitlets.config.LoggingConfigurable.log.warning
    - traitlets.config.LoggingConfigurable.log.error
    - jupyter_server.auth.identity.IdentityProvider.get_cookie_name
    - handler.get_secure_cookie
    - jupyter_server.auth.identity.IdentityProvider.user_to_cookie
    - jupyter_server.auth.identity.IdentityProvider.generate_anonymous_user
    - handler.get_argument
    - m.group
    - tornado.escape.native_str
    - <builtin>.len
    - jupyter_server.auth.identity.IdentityProvider._force_clear_cookie
    - http.cookies.Morsel
    - _user_cookie.decode
    - jupyter_server.auth.identity.IdentityProvider.get_user_token
    - datetime.timedelta
    - handler.request.headers.get
    - handler.set_secure_cookie
    - handler.log.debug
    - datetime.datetime.now
    - traitlets.config.LoggingConfigurable.log.debug
    - <builtin>.getattr
    - jupyter_server.auth.identity.IdentityProvider.get_token
    - handler.add_header
    - jupyter_server.auth.identity.IdentityProvider.clear_login_cookie
    - morsel.set
    - typing.cast
    - json.dumps
    - tornado.httputil.format_timestamp
    - morsel.OutputString
    - jupyter_server.auth.utils.get_anonymous_username
    - <builtin>.isinstance
    - handler.clear_cookie
    - cookie_options.setdefault
    - jupyter_server.auth.identity.IdentityProvider.set_login_cookie
    - uuid.uuid4
    - jupyter_server.auth.identity.IdentityProvider.user_from_cookie
    - cookie_options.update
    - json.loads
    - jupyter_server.auth.identity.IdentityProvider.get_user_cookie
    - jupyter_server.auth.identity.IdentityProvider._get_user
    - _non_alphanum.sub
    - random.randint
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 12
    ICount: 5
    IfCount: 8
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - handler
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 226
    functionName: jupyter_server.auth.identity.IdentityProvider._get_user
    functionSourceFile: jupyter_server.auth.identity
    functionUses: 1
    functionsReached:
    - handler.get_cookie
    - traitlets.config.LoggingConfigurable.log.warning
    - traitlets.config.LoggingConfigurable.log.error
    - jupyter_server.auth.identity.IdentityProvider.get_cookie_name
    - handler.get_secure_cookie
    - jupyter_server.auth.identity.IdentityProvider.user_to_cookie
    - jupyter_server.auth.identity.IdentityProvider.generate_anonymous_user
    - handler.get_argument
    - m.group
    - tornado.escape.native_str
    - <builtin>.len
    - jupyter_server.auth.identity.IdentityProvider._force_clear_cookie
    - http.cookies.Morsel
    - _user_cookie.decode
    - jupyter_server.auth.identity.IdentityProvider.get_user_token
    - datetime.timedelta
    - handler.request.headers.get
    - handler.set_secure_cookie
    - handler.log.debug
    - datetime.datetime.now
    - traitlets.config.LoggingConfigurable.log.debug
    - <builtin>.getattr
    - jupyter_server.auth.identity.IdentityProvider.get_token
    - handler.add_header
    - jupyter_server.auth.identity.IdentityProvider.clear_login_cookie
    - morsel.set
    - typing.cast
    - json.dumps
    - tornado.httputil.format_timestamp
    - morsel.OutputString
    - jupyter_server.auth.utils.get_anonymous_username
    - <builtin>.isinstance
    - handler.clear_cookie
    - cookie_options.setdefault
    - jupyter_server.auth.identity.IdentityProvider.set_login_cookie
    - uuid.uuid4
    - jupyter_server.auth.identity.IdentityProvider.user_from_cookie
    - cookie_options.update
    - json.loads
    - jupyter_server.auth.identity.IdentityProvider.get_user_cookie
    - _non_alphanum.sub
    - random.randint
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 2
    IfCount: 5
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - handler
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 429
    functionName: jupyter_server.auth.identity.IdentityProvider.get_user_token
    functionSourceFile: jupyter_server.auth.identity
    functionUses: 2
    functionsReached:
    - traitlets.config.LoggingConfigurable.log.error
    - jupyter_server.auth.identity.IdentityProvider.get_cookie_name
    - handler.get_secure_cookie
    - jupyter_server.auth.identity.IdentityProvider.generate_anonymous_user
    - handler.get_argument
    - m.group
    - <builtin>.len
    - _user_cookie.decode
    - handler.request.headers.get
    - handler.log.debug
    - traitlets.config.LoggingConfigurable.log.debug
    - jupyter_server.auth.identity.IdentityProvider.get_token
    - typing.cast
    - jupyter_server.auth.utils.get_anonymous_username
    - <builtin>.isinstance
    - uuid.uuid4
    - jupyter_server.auth.identity.IdentityProvider.user_from_cookie
    - json.loads
    - jupyter_server.auth.identity.IdentityProvider.get_user_cookie
    - _non_alphanum.sub
    - random.randint
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - handler
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 388
    functionName: jupyter_server.auth.identity.IdentityProvider.get_user_cookie
    functionSourceFile: jupyter_server.auth.identity
    functionUses: 3
    functionsReached:
    - _user_cookie.decode
    - jupyter_server.auth.identity.IdentityProvider.user_from_cookie
    - json.loads
    - traitlets.config.LoggingConfigurable.log.error
    - jupyter_server.auth.identity.IdentityProvider.get_cookie_name
    - handler.get_secure_cookie
    - _non_alphanum.sub
    - traitlets.config.LoggingConfigurable.log.debug
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    IfCount: 2
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - handler
    - user
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 331
    functionName: jupyter_server.auth.identity.IdentityProvider.set_login_cookie
    functionSourceFile: jupyter_server.auth.identity
    functionUses: 2
    functionsReached:
    - cookie_options.update
    - json.dumps
    - jupyter_server.auth.identity.IdentityProvider.get_cookie_name
    - handler.set_secure_cookie
    - jupyter_server.auth.identity.IdentityProvider.user_to_cookie
    - _non_alphanum.sub
    - cookie_options.setdefault
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - handler
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 319
    functionName: jupyter_server.auth.identity.IdentityProvider.get_cookie_name
    functionSourceFile: jupyter_server.auth.identity
    functionUses: 6
    functionsReached:
    - _non_alphanum.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: handler.get_cookie
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 4
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - handler
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 374
    functionName: jupyter_server.auth.identity.IdentityProvider.clear_login_cookie
    functionSourceFile: jupyter_server.auth.identity
    functionUses: 2
    functionsReached:
    - handler.add_header
    - cookie_options.setdefault
    - morsel.set
    - cookie_options.update
    - tornado.httputil.format_timestamp
    - datetime.timedelta
    - tornado.escape.native_str
    - morsel.OutputString
    - jupyter_server.auth.identity.IdentityProvider.get_cookie_name
    - http.cookies.Morsel
    - datetime.datetime.now
    - _non_alphanum.sub
    - handler.clear_cookie
    - jupyter_server.auth.identity.IdentityProvider._force_clear_cookie
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - handler
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 464
    functionName: jupyter_server.auth.identity.IdentityProvider.generate_anonymous_user
    functionSourceFile: jupyter_server.auth.identity
    functionUses: 5
    functionsReached:
    - uuid.uuid4
    - jupyter_server.auth.utils.get_anonymous_username
    - handler.log.debug
    - <builtin>.len
    - random.randint
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - user
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 271
    functionName: jupyter_server.auth.identity.IdentityProvider.identity_model
    functionSourceFile: jupyter_server.auth.identity
    functionUses: 0
    functionsReached:
    - dataclasses.asdict
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - user
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 288
    functionName: jupyter_server.auth.identity.IdentityProvider.user_to_cookie
    functionSourceFile: jupyter_server.auth.identity
    functionUses: 3
    functionsReached:
    - json.dumps
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - cookie_value
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 307
    functionName: jupyter_server.auth.identity.IdentityProvider.user_from_cookie
    functionSourceFile: jupyter_server.auth.identity
    functionUses: 4
    functionsReached:
    - json.loads
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: _non_alphanum.sub
    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: cookie_options.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: cookie_options.setdefault
    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: handler.set_secure_cookie
    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:
    - <ast.Constant object at 0x7fc4ab73c280>
    - <ast.Constant object at 0x7fc4ab73c250>
    argNames:
    - self
    - handler
    - name
    - path
    - domain
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 347
    functionName: jupyter_server.auth.identity.IdentityProvider._force_clear_cookie
    functionSourceFile: jupyter_server.auth.identity
    functionUses: 3
    functionsReached:
    - handler.add_header
    - morsel.set
    - tornado.httputil.format_timestamp
    - datetime.timedelta
    - morsel.OutputString
    - datetime.datetime.now
    - tornado.escape.native_str
    - http.cookies.Morsel
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: tornado.escape.native_str
    functionSourceFile: tornado
    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.timedelta
    functionSourceFile: datetime
    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.cookies.Morsel
    functionSourceFile: http
    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: morsel.set
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: tornado.httputil.format_timestamp
    functionSourceFile: tornado
    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: morsel.OutputString
    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: handler.add_header
    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: handler.clear_cookie
    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: handler.get_secure_cookie
    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: _user_cookie.decode
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: traitlets.config.LoggingConfigurable.log.error
    functionSourceFile: traitlets
    functionUses: 16
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - handler
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 413
    functionName: jupyter_server.auth.identity.IdentityProvider.get_token
    functionSourceFile: jupyter_server.auth.identity
    functionUses: 3
    functionsReached:
    - handler.request.headers.get
    - handler.get_argument
    - m.group
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: handler.get_argument
    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: handler.request.headers.get
    functionSourceFile: <builtin>
    functionUses: 7
    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: 164
    functionName: jupyter_server.auth.utils.get_anonymous_username
    functionSourceFile: jupyter_server.auth.utils
    functionUses: 6
    functionsReached:
    - <builtin>.len
    - random.randint
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.log.debug
    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:
    - self
    - handler
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 478
    functionName: jupyter_server.auth.identity.IdentityProvider.should_check_origin
    functionSourceFile: jupyter_server.auth.identity
    functionUses: 0
    functionsReached:
    - jupyter_server.auth.identity.IdentityProvider.is_token_authenticated
    - jupyter_server.auth.identity.LegacyIdentityProvider.is_token_authenticated
    - <builtin>.getattr
    - traitlets.Type.is_token_authenticated
    - <builtin>.bool
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - handler
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 489
    functionName: jupyter_server.auth.identity.IdentityProvider.is_token_authenticated
    functionSourceFile: jupyter_server.auth.identity
    functionUses: 1
    functionsReached:
    - <builtin>.getattr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - handler
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 719
    functionName: jupyter_server.auth.identity.LegacyIdentityProvider.is_token_authenticated
    functionSourceFile: jupyter_server.auth.identity
    functionUses: 1
    functionsReached:
    - traitlets.Type.is_token_authenticated
    - <builtin>.bool
    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 0x7fc4ad16a8e0>
    argNames:
    - self
    - app
    - ssl_options
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 502
    functionName: jupyter_server.auth.identity.IdentityProvider.validate_security
    functionSourceFile: jupyter_server.auth.identity
    functionUses: 0
    functionsReached:
    - app.log.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: app.log.warning
    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
    - handler
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 526
    functionName: jupyter_server.auth.identity.IdentityProvider.process_login_form
    functionSourceFile: jupyter_server.auth.identity
    functionUses: 0
    functionsReached:
    - uuid.uuid4
    - typing.cast
    - traitlets.config.LoggingConfigurable.log.warning
    - random.randint
    - jupyter_server.auth.utils.get_anonymous_username
    - jupyter_server.auth.identity.IdentityProvider.generate_anonymous_user
    - handler.get_argument
    - handler.log.debug
    - <builtin>.len
    - traitlets.config.LoggingConfigurable.user_for_token
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: traitlets.config.LoggingConfigurable.user_for_token
    functionSourceFile: traitlets
    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: 543
    functionName: jupyter_server.auth.identity.IdentityProvider.auth_enabled
    functionSourceFile: jupyter_server.auth.identity
    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: 554
    functionName: jupyter_server.auth.identity.IdentityProvider.login_available
    functionSourceFile: jupyter_server.auth.identity
    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: 559
    functionName: jupyter_server.auth.identity.IdentityProvider.logout_available
    functionSourceFile: jupyter_server.auth.identity
    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: jupyter_server.auth.identity.PasswordIdentityProvider
    functionSourceFile: jupyter_server.auth.identity
    functionUses: 0
    functionsReached:
    - traitlets.Unicode
    - traitlets.default
    - traitlets.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: 616
    functionName: jupyter_server.auth.identity.PasswordIdentityProvider._need_token_default
    functionSourceFile: jupyter_server.auth.identity
    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: 620
    functionName: jupyter_server.auth.identity.PasswordIdentityProvider.login_available
    functionSourceFile: jupyter_server.auth.identity
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 625
    functionName: jupyter_server.auth.identity.PasswordIdentityProvider.auth_enabled
    functionSourceFile: jupyter_server.auth.identity
    functionUses: 0
    functionsReached:
    - <builtin>.bool
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - password
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 629
    functionName: jupyter_server.auth.identity.PasswordIdentityProvider.passwd_check
    functionSourceFile: jupyter_server.auth.identity
    functionUses: 1
    functionsReached:
    - jupyter_server.auth.identity.PasswordIdentityProvider.passwd_check
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 3
    IfCount: 4
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - handler
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 633
    functionName: jupyter_server.auth.identity.PasswordIdentityProvider.process_login_form
    functionSourceFile: jupyter_server.auth.identity
    functionUses: 0
    functionsReached:
    - traitlets.config.LoggingConfigurable.log.warning
    - jupyter_core.paths.jupyter_config_dir
    - getpass.getpass.encode
    - jupyter_server.auth.identity.IdentityProvider.generate_anonymous_user
    - handler.get_argument
    - <builtin>.len
    - hashlib.new
    - jupyter_server.auth.security.passwd
    - traitlets.config.loader.JSONFileConfigLoader
    - traitlets.config.Config
    - os.path.basename
    - h.hexdigest
    - ph.hash
    - os.chmod
    - random.getrandbits
    - handler.log.debug
    - <builtin>.range
    - warnings.warn
    - <builtin>.open
    - <builtin>.str
    - jupyter_server.auth.identity.PasswordIdentityProvider.passwd_check
    - traceback.format_exc
    - f.write
    - os.path.join
    - jupyter_server.auth.security.persist_config
    - json.dumps
    - argon2.PasswordHasher
    - jupyter_server.auth.utils.get_anonymous_username
    - getpass.getpass
    - h.update
    - os.makedirs
    - traitlets.config.LoggingConfigurable.log.info
    - salt.encode
    - jupyter_server.auth.security.set_password
    - uuid.uuid4
    - traitlets.config.loader.JSONFileConfigLoader.load_config
    - os.path.dirname
    - random.randint
    - handler.settings.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: handler.settings.get
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 6
    IfCount: 1
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7fc4ad165160>
    argNames:
    - self
    - app
    - ssl_options
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 657
    functionName: jupyter_server.auth.identity.PasswordIdentityProvider.validate_security
    functionSourceFile: jupyter_server.auth.identity
    functionUses: 0
    functionsReached:
    - <builtin>.super
    - sys.exit
    - traitlets.config.LoggingConfigurable.log.critical
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: traitlets.config.LoggingConfigurable.log.critical
    functionSourceFile: traitlets
    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: 1
    functionLinenumber: -1
    functionName: jupyter_server.auth.identity.LegacyIdentityProvider
    functionSourceFile: jupyter_server.auth.identity
    functionUses: 0
    functionsReached:
    - traitlets.default
    - traitlets.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: 684
    functionName: jupyter_server.auth.identity.LegacyIdentityProvider._default_settings
    functionSourceFile: jupyter_server.auth.identity
    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: 691
    functionName: jupyter_server.auth.identity.LegacyIdentityProvider._default_login_handler_class
    functionSourceFile: jupyter_server.auth.identity
    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: 697
    functionName: jupyter_server.auth.identity.LegacyIdentityProvider.auth_enabled
    functionSourceFile: jupyter_server.auth.identity
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - handler
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 700
    functionName: jupyter_server.auth.identity.LegacyIdentityProvider.get_user
    functionSourceFile: jupyter_server.auth.identity
    functionUses: 0
    functionsReached:
    - jupyter_server.auth.identity._backward_compat_user
    - <builtin>.isinstance
    - traitlets.Type.get_user
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: traitlets.Type.get_user
    functionSourceFile: traitlets
    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: 708
    functionName: jupyter_server.auth.identity.LegacyIdentityProvider.login_available
    functionSourceFile: jupyter_server.auth.identity
    functionUses: 0
    functionsReached:
    - traitlets.Type.get_login_available
    - <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: traitlets.Type.get_login_available
    functionSourceFile: traitlets
    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
    - handler
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 715
    functionName: jupyter_server.auth.identity.LegacyIdentityProvider.should_check_origin
    functionSourceFile: jupyter_server.auth.identity
    functionUses: 0
    functionsReached:
    - traitlets.Type.should_check_origin
    - <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: traitlets.Type.should_check_origin
    functionSourceFile: traitlets
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: traitlets.Type.is_token_authenticated
    functionSourceFile: traitlets
    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: traitlets.Type.validate_security
    functionSourceFile: traitlets
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: jupyter_server.auth.security
    functionSourceFile: jupyter_server.auth.security
    functionUses: 0
    functionsReached:
    - contextlib.contextmanager
    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 0x7fc4abffb130>
    - <ast.Constant object at 0x7fc4abffbe50>
    argNames:
    - passphrase
    - algorithm
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 22
    functionName: jupyter_server.auth.security.passwd
    functionSourceFile: jupyter_server.auth.security
    functionUses: 5
    functionsReached:
    - h.hexdigest
    - getpass.getpass.encode
    - argon2.PasswordHasher
    - ph.hash
    - random.getrandbits
    - <builtin>.range
    - warnings.warn
    - getpass.getpass
    - h.update
    - salt.encode
    - hashlib.new
    - <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: argon2.PasswordHasher
    functionSourceFile: argon2
    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: ph.hash
    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: hashlib.new
    functionSourceFile: hashlib
    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: random.getrandbits
    functionSourceFile: random
    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: getpass.getpass.encode
    functionSourceFile: getpass
    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: salt.encode
    functionSourceFile: <builtin>
    functionUses: 7
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - hashed_passphrase
    - passphrase
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 79
    functionName: jupyter_server.auth.security.passwd_check
    functionSourceFile: jupyter_server.auth.security
    functionUses: 0
    functionsReached:
    - ph.verify
    - h.hexdigest
    - argon2.PasswordHasher
    - hashed_passphrase.split
    - hashed_passphrase.startswith
    - passphrase.encode
    - <builtin>.len
    - h.update
    - salt.encode
    - hashlib.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: hashed_passphrase.startswith
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: ph.verify
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: hashed_passphrase.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: passphrase.encode
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 6
    IfCount: 1
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7fc4ac87ba00>
    - <ast.Constant object at 0x7fc4ac87b0d0>
    argNames:
    - config_file
    - mode
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 136
    functionName: jupyter_server.auth.security.persist_config
    functionSourceFile: jupyter_server.auth.security
    functionUses: 4
    functionsReached:
    - traceback.format_exc
    - f.write
    - traitlets.config.loader.JSONFileConfigLoader.load_config
    - os.path.join
    - traitlets.config.loader.JSONFileConfigLoader
    - json.dumps
    - traitlets.config.Config
    - os.path.basename
    - jupyter_core.paths.jupyter_config_dir
    - os.chmod
    - os.path.dirname
    - warnings.warn
    - os.makedirs
    - <builtin>.open
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: jupyter_core.paths.jupyter_config_dir
    functionSourceFile: jupyter_core
    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.makedirs
    functionSourceFile: os
    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: traitlets.config.loader.JSONFileConfigLoader
    functionSourceFile: traitlets
    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: traitlets.config.loader.JSONFileConfigLoader.load_config
    functionSourceFile: traitlets
    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: traceback.format_exc
    functionSourceFile: traceback
    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: jupyter_server.auth.utils
    functionSourceFile: jupyter_server.auth.utils
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 11
    functionName: jupyter_server.auth.utils.warn_disabled_authorization
    functionSourceFile: jupyter_server.auth.utils
    functionUses: 0
    functionsReached:
    - warnings.warn
    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: 32
    functionName: jupyter_server.auth.utils.get_regex_to_resource_map
    functionSourceFile: jupyter_server.auth.utils
    functionUses: 1
    functionsReached:
    - JUPYTER_SERVICE_HANDLERS.values
    - modules.extend
    - importlib.import_module
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: JUPYTER_SERVICE_HANDLERS.values
    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: modules.extend
    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: importlib.import_module
    functionSourceFile: importlib
    functionUses: 18
    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 0x7fc4ab3799a0>
    argNames:
    - url
    - regex_mapping
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 64
    functionName: jupyter_server.auth.utils.match_url_to_resource
    functionSourceFile: jupyter_server.auth.utils
    functionUses: 0
    functionsReached:
    - re.compile
    - jupyter_server.auth.utils.get_regex_to_resource_map
    - pattern.fullmatch
    - modules.extend
    - regex_mapping.items
    - JUPYTER_SERVICE_HANDLERS.values
    - importlib.import_module
    linkageType: pythonLinkage
    raised: []
    returnType: N/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_mapping.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: pattern.fullmatch
    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: jupyter_server.auth.login
    functionSourceFile: jupyter_server.auth.login
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7fc4ad913220>
    argNames:
    - self
    - message
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 21
    functionName: jupyter_server.auth.login.LoginFormHandler._render
    functionSourceFile: jupyter_server.auth.login
    functionUses: 3
    functionsReached:
    - jupyter_server.base.handlers.JupyterHandler.render_template
    - template.render
    - ns.update
    - tornado.web.RequestHandler.write
    - tornado.web.RequestHandler.get_argument
    - jupyter_server.base.handlers.JupyterHandler.get_template
    - tornado.escape.url_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: tornado.web.RequestHandler.get_argument
    functionSourceFile: tornado
    functionUses: 51
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: tornado.escape.url_escape
    functionSourceFile: tornado
    functionUses: 12
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - name
    - ns
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 643
    functionName: jupyter_server.base.handlers.JupyterHandler.render_template
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 9
    functionsReached:
    - template.render
    - ns.update
    - jupyter_server.base.handlers.JupyterHandler.get_template
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: tornado.web.RequestHandler.write
    functionSourceFile: tornado
    functionUses: 16
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 11
    ICount: 3
    IfCount: 7
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7fc4ad903c40>
    argNames:
    - self
    - url
    - default
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 31
    functionName: jupyter_server.auth.login.LoginFormHandler._redirect_safe
    functionSourceFile: jupyter_server.auth.login
    functionUses: 3
    functionsReached:
    - re.match
    - origin.lower
    - tornado.web.RequestHandler.redirect
    - urllib.parse.urlparse.path.startswith
    - rest.lstrip
    - <builtin>.bool
    - urllib.parse.urlparse
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.lstrip
    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: urllib.parse.urlparse.path.startswith
    functionSourceFile: urllib
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: tornado.web.RequestHandler.redirect
    functionSourceFile: tornado
    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: 76
    functionName: jupyter_server.auth.login.LoginFormHandler.get
    functionSourceFile: jupyter_server.auth.login
    functionUses: 0
    functionsReached:
    - <builtin>.bool
    - jupyter_server.auth.login.LoginFormHandler._redirect_safe
    - re.match
    - tornado.web.RequestHandler.redirect
    - origin.lower
    - jupyter_server.base.handlers.JupyterHandler.render_template
    - urllib.parse.urlparse.path.startswith
    - template.render
    - ns.update
    - tornado.web.RequestHandler.write
    - tornado.web.RequestHandler.get_argument
    - jupyter_server.base.handlers.JupyterHandler.get_template
    - rest.lstrip
    - jupyter_server.auth.login.LoginFormHandler._render
    - tornado.escape.url_escape
    - urllib.parse.urlparse
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 6
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 84
    functionName: jupyter_server.auth.login.LoginFormHandler.post
    functionSourceFile: jupyter_server.auth.login
    functionUses: 0
    functionsReached:
    - <builtin>.bool
    - jupyter_server.auth.login.LoginFormHandler._redirect_safe
    - re.match
    - origin.lower
    - tornado.web.RequestHandler.redirect
    - jupyter_server.base.handlers.JupyterHandler.render_template
    - urllib.parse.urlparse.path.startswith
    - tornado.web.RequestHandler.set_status
    - template.render
    - tornado.web.RequestHandler.write
    - tornado.web.RequestHandler.get_argument
    - ns.update
    - jupyter_server.base.handlers.JupyterHandler.get_template
    - rest.lstrip
    - jupyter_server.auth.login.LoginFormHandler._render
    - tornado.escape.url_escape
    - urllib.parse.urlparse
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: tornado.web.RequestHandler.set_status
    functionSourceFile: tornado
    functionUses: 22
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 106
    functionName: jupyter_server.auth.login.LegacyLoginHandler.hashed_password
    functionSourceFile: jupyter_server.auth.login
    functionUses: 0
    functionsReached:
    - jupyter_server.auth.login.LegacyLoginHandler.password_from_settings
    - tornado.web.RequestHandler.settings.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - cls
    - settings
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 282
    functionName: jupyter_server.auth.login.LegacyLoginHandler.password_from_settings
    functionSourceFile: jupyter_server.auth.login
    functionUses: 3
    functionsReached:
    - tornado.web.RequestHandler.settings.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - a
    - b
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 109
    functionName: jupyter_server.auth.login.LegacyLoginHandler.passwd_check
    functionSourceFile: jupyter_server.auth.login
    functionUses: 1
    functionsReached:
    - jupyter_server.auth.login.LegacyLoginHandler.passwd_check
    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: 3
    functionLinenumber: 113
    functionName: jupyter_server.auth.login.LegacyLoginHandler.post
    functionSourceFile: jupyter_server.auth.login
    functionUses: 0
    functionsReached:
    - re.match
    - jupyter_core.paths.jupyter_config_dir
    - getpass.getpass.encode
    - urllib.parse.urlparse
    - template.render
    - tornado.web.RequestHandler.write
    - tornado.web.RequestHandler.get_argument
    - jupyter_server.auth.login.LegacyLoginHandler.set_login_cookie
    - rest.lstrip
    - jupyter_server.auth.login.LoginFormHandler._render
    - <builtin>.hasattr
    - <builtin>.bool
    - hashlib.new
    - jupyter_server.auth.security.passwd
    - origin.lower
    - traitlets.config.loader.JSONFileConfigLoader
    - traitlets.config.Config
    - os.path.basename
    - h.hexdigest
    - ph.hash
    - os.chmod
    - random.getrandbits
    - <builtin>.range
    - warnings.warn
    - jupyter_server.auth.login.LegacyLoginHandler.get_login_available
    - <builtin>.getattr
    - tornado.escape.url_escape
    - <builtin>.open
    - <builtin>.str
    - traceback.format_exc
    - f.write
    - os.path.join
    - jupyter_server.auth.security.persist_config
    - json.dumps
    - jupyter_server.auth.login.LegacyLoginHandler.password_from_settings
    - jupyter_server.base.handlers.JupyterHandler.render_template
    - argon2.PasswordHasher
    - urllib.parse.urlparse.path.startswith
    - tornado.web.RequestHandler.set_status
    - ns.update
    - getpass.getpass
    - h.update
    - cookie_options.setdefault
    - os.makedirs
    - salt.encode
    - jupyter_server.auth.security.set_password
    - jupyter_server.auth.login.LoginFormHandler._redirect_safe
    - uuid.uuid4
    - tornado.web.RequestHandler.redirect
    - traitlets.config.loader.JSONFileConfigLoader.load_config
    - jupyter_server.auth.login.LegacyLoginHandler.passwd_check
    - jupyter_server.base.handlers.JupyterHandler.get_template
    - os.path.dirname
    - tornado.web.RequestHandler.settings.get
    - tornado.web.RequestHandler.set_secure_cookie
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - cls
    - settings
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 287
    functionName: jupyter_server.auth.login.LegacyLoginHandler.get_login_available
    functionSourceFile: jupyter_server.auth.login
    functionUses: 1
    functionsReached:
    - jupyter_server.auth.login.LegacyLoginHandler.password_from_settings
    - tornado.web.RequestHandler.settings.get
    - <builtin>.bool
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 5
    IfCount: 1
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7fc4aba09f10>
    argNames:
    - cls
    - handler
    - user_id
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 140
    functionName: jupyter_server.auth.login.LegacyLoginHandler.set_login_cookie
    functionSourceFile: jupyter_server.auth.login
    functionUses: 2
    functionsReached:
    - cookie_options.setdefault
    - tornado.web.RequestHandler.set_secure_cookie
    - tornado.web.RequestHandler.settings.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: tornado.web.RequestHandler.settings.get
    functionSourceFile: tornado
    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: 0
    functionLinenumber: -1
    functionName: tornado.web.RequestHandler.set_secure_cookie
    functionSourceFile: tornado
    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: jupyter_server.auth.login.LegacyLoginHandler
    functionSourceFile: jupyter_server.auth.login
    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:
    - cls
    - handler
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 155
    functionName: jupyter_server.auth.login.LegacyLoginHandler.get_token
    functionSourceFile: jupyter_server.auth.login
    functionUses: 2
    functionsReached:
    - cls.auth_header_pat.match
    - handler.request.headers.get
    - handler.get_argument
    - m.group
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: cls.auth_header_pat.match
    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:
    - cls
    - handler
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 173
    functionName: jupyter_server.auth.login.LegacyLoginHandler.should_check_origin
    functionSourceFile: jupyter_server.auth.login
    functionUses: 0
    functionsReached:
    - <builtin>.getattr
    - jupyter_server.auth.login.LegacyLoginHandler.is_token_authenticated
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - cls
    - handler
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 178
    functionName: jupyter_server.auth.login.LegacyLoginHandler.is_token_authenticated
    functionSourceFile: jupyter_server.auth.login
    functionUses: 1
    functionsReached:
    - <builtin>.getattr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 9
    ICount: 4
    IfCount: 6
    argCount: 2
    argDefaultValues: []
    argNames:
    - cls
    - handler
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 186
    functionName: jupyter_server.auth.login.LegacyLoginHandler.get_user
    functionSourceFile: jupyter_server.auth.login
    functionUses: 0
    functionsReached:
    - handler.get_cookie
    - handler.get_secure_cookie
    - handler.get_argument
    - jupyter_server.auth.login.LegacyLoginHandler.set_login_cookie
    - m.group
    - handler.log.info
    - handler.request.headers.get
    - handler.log.debug
    - handler.log.warning
    - <builtin>.getattr
    - jupyter_server.auth.login.LegacyLoginHandler.get_user_cookie
    - jupyter_server.auth.login.LegacyLoginHandler.get_user_token
    - user_id.decode
    - handler.settings.get
    - cookie_options.setdefault
    - uuid.uuid4
    - handler.clear_login_cookie
    - cls.auth_header_pat.match
    - tornado.web.RequestHandler.settings.get
    - tornado.web.RequestHandler.set_secure_cookie
    - jupyter_server.auth.login.LegacyLoginHandler.get_token
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 3
    IfCount: 4
    argCount: 2
    argDefaultValues: []
    argNames:
    - cls
    - handler
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 232
    functionName: jupyter_server.auth.login.LegacyLoginHandler.get_user_token
    functionSourceFile: jupyter_server.auth.login
    functionUses: 1
    functionsReached:
    - handler.log.info
    - uuid.uuid4
    - handler.settings.get
    - handler.request.headers.get
    - handler.get_secure_cookie
    - handler.log.debug
    - handler.get_argument
    - user_id.decode
    - m.group
    - cls.auth_header_pat.match
    - jupyter_server.auth.login.LegacyLoginHandler.get_user_cookie
    - jupyter_server.auth.login.LegacyLoginHandler.get_token
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - cls
    - handler
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 223
    functionName: jupyter_server.auth.login.LegacyLoginHandler.get_user_cookie
    functionSourceFile: jupyter_server.auth.login
    functionUses: 2
    functionsReached:
    - user_id.decode
    - handler.get_secure_cookie
    - handler.settings.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: handler.log.warning
    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: handler.clear_login_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: user_id.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: handler.log.info
    functionSourceFile: <builtin>
    functionUses: 2
    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 0x7fc4ad9213d0>
    argNames:
    - cls
    - app
    - ssl_options
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 264
    functionName: jupyter_server.auth.login.LegacyLoginHandler.validate_security
    functionSourceFile: jupyter_server.auth.login
    functionUses: 0
    functionsReached:
    - app.log.warning
    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: jupyter_server.base.handlers
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 0
    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: 65
    functionName: jupyter_server.base.handlers.json_sys_info
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 1
    functionsReached:
    - repo_commit.strip
    - os.path.join
    - json.dumps
    - subprocess.Popen
    - jupyter_server._sysinfo.pkg_commit_hash
    - os.path.realpath
    - platform.platform
    - os.path.abspath
    - proc.communicate
    - jupyter_server._sysinfo.pkg_info
    - os.path.dirname
    - os.path.exists
    - jupyter_server._sysinfo.get_sys_info
    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: 73
    functionName: jupyter_server.base.handlers.log
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 1
    functionsReached:
    - traitlets.config.Application.initialized
    - typing.cast
    - traitlets.config.Application.instance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: traitlets.config.Application.initialized
    functionSourceFile: traitlets
    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: traitlets.config.Application.instance
    functionSourceFile: traitlets
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 85
    functionName: jupyter_server.base.handlers.AuthenticatedHandler.base_url
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 0
    functionsReached:
    - tornado.web.RequestHandler.settings.get
    - typing.cast
    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: 89
    functionName: jupyter_server.base.handlers.AuthenticatedHandler.content_security_policy
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 0
    functionsReached:
    - tornado.web.RequestHandler.settings.get
    - typing.cast
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 4
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 107
    functionName: jupyter_server.base.handlers.AuthenticatedHandler.set_default_headers
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 0
    functionsReached:
    - headers.update
    - tornado.web.RequestHandler.log.exception
    - tornado.web.RequestHandler.set_header
    - headers.items
    - tornado.web.RequestHandler.settings.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: headers.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: headers.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: tornado.web.RequestHandler.set_header
    functionSourceFile: tornado
    functionUses: 53
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: tornado.web.RequestHandler.log.exception
    functionSourceFile: tornado
    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: 128
    functionName: jupyter_server.base.handlers.AuthenticatedHandler.cookie_name
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 0
    functionsReached:
    - warnings.warn
    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 0x7fc4ab04b910>
    - <ast.Constant object at 0x7fc4ab04bee0>
    argNames:
    - self
    - name
    - path
    - domain
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 138
    functionName: jupyter_server.base.handlers.AuthenticatedHandler.force_clear_cookie
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 0
    functionsReached:
    - warnings.warn
    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: 149
    functionName: jupyter_server.base.handlers.AuthenticatedHandler.clear_login_cookie
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 0
    functionsReached:
    - warnings.warn
    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: 160
    functionName: jupyter_server.base.handlers.AuthenticatedHandler.get_current_user
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 1
    functionsReached:
    - <builtin>.hasattr
    - warnings.warn
    - typing.cast
    linkageType: pythonLinkage
    raised:
    - RuntimeError
    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: 178
    functionName: jupyter_server.base.handlers.AuthenticatedHandler.skip_check_origin
    functionSourceFile: jupyter_server.base.handlers
    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: 190
    functionName: jupyter_server.base.handlers.AuthenticatedHandler.token_authenticated
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 195
    functionName: jupyter_server.base.handlers.AuthenticatedHandler.logged_in
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 0
    functionsReached:
    - <builtin>.bool
    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: 201
    functionName: jupyter_server.base.handlers.AuthenticatedHandler.login_handler
    functionSourceFile: jupyter_server.base.handlers
    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: 213
    functionName: jupyter_server.base.handlers.AuthenticatedHandler.token
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 218
    functionName: jupyter_server.base.handlers.AuthenticatedHandler.login_available
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 0
    functionsReached:
    - typing.cast
    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: 228
    functionName: jupyter_server.base.handlers.AuthenticatedHandler.authorizer
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 0
    functionsReached:
    - traitlets.config.LoggingConfigurable.__init__
    - tornado.web.RequestHandler.settings.get
    - warnings.warn
    - typing.cast
    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: 251
    functionName: jupyter_server.base.handlers.AuthenticatedHandler.identity_provider
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 0
    functionsReached:
    - traitlets.config.LoggingConfigurable.__init__
    - tornado.web.RequestHandler.settings.get
    - warnings.warn
    - typing.cast
    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: 279
    functionName: jupyter_server.base.handlers.JupyterHandler.config
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 0
    functionsReached:
    - tornado.web.RequestHandler.settings.get
    - 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: 283
    functionName: jupyter_server.base.handlers.JupyterHandler.log
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 0
    functionsReached:
    - jupyter_server.base.handlers.JupyterHandler.log
    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: 288
    functionName: jupyter_server.base.handlers.JupyterHandler.jinja_template_vars
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 0
    functionsReached:
    - tornado.web.RequestHandler.settings.get
    - typing.cast
    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: 293
    functionName: jupyter_server.base.handlers.JupyterHandler.serverapp
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 0
    functionsReached:
    - 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: 301
    functionName: jupyter_server.base.handlers.JupyterHandler.version_hash
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 0
    functionsReached:
    - tornado.web.RequestHandler.settings.get
    - typing.cast
    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: 306
    functionName: jupyter_server.base.handlers.JupyterHandler.mathjax_url
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 0
    functionsReached:
    - typing.cast
    - urllib.parse.urlparse.path.startswith
    - jupyter_server.utils.url_path_join
    - tornado.web.RequestHandler.settings.get
    - s.strip
    - jupyter_server.utils.url_is_absolute
    - urllib.parse.urlparse
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - url
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 60
    functionName: jupyter_server.utils.url_is_absolute
    functionSourceFile: jupyter_server.utils
    functionUses: 1
    functionsReached:
    - urllib.parse.urlparse
    - urllib.parse.urlparse.path.startswith
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 313
    functionName: jupyter_server.base.handlers.JupyterHandler.mathjax_config
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 0
    functionsReached:
    - tornado.web.RequestHandler.settings.get
    - typing.cast
    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: 317
    functionName: jupyter_server.base.handlers.JupyterHandler.default_url
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 0
    functionsReached:
    - tornado.web.RequestHandler.settings.get
    - typing.cast
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 321
    functionName: jupyter_server.base.handlers.JupyterHandler.ws_url
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 0
    functionsReached:
    - tornado.web.RequestHandler.settings.get
    - 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: 325
    functionName: jupyter_server.base.handlers.JupyterHandler.contents_js_source
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 0
    functionsReached:
    - tornado.web.RequestHandler.settings.get
    - typing.cast
    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: 337
    functionName: jupyter_server.base.handlers.JupyterHandler.kernel_manager
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 0
    functionsReached:
    - typing.cast
    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: 341
    functionName: jupyter_server.base.handlers.JupyterHandler.contents_manager
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 0
    functionsReached:
    - typing.cast
    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: 345
    functionName: jupyter_server.base.handlers.JupyterHandler.session_manager
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 0
    functionsReached:
    - typing.cast
    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: 349
    functionName: jupyter_server.base.handlers.JupyterHandler.terminal_manager
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 0
    functionsReached:
    - typing.cast
    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: 353
    functionName: jupyter_server.base.handlers.JupyterHandler.kernel_spec_manager
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 0
    functionsReached:
    - typing.cast
    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: jupyter_server.base.handlers.JupyterHandler.config_manager
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 0
    functionsReached:
    - typing.cast
    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: 361
    functionName: jupyter_server.base.handlers.JupyterHandler.event_logger
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 0
    functionsReached:
    - 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: 369
    functionName: jupyter_server.base.handlers.JupyterHandler.allow_origin
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 0
    functionsReached:
    - tornado.web.RequestHandler.settings.get
    - 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: 374
    functionName: jupyter_server.base.handlers.JupyterHandler.allow_origin_pat
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 0
    functionsReached:
    - tornado.web.RequestHandler.settings.get
    - 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: 379
    functionName: jupyter_server.base.handlers.JupyterHandler.allow_credentials
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 0
    functionsReached:
    - tornado.web.RequestHandler.settings.get
    - typing.cast
    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: 383
    functionName: jupyter_server.base.handlers.JupyterHandler.set_default_headers
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 0
    functionsReached:
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 5
    IfCount: 5
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 387
    functionName: jupyter_server.base.handlers.JupyterHandler.set_cors_headers
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 1
    functionsReached:
    - re.match
    - tornado.web.RequestHandler.request.headers.get
    - tornado.web.RequestHandler.set_header
    - jupyter_server.base.handlers.JupyterHandler.get_origin
    - tornado.web.RequestHandler.settings.get
    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: 420
    functionName: jupyter_server.base.handlers.JupyterHandler.get_origin
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 2
    functionsReached:
    - tornado.web.RequestHandler.request.headers.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: tornado.web.RequestHandler.request.headers.get
    functionSourceFile: tornado
    functionUses: 16
    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: 2
    functionLinenumber: 409
    functionName: jupyter_server.base.handlers.JupyterHandler.set_attachment_header
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 7
    functionsReached:
    - jupyter_server.utils.url_escape
    - path.split
    - urllib.parse.quote
    - tornado.web.RequestHandler.set_header
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 9
    ICount: 2
    IfCount: 6
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7fc4ad6b4c70>
    argNames:
    - self
    - origin_to_satisfy_tornado
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 433
    functionName: jupyter_server.base.handlers.JupyterHandler.check_origin
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 2
    functionsReached:
    - re.match
    - origin.lower
    - tornado.web.RequestHandler.request.headers.get
    - jupyter_server.base.handlers.AuthenticatedHandler.skip_check_origin
    - <builtin>.bool
    - urllib.parse.urlparse
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 11
    ICount: 4
    IfCount: 7
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 480
    functionName: jupyter_server.base.handlers.JupyterHandler.check_referer
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 8
    functionsReached:
    - re.match
    - tornado.web.RequestHandler.request.headers.get
    - urllib.parse.urlparse
    - jupyter_server.base.handlers.AuthenticatedHandler.skip_check_origin
    - <builtin>.bool
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 1
    IfCount: 5
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 526
    functionName: jupyter_server.base.handlers.JupyterHandler.check_xsrf_cookie
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 7
    functionsReached:
    - re.match
    - <builtin>.super
    - tornado.web.RequestHandler.request.headers.get
    - jupyter_server.base.handlers.JupyterHandler.check_referer
    - jupyter_server.base.handlers.AuthenticatedHandler.skip_check_origin
    - <builtin>.hasattr
    - <builtin>.bool
    - tornado.web.RequestHandler.settings.get
    - urllib.parse.urlparse
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 2
    IfCount: 4
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 550
    functionName: jupyter_server.base.handlers.JupyterHandler.check_host
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 1
    functionsReached:
    - check_host.startswith
    - host.endswith
    - re.match
    - socket_path.replace
    - match.group
    - host.startswith
    - ipaddress.ip_address
    - os.path.exists
    - jupyter_server.utils.urldecode_unix_socket_path
    - tornado.web.RequestHandler.settings.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: host.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: host.endswith
    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:
    - socket_path
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 212
    functionName: jupyter_server.utils.urldecode_unix_socket_path
    functionSourceFile: jupyter_server.utils
    functionUses: 3
    functionsReached:
    - socket_path.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: check_host.startswith
    functionSourceFile: <builtin>
    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: 3
    functionLinenumber: 592
    functionName: jupyter_server.base.handlers.JupyterHandler.prepare
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 0
    functionsReached:
    - re.match
    - match.group
    - urllib.parse.urlparse
    - tornado.web.RequestHandler.set_header
    - CallContext._name_value_map.set
    - <builtin>.type
    - <builtin>.hasattr
    - <builtin>.bool
    - check_host.startswith
    - contextvars.copy_context
    - inspect.getmodule
    - <builtin>.super
    - jupyter_server.base.handlers.AuthenticatedHandler.skip_check_origin
    - warnings.warn
    - socket_path.replace
    - jupyter_server.base.handlers.JupyterHandler.check_host
    - typing.cast
    - host.startswith
    - jupyter_server.base.handlers.JupyterHandler.check_referer
    - jupyter_server.base.handlers.JupyterHandler.check_xsrf_cookie
    - jupyter_server.base.call_context.CallContext._get_map
    - <builtin>.isinstance
    - jupyter_server.base.handlers.JupyterHandler.set_cors_headers
    - jupyter_server.utils.urldecode_unix_socket_path
    - CallContext._name_value_map.get
    - host.endswith
    - jupyter_server.base.call_context.CallContext.set
    - tornado.web.RequestHandler.request.headers.get
    - ipaddress.ip_address
    - os.path.exists
    - jupyter_server.base.handlers.JupyterHandler.get_origin
    - tornado.web.RequestHandler.settings.get
    - jupyter_server.base.handlers.AuthenticatedHandler.get_current_user
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.getmodule
    functionSourceFile: inspect
    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
    - name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 639
    functionName: jupyter_server.base.handlers.JupyterHandler.get_template
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 10
    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: 5
    functionLinenumber: 650
    functionName: jupyter_server.base.handlers.JupyterHandler.template_namespace
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 0
    functionsReached:
    - json.load
    - accept_lang.split
    - <builtin>.sorted
    - jupyter_server.i18n.combine_translations
    - m.group
    - jupyter_server._sysinfo.get_sys_info
    - <builtin>.bool
    - <builtin>.float
    - collections.defaultdict
    - subprocess.Popen
    - os.path.realpath
    - _accept_lang_re.match
    - jupyter_server.i18n.parse_accept_lang_header
    - part.strip
    - jupyter_server._sysinfo.pkg_info
    - jupyter_server.i18n.load
    - <builtin>.getattr
    - res.extend
    - combined.clear
    - <builtin>.open
    - combined.update
    - repo_commit.strip
    - os.path.join
    - json.dumps
    - jupyter_server._sysinfo.pkg_commit_hash
    - os.path.abspath
    - proc.communicate
    - collections.defaultdict.items
    - <builtin>.dict
    - tornado.web.RequestHandler.request.headers.get
    - platform.platform
    - lang.replace
    - os.path.exists
    - os.path.dirname
    - jupyter_server.base.handlers.json_sys_info
    - jupyter_server.i18n.cached_load
    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 0x7fc4ab5aba30>
    argNames:
    - accept_language
    - domain
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 84
    functionName: jupyter_server.i18n.combine_translations
    functionSourceFile: jupyter_server.i18n
    functionUses: 1
    functionsReached:
    - combined.update
    - json.load
    - os.path.join
    - collections.defaultdict
    - <builtin>.open
    - accept_lang.split
    - <builtin>.sorted
    - _accept_lang_re.match
    - lang.replace
    - jupyter_server.i18n.parse_accept_lang_header
    - part.strip
    - m.group
    - res.extend
    - jupyter_server.i18n.load
    - combined.clear
    - collections.defaultdict.items
    - jupyter_server.i18n.cached_load
    - <builtin>.float
    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: 673
    functionName: jupyter_server.base.handlers.JupyterHandler.get_json_body
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 11
    functionsReached:
    - tornado.web.RequestHandler.request.body.strip
    - json.loads
    - 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: tornado.web.RequestHandler.request.body.strip
    functionSourceFile: tornado
    functionUses: 12
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    IfCount: 2
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - status_code
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 687
    functionName: jupyter_server.base.handlers.JupyterHandler.write_error
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 0
    functionsReached:
    - kwargs.get
    - jupyter_server.base.handlers.JupyterHandler.render_template
    - http.client.responses.get
    - template.render
    - tornado.web.RequestHandler.set_header
    - tornado.web.RequestHandler.write
    - ns.update
    - jupyter_server.base.handlers.JupyterHandler.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: kwargs.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: http.client.responses.get
    functionSourceFile: http
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 729
    functionName: jupyter_server.base.handlers.APIHandler.prepare
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 0
    functionsReached:
    - jupyter_server.base.handlers.JupyterHandler.check_origin
    - re.match
    - origin.lower
    - <builtin>.super
    - tornado.web.RequestHandler.request.headers.get
    - urllib.parse.urlparse
    - jupyter_server.base.handlers.AuthenticatedHandler.skip_check_origin
    - <builtin>.bool
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    IfCount: 2
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - status_code
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 735
    functionName: jupyter_server.base.handlers.APIHandler.write_error
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 0
    functionsReached:
    - kwargs.get
    - json.dumps
    - <builtin>.super
    - jupyter_server.base.handlers.APIHandler.update_api_activity
    - http.client.responses.get
    - tornado.web.RequestHandler.set_header
    - tornado.web.RequestHandler.get_argument
    - <builtin>.isinstance
    - datetime.datetime.now
    - kwargs.pop
    - jupyter_server.base.handlers.APIHandler.finish
    - <builtin>.getattr
    - jupyter_server._tz.utcnow
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 3
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 789
    functionName: jupyter_server.base.handlers.APIHandler.finish
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 36
    functionsReached:
    - <builtin>.super
    - jupyter_server.base.handlers.APIHandler.update_api_activity
    - tornado.web.RequestHandler.set_header
    - tornado.web.RequestHandler.get_argument
    - datetime.datetime.now
    - kwargs.pop
    - <builtin>.getattr
    - jupyter_server._tz.utcnow
    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: 757
    functionName: jupyter_server.base.handlers.APIHandler.get_login_url
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 0
    functionsReached:
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 767
    functionName: jupyter_server.base.handlers.APIHandler.content_security_policy
    functionSourceFile: jupyter_server.base.handlers
    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: 779
    functionName: jupyter_server.base.handlers.APIHandler.update_api_activity
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 37
    functionsReached:
    - <builtin>.getattr
    - tornado.web.RequestHandler.get_argument
    - jupyter_server._tz.utcnow
    - datetime.datetime.now
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    IfCount: 2
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 797
    functionName: jupyter_server.base.handlers.APIHandler.options
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 0
    functionsReached:
    - <builtin>.any
    - h.strip
    - tornado.web.RequestHandler.request.headers.get
    - tornado.web.RequestHandler.set_header
    - tornado.web.RequestHandler.settings.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: h.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: <builtin>.any
    functionSourceFile: <builtin>
    functionUses: 48
    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: 840
    functionName: jupyter_server.base.handlers.Template404.prepare
    functionSourceFile: jupyter_server.base.handlers
    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: 852
    functionName: jupyter_server.base.handlers.AuthenticatedFileHandler.content_security_policy
    functionSourceFile: jupyter_server.base.handlers
    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: 3
    functionLinenumber: -1
    functionName: jupyter_server.base.handlers.AuthenticatedFileHandler
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 0
    functionsReached:
    - typing.cast
    - functools.wraps
    - <builtin>.callable
    - jupyter_server.auth.decorator.authorized.wrapper
    - tornado.web.authenticated
    - jupyter_server.auth.decorator.authorized
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: tornado.web.authenticated
    functionSourceFile: ''
    functionUses: 26
    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 0x7fc4ac868460>
    - <ast.Constant object at 0x7fc4ac868dc0>
    - <ast.Constant object at 0x7fc4ac8683d0>
    argNames:
    - action
    - resource
    - message
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 18
    functionName: jupyter_server.auth.decorator.authorized
    functionSourceFile: jupyter_server.auth.decorator
    functionUses: 24
    functionsReached:
    - functools.wraps
    - <builtin>.callable
    - typing.cast
    - jupyter_server.auth.decorator.authorized.wrapper
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - path
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 859
    functionName: jupyter_server.base.handlers.AuthenticatedFileHandler.head
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 1
    functionsReached:
    - re.match
    - <builtin>.super
    - tornado.web.RequestHandler.request.headers.get
    - jupyter_server.base.handlers.JupyterHandler.check_referer
    - jupyter_server.base.handlers.JupyterHandler.check_xsrf_cookie
    - jupyter_server.base.handlers.AuthenticatedHandler.skip_check_origin
    - <builtin>.hasattr
    - <builtin>.bool
    - tornado.web.RequestHandler.settings.get
    - urllib.parse.urlparse
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - path
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 866
    functionName: jupyter_server.base.handlers.AuthenticatedFileHandler.get
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 1
    functionsReached:
    - re.match
    - os.path.splitext
    - tornado.web.RequestHandler.set_header
    - tornado.web.RequestHandler.get_argument
    - <builtin>.hasattr
    - <builtin>.bool
    - <builtin>.super
    - jupyter_server.base.handlers.JupyterHandler.set_attachment_header
    - jupyter_server.base.handlers.AuthenticatedHandler.skip_check_origin
    - tornado.web.StaticFileHandler.get
    - jupyter_server.base.handlers.JupyterHandler.check_referer
    - jupyter_server.base.handlers.JupyterHandler.check_xsrf_cookie
    - path.split
    - urllib.parse.quote
    - tornado.web.RequestHandler.request.headers.get
    - jupyter_server.utils.url_escape
    - path.rsplit
    - tornado.web.RequestHandler.settings.get
    - urllib.parse.urlparse
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.rsplit
    functionSourceFile: <builtin>
    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: tornado.web.StaticFileHandler.get
    functionSourceFile: tornado
    functionUses: 5
    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: 1
    functionLinenumber: 877
    functionName: jupyter_server.base.handlers.AuthenticatedFileHandler.get_content_type
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 0
    functionsReached:
    - <builtin>.super
    - path.rsplit
    - name.endswith
    - mimetypes.guess_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: 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: mimetypes.guess_type
    functionSourceFile: mimetypes
    functionUses: 31
    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: 1
    functionLinenumber: 894
    functionName: jupyter_server.base.handlers.AuthenticatedFileHandler.set_headers
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 0
    functionsReached:
    - tornado.web.RequestHandler.add_header
    - <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: tornado.web.RequestHandler.add_header
    functionSourceFile: tornado
    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: 901
    functionName: jupyter_server.base.handlers.AuthenticatedFileHandler.compute_etag
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - root
    - absolute_path
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 905
    functionName: jupyter_server.base.handlers.AuthenticatedFileHandler.validate_absolute_path
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 0
    functionsReached:
    - jupyter_core.paths.is_hidden
    - <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: jupyter_core.paths.is_hidden
    functionSourceFile: jupyter_core
    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:
    - method
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 923
    functionName: jupyter_server.base.handlers.json_errors
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 0
    functionsReached:
    - functools.wraps
    - 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
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 942
    functionName: jupyter_server.base.handlers.json_errors.wrapper
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 0
    functionsReached:
    - types.MethodType
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 970
    functionName: jupyter_server.base.handlers.FileFindHandler.set_headers
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 0
    functionsReached:
    - <builtin>.any
    - <builtin>.super
    - tornado.web.RequestHandler.set_header
    - tornado.web.RequestHandler.settings.get
    - jupyter_server.base.handlers.FileFindHandler.request.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: jupyter_server.base.handlers.FileFindHandler.request.path.startswith
    functionSourceFile: jupyter_server
    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 0x7fc4aa2f8be0>
    - <ast.Constant object at 0x7fc4aa2f8bb0>
    argNames:
    - self
    - path
    - default_filename
    - no_cache_paths
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 986
    functionName: jupyter_server.base.handlers.FileFindHandler.initialize
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 0
    functionsReached:
    - os.path.abspath
    - os.path.expanduser
    - <builtin>.isinstance
    - <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: 0
    functionLinenumber: 1001
    functionName: jupyter_server.base.handlers.FileFindHandler.compute_etag
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - cls
    - roots
    - path
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 1006
    functionName: jupyter_server.base.handlers.FileFindHandler.get_absolute_path
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 0
    functionsReached:
    - os.path.isfile
    - traitlets.config.Application.initialized
    - os.path.join
    - typing.cast.debug
    - os.getcwd
    - tornado.log.app_log.debug
    - s.replace
    - os.path.expanduser
    - jupyter_server.utils.filefind
    - typing.cast
    - os.path.abspath
    - jupyter_server.utils.expand_path
    - os.path.expandvars
    - <builtin>.isinstance
    - os.path.isabs
    - jupyter_server.base.handlers.log
    - filename.strip
    - traitlets.config.Application.instance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 1
    IfCount: 5
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7fc4aae28220>
    argNames:
    - filename
    - path_dirs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 340
    functionName: jupyter_server.utils.filefind
    functionSourceFile: jupyter_server.utils
    functionUses: 1
    functionsReached:
    - os.path.isfile
    - os.path.join
    - os.getcwd
    - s.replace
    - os.path.expanduser
    - os.path.abspath
    - os.path.expandvars
    - jupyter_server.utils.expand_path
    - <builtin>.isinstance
    - os.path.isabs
    - filename.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: tornado.log.app_log.debug
    functionSourceFile: tornado
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.debug
    functionSourceFile: typing
    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
    - root
    - absolute_path
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1022
    functionName: jupyter_server.base.handlers.FileFindHandler.validate_absolute_path
    functionSourceFile: jupyter_server.base.handlers
    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: 4
    functionLinenumber: 1039
    functionName: jupyter_server.base.handlers.APIVersionHandler.get
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 0
    functionsReached:
    - json.dumps
    - <builtin>.super
    - jupyter_server.base.handlers.APIHandler.update_api_activity
    - tornado.web.RequestHandler.set_header
    - tornado.web.RequestHandler.get_argument
    - datetime.datetime.now
    - kwargs.pop
    - jupyter_server.base.handlers.APIHandler.finish
    - <builtin>.getattr
    - jupyter_server._tz.utcnow
    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: 1051
    functionName: jupyter_server.base.handlers.TrailingSlashHandler.get
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 0
    functionsReached:
    - path.strip
    - tornado.web.RequestHandler.request.uri.partition
    - tornado.web.RequestHandler.redirect
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: tornado.web.RequestHandler.request.uri.partition
    functionSourceFile: tornado
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.strip
    functionSourceFile: <builtin>
    functionUses: 77
    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: 1067
    functionName: jupyter_server.base.handlers.MainHandler.get
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 0
    functionsReached:
    - jupyter_server.base.handlers.JupyterHandler.render_template
    - template.render
    - ns.update
    - tornado.web.RequestHandler.write
    - jupyter_server.base.handlers.JupyterHandler.get_template
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 5
    IfCount: 3
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - path
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 1079
    functionName: jupyter_server.base.handlers.FilesRedirectHandler.redirect_to_files
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 3
    functionsReached:
    - tornado.web.RequestHandler.redirect
    - urllib.parse.quote
    - jupyter_core.utils.ensure_async
    - jupyter_server.utils.url_escape
    - path.split
    - parts.remove
    - s.strip
    - jupyter_server.utils.url_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: path.split
    functionSourceFile: <builtin>
    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: parts.remove
    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:
    - <ast.Constant object at 0x7fc4aa2d0400>
    argNames:
    - self
    - path
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 1107
    functionName: jupyter_server.base.handlers.FilesRedirectHandler.get
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 0
    functionsReached:
    - tornado.web.RequestHandler.redirect
    - urllib.parse.quote
    - jupyter_server.base.handlers.FilesRedirectHandler.redirect_to_files
    - jupyter_core.utils.ensure_async
    - jupyter_server.utils.url_escape
    - path.split
    - parts.remove
    - s.strip
    - jupyter_server.utils.url_path_join
    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 0x7fc4aa2d0880>
    argNames:
    - self
    - url
    - permanent
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1114
    functionName: jupyter_server.base.handlers.RedirectWithParams.initialize
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 0
    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: 1119
    functionName: jupyter_server.base.handlers.RedirectWithParams.get
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 0
    functionsReached:
    - tornado.web.RequestHandler.redirect
    - sep.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: sep.join
    functionSourceFile: <builtin>
    functionUses: 1
    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: 1
    functionLinenumber: 1131
    functionName: jupyter_server.base.handlers.PrometheusMetricsHandler.get
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 0
    functionsReached:
    - tornado.web.RequestHandler.set_header
    - tornado.web.RequestHandler.write
    - prometheus_client.generate_latest
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: prometheus_client.generate_latest
    functionSourceFile: prometheus_client
    functionUses: 1
    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: -1
    functionName: jupyter_server.utils
    functionSourceFile: jupyter_server.utils
    functionUses: 0
    functionsReached:
    - contextlib.contextmanager
    - typing.NewType
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: typing.NewType
    functionSourceFile: typing
    functionUses: 91
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: s.strip
    functionSourceFile: <builtin>
    functionUses: 53
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - path
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 65
    functionName: jupyter_server.utils.path2url
    functionSourceFile: jupyter_server.utils
    functionUses: 0
    functionsReached:
    - urllib.parse.quote
    - s.strip
    - path.split
    - jupyter_server.utils.url_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: urllib.parse.quote
    functionSourceFile: urllib
    functionUses: 29
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - url
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 75
    functionName: jupyter_server.utils.url2path
    functionSourceFile: jupyter_server.utils
    functionUses: 0
    functionsReached:
    - url.split
    - urllib.parse.unquote
    - 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: urllib.parse.unquote
    functionSourceFile: urllib
    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: url.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:
    - path
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 91
    functionName: jupyter_server.utils.url_unescape
    functionSourceFile: jupyter_server.utils
    functionUses: 2
    functionsReached:
    - path.split
    - urllib.parse.unquote
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - path
    - other_path
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 99
    functionName: jupyter_server.utils.samefile_simple
    functionSourceFile: jupyter_server.utils
    functionUses: 6
    functionsReached:
    - other_path.lower
    - os.stat
    - path.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: path.lower
    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: other_path.lower
    functionSourceFile: <builtin>
    functionUses: 7
    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 0x7fc4ac00b640>
    argNames:
    - path
    - root
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 126
    functionName: jupyter_server.utils.to_os_path
    functionSourceFile: jupyter_server.utils
    functionUses: 77
    functionsReached:
    - os.path.normpath
    - os.path.join
    - <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: os.path.normpath
    functionSourceFile: os
    functionUses: 78
    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 0x7fc4ad9601f0>
    argNames:
    - os_path
    - root
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 138
    functionName: jupyter_server.utils.to_api_path
    functionSourceFile: jupyter_server.utils
    functionUses: 69
    functionsReached:
    - <builtin>.len
    - os_path.strip
    - typing.NewType
    - os_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: os_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: os_path.strip
    functionSourceFile: <builtin>
    functionUses: 70
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - v
    - check
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 152
    functionName: jupyter_server.utils.check_version
    functionSourceFile: jupyter_server.utils
    functionUses: 0
    functionsReached:
    - packaging.version.Version
    - <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: packaging.version.Version
    functionSourceFile: packaging
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: ctypes.windll.kernel32.OpenProcess
    functionSourceFile: ctypes
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - maybe_async
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 197
    functionName: jupyter_server.utils.run_sync_in_loop
    functionSourceFile: jupyter_server.utils
    functionUses: 0
    functionsReached:
    - jupyter_core.utils.ensure_async
    - 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: traitlets.Unicode.replace
    functionSourceFile: traitlets
    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: socket_path.replace
    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:
    - socket_path
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 217
    functionName: jupyter_server.utils.urlencode_unix_socket
    functionSourceFile: jupyter_server.utils
    functionUses: 0
    functionsReached:
    - jupyter_server.utils.urlencode_unix_socket_path
    - traitlets.Unicode.replace
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    IfCount: 2
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7fc4ab6eec70>
    - <ast.Constant object at 0x7fc4ab6eed90>
    - <ast.Constant object at 0x7fc4ab6ee5b0>
    argNames:
    - urlstring
    - method
    - body
    - headers
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 239
    functionName: jupyter_server.utils._request_for_tornado_client
    functionSourceFile: jupyter_server.utils
    functionUses: 3
    functionsReached:
    - tornado.httpclient.AsyncHTTPClient.configure
    - urllib.parse.urlsplit
    - tornado.netutil.Resolver.__init__
    - tornado.httpclient.HTTPRequest
    - urllib.parse.urlunsplit
    - tornado.netutil.Resolver
    - urllib.parse.SplitResult
    linkageType: pythonLinkage
    raised:
    - Exception
    returnType: N/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.urlsplit
    functionSourceFile: urllib
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: urllib.parse.SplitResult
    functionSourceFile: urllib
    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
    - resolver
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 271
    functionName: jupyter_server.utils._request_for_tornado_client.UnixSocketResolver.initialize
    functionSourceFile: jupyter_server.utils
    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: 274
    functionName: jupyter_server.utils._request_for_tornado_client.UnixSocketResolver.close
    functionSourceFile: jupyter_server.utils
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 5
    argDefaultValues: []
    argNames:
    - self
    - host
    - port
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 277
    functionName: jupyter_server.utils._request_for_tornado_client.UnixSocketResolver.resolve
    functionSourceFile: jupyter_server.utils
    functionUses: 0
    functionsReached:
    - jupyter_server.utils.urldecode_unix_socket_path
    - socket_path.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: tornado.netutil.Resolver
    functionSourceFile: tornado
    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: tornado.netutil.Resolver.__init__
    functionSourceFile: ''
    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: tornado.httpclient.AsyncHTTPClient.configure
    functionSourceFile: tornado
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: urllib.parse.urlunsplit
    functionSourceFile: urllib
    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: tornado.httpclient.HTTPRequest
    functionSourceFile: tornado
    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: tornado.httpclient.HTTPClient
    functionSourceFile: tornado
    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: tornado.httpclient.HTTPClient.fetch
    functionSourceFile: tornado
    functionUses: 2
    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 0x7fc4aae291c0>
    - <ast.Constant object at 0x7fc4aae29190>
    - <ast.Constant object at 0x7fc4aae29160>
    - <ast.Constant object at 0x7fc4aae29130>
    argNames:
    - urlstring
    - method
    - body
    - headers
    - io_loop
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 306
    functionName: jupyter_server.utils.async_fetch
    functionSourceFile: jupyter_server.utils
    functionUses: 0
    functionsReached:
    - tornado.httpclient.AsyncHTTPClient.configure
    - urllib.parse.urlsplit
    - tornado.httpclient.AsyncHTTPClient.fetch
    - tornado.netutil.Resolver.__init__
    - urllib.parse.SplitResult
    - jupyter_server.utils._request_for_tornado_client
    - tornado.httpclient.HTTPRequest
    - urllib.parse.urlunsplit
    - tornado.netutil.Resolver
    - tornado.httpclient.AsyncHTTPClient
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: tornado.httpclient.AsyncHTTPClient
    functionSourceFile: tornado
    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: tornado.httpclient.AsyncHTTPClient.fetch
    functionSourceFile: tornado
    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:
    - namespace
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 320
    functionName: jupyter_server.utils.is_namespace_package
    functionSourceFile: jupyter_server.utils
    functionUses: 3
    functionsReached:
    - importlib.util.find_spec
    - <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: importlib.util.find_spec
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: filename.strip
    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:
    - s
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 394
    functionName: jupyter_server.utils.expand_path
    functionSourceFile: jupyter_server.utils
    functionUses: 2
    functionsReached:
    - os.path.expanduser
    - s.replace
    - os.path.expandvars
    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: 415
    functionName: jupyter_server.utils.import_item
    functionSourceFile: jupyter_server.utils
    functionUses: 5
    functionsReached:
    - <builtin>.__import__
    - <builtin>.len
    - <builtin>.getattr
    - traitlets.Any.rsplit
    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: traitlets.Any.rsplit
    functionSourceFile: traitlets
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: jupyter_server._sysinfo
    functionSourceFile: jupyter_server._sysinfo
    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:
    - pkg_path
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 14
    functionName: jupyter_server._sysinfo.pkg_commit_hash
    functionSourceFile: jupyter_server._sysinfo
    functionUses: 8
    functionsReached:
    - repo_commit.strip
    - os.path.join
    - subprocess.Popen
    - os.path.exists
    - proc.communicate
    - 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: proc.communicate
    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: repo_commit.strip
    functionSourceFile: <builtin>
    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:
    - pkg_path
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 62
    functionName: jupyter_server._sysinfo.pkg_info
    functionSourceFile: jupyter_server._sysinfo
    functionUses: 7
    functionsReached:
    - repo_commit.strip
    - os.path.join
    - subprocess.Popen
    - jupyter_server._sysinfo.pkg_commit_hash
    - platform.platform
    - proc.communicate
    - os.path.exists
    - 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: platform.platform
    functionSourceFile: <builtin>
    functionUses: 8
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: jupyter_server.services.sessions.sessionmanager
    functionSourceFile: jupyter_server.services.sessions.sessionmanager
    functionUses: 0
    functionsReached:
    - typing.NewType
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 1
    IfCount: 3
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - other
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 47
    functionName: jupyter_server.services.sessions.sessionmanager.KernelSessionRecord.__eq__
    functionSourceFile: jupyter_server.services.sessions.sessionmanager
    functionUses: 0
    functionsReached:
    - <builtin>.any
    - <builtin>.isinstance
    - <builtin>.all
    linkageType: pythonLinkage
    raised:
    - KernelSessionRecordConflict
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 2
    IfCount: 3
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - other
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 79
    functionName: jupyter_server.services.sessions.sessionmanager.KernelSessionRecord.update
    functionSourceFile: jupyter_server.services.sessions.sessionmanager
    functionUses: 0
    functionsReached:
    - dataclasses.fields
    - <builtin>.setattr
    - <builtin>.isinstance
    - <builtin>.getattr
    - <builtin>.hasattr
    linkageType: pythonLinkage
    raised:
    - TypeError
    - KernelSessionRecordConflict
    returnType: N/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.fields
    functionSourceFile: dataclasses
    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
    - records
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 105
    functionName: jupyter_server.services.sessions.sessionmanager.KernelSessionRecordList.__init__
    functionSourceFile: jupyter_server.services.sessions.sessionmanager
    functionUses: 1
    functionsReached:
    - jupyter_server.services.sessions.sessionmanager.KernelSessionRecordList.update
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 3
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - record
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 145
    functionName: jupyter_server.services.sessions.sessionmanager.KernelSessionRecordList.update
    functionSourceFile: ''
    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:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 111
    functionName: jupyter_server.services.sessions.sessionmanager.KernelSessionRecordList.__str__
    functionSourceFile: jupyter_server.services.sessions.sessionmanager
    functionUses: 0
    functionsReached:
    - <builtin>.str
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 1
    IfCount: 3
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - record
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 115
    functionName: jupyter_server.services.sessions.sessionmanager.KernelSessionRecordList.__contains__
    functionSourceFile: jupyter_server.services.sessions.sessionmanager
    functionUses: 0
    functionsReached:
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 126
    functionName: jupyter_server.services.sessions.sessionmanager.KernelSessionRecordList.__len__
    functionSourceFile: jupyter_server.services.sessions.sessionmanager
    functionUses: 0
    functionsReached:
    - <builtin>.len
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 1
    IfCount: 4
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - record
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 130
    functionName: jupyter_server.services.sessions.sessionmanager.KernelSessionRecordList.get
    functionSourceFile: jupyter_server.services.sessions.sessionmanager
    functionUses: 0
    functionsReached:
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised:
    - ValueError
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - record
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 153
    functionName: jupyter_server.services.sessions.sessionmanager.KernelSessionRecordList.remove
    functionSourceFile: jupyter_server.services.sessions.sessionmanager
    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: jupyter_server.services.sessions.sessionmanager.SessionManager
    functionSourceFile: jupyter_server.services.sessions.sessionmanager
    functionUses: 0
    functionsReached:
    - inspect.isclass
    - traitlets.Unicode.tag
    - <builtin>.super
    - traitlets.Instance
    - traitlets.Unicode
    - <builtin>.isinstance
    - traitlets.validate
    - jupyter_server.traittypes.InstanceFromClasses.__init__
    - <builtin>.all
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 1
    IfCount: 4
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - proposal
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 175
    functionName: jupyter_server.services.sessions.sessionmanager.SessionManager._validate_database_filepath
    functionSourceFile: jupyter_server.services.sessions.sessionmanager
    functionUses: 0
    functionsReached:
    - header.startswith
    - pathlib.Path
    - f.read
    - path.exists
    - path.is_dir
    - <builtin>.open
    linkageType: pythonLinkage
    raised:
    - TraitError
    returnType: N/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.exists
    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.is_dir
    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: header.startswith
    functionSourceFile: <builtin>
    functionUses: 1
    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 0x7fc4ab6eef40>
    - <ast.Constant object at 0x7fc4ab6eefd0>
    - <ast.Constant object at 0x7fc4ab5c52e0>
    argNames:
    - self
    - klasses
    - args
    - kw
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 134
    functionName: jupyter_server.traittypes.InstanceFromClasses.__init__
    functionSourceFile: jupyter_server.traittypes
    functionUses: 1
    functionsReached:
    - <builtin>.super
    - inspect.isclass
    - <builtin>.isinstance
    - <builtin>.all
    linkageType: pythonLinkage
    raised:
    - TraitError
    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: 203
    functionName: jupyter_server.services.sessions.sessionmanager.SessionManager.__init__
    functionSourceFile: jupyter_server.services.sessions.sessionmanager
    functionUses: 0
    functionsReached:
    - <builtin>.super
    - jupyter_server.services.sessions.sessionmanager.KernelSessionRecordList.__init__
    - jupyter_server.services.sessions.sessionmanager.KernelSessionRecordList.update
    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: 0
    functionLinenumber: 214
    functionName: jupyter_server.services.sessions.sessionmanager.SessionManager.cursor
    functionSourceFile: jupyter_server.services.sessions.sessionmanager
    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: 225
    functionName: jupyter_server.services.sessions.sessionmanager.SessionManager.connection
    functionSourceFile: jupyter_server.services.sessions.sessionmanager
    functionUses: 0
    functionsReached:
    - pysqlite2.dbapi2.connect
    - sqlite3.connect
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: pysqlite2.dbapi2.connect
    functionSourceFile: pysqlite2
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: sqlite3.connect
    functionSourceFile: sqlite3
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 233
    functionName: jupyter_server.services.sessions.sessionmanager.SessionManager.close
    functionSourceFile: jupyter_server.services.sessions.sessionmanager
    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: 239
    functionName: jupyter_server.services.sessions.sessionmanager.SessionManager.__del__
    functionSourceFile: jupyter_server.services.sessions.sessionmanager
    functionUses: 0
    functionsReached:
    - jupyter_server.services.sessions.sessionmanager.SessionManager.close
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - path
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 243
    functionName: jupyter_server.services.sessions.sessionmanager.SessionManager.session_exists
    functionSourceFile: jupyter_server.services.sessions.sessionmanager
    functionUses: 0
    functionsReached:
    - jupyter_server.services.sessions.sessionmanager.SessionManager.kernel_culled
    - traitlets.Instance.kernel_model
    - jupyter_core.utils.ensure_async
    - jupyter_server.services.sessions.sessionmanager.SessionManager.row_to_model
    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 0x7fc4ac138e50>
    argNames:
    - self
    - row
    - tolerate_culled
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 473
    functionName: jupyter_server.services.sessions.sessionmanager.SessionManager.row_to_model
    functionSourceFile: jupyter_server.services.sessions.sessionmanager
    functionUses: 7
    functionsReached:
    - jupyter_server.services.sessions.sessionmanager.SessionManager.kernel_culled
    - traitlets.Instance.kernel_model
    - jupyter_core.utils.ensure_async
    linkageType: pythonLinkage
    raised:
    - KeyError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 259
    functionName: jupyter_server.services.sessions.sessionmanager.SessionManager.new_session_id
    functionSourceFile: jupyter_server.services.sessions.sessionmanager
    functionUses: 1
    functionsReached:
    - uuid.uuid4
    - <builtin>.str
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 4
    IfCount: 1
    argCount: 6
    argDefaultValues:
    - <ast.Constant object at 0x7fc4aa74af40>
    - <ast.Constant object at 0x7fc4aa74acd0>
    - <ast.Constant object at 0x7fc4aa74a340>
    - <ast.Constant object at 0x7fc4aa74a160>
    - <ast.Constant object at 0x7fc4aa74a670>
    argNames:
    - self
    - path
    - name
    - type
    - kernel_name
    - kernel_id
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 263
    functionName: jupyter_server.services.sessions.sessionmanager.SessionManager.create_session
    functionSourceFile: jupyter_server.services.sessions.sessionmanager
    functionUses: 0
    functionsReached:
    - jupyter_server.services.sessions.sessionmanager.SessionManager.start_kernel_for_session
    - traitlets.Instance.kernel_model
    - traitlets.ClassBasedTraitType.get_kernel_path
    - jupyter_core.utils.ensure_async
    - traitlets.Instance.start_kernel
    - jupyter_server.services.sessions.sessionmanager.SessionManager.get_kernel_env
    - jupyter_server.services.sessions.sessionmanager.SessionManager.kernel_culled
    - jupyter_server.services.sessions.sessionmanager.KernelSessionRecordList.update
    - <builtin>.list
    - kwargs.values
    - jupyter_server.services.sessions.sessionmanager.SessionManager.save_session
    - <builtin>.str
    - conditions.append
    - typing.cast
    - os.path.join
    - jupyter_server.services.sessions.sessionmanager.KernelSessionRecordList.remove
    - kwargs.items
    - <builtin>.isinstance
    - q.append
    - jupyter_server.services.sessions.sessionmanager.SessionManager.get_session
    - uuid.uuid4
    - traitlets.Instance.cwd_for_path
    - jupyter_server.services.sessions.sessionmanager.SessionManager.new_session_id
    - jupyter_server.services.sessions.sessionmanager.SessionManager.row_to_model
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 6
    argDefaultValues: []
    argNames:
    - self
    - session_id
    - path
    - name
    - type
    - kernel_name
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 315
    functionName: jupyter_server.services.sessions.sessionmanager.SessionManager.start_kernel_for_session
    functionSourceFile: jupyter_server.services.sessions.sessionmanager
    functionUses: 1
    functionsReached:
    - os.path.join
    - typing.cast
    - traitlets.ClassBasedTraitType.get_kernel_path
    - traitlets.Instance.cwd_for_path
    - jupyter_core.utils.ensure_async
    - <builtin>.isinstance
    - traitlets.Instance.start_kernel
    - jupyter_server.services.sessions.sessionmanager.SessionManager.get_kernel_env
    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 0x7fc4ac1587f0>
    - <ast.Constant object at 0x7fc4ac1587c0>
    - <ast.Constant object at 0x7fc4ac158790>
    - <ast.Constant object at 0x7fc4ac158760>
    argNames:
    - self
    - session_id
    - path
    - name
    - type
    - kernel_id
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 350
    functionName: jupyter_server.services.sessions.sessionmanager.SessionManager.save_session
    functionSourceFile: jupyter_server.services.sessions.sessionmanager
    functionUses: 1
    functionsReached:
    - jupyter_server.services.sessions.sessionmanager.SessionManager.get_session
    - jupyter_server.services.sessions.sessionmanager.SessionManager.kernel_culled
    - conditions.append
    - traitlets.Instance.kernel_model
    - <builtin>.list
    - kwargs.values
    - jupyter_core.utils.ensure_async
    - kwargs.items
    - jupyter_server.services.sessions.sessionmanager.SessionManager.row_to_model
    - q.append
    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 0x7fc4ac133dc0>
    argNames:
    - self
    - path
    - name
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 296
    functionName: jupyter_server.services.sessions.sessionmanager.SessionManager.get_kernel_env
    functionSourceFile: jupyter_server.services.sessions.sessionmanager
    functionUses: 3
    functionsReached:
    - traitlets.Instance.cwd_for_path
    - <builtin>.isinstance
    - 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: traitlets.Instance.cwd_for_path
    functionSourceFile: traitlets
    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: traitlets.ClassBasedTraitType.get_kernel_path
    functionSourceFile: traitlets
    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: traitlets.Instance.start_kernel
    functionSourceFile: traitlets
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 4
    IfCount: 3
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 382
    functionName: jupyter_server.services.sessions.sessionmanager.SessionManager.get_session
    functionSourceFile: jupyter_server.services.sessions.sessionmanager
    functionUses: 4
    functionsReached:
    - jupyter_server.services.sessions.sessionmanager.SessionManager.kernel_culled
    - conditions.append
    - traitlets.Instance.kernel_model
    - <builtin>.list
    - kwargs.values
    - jupyter_core.utils.ensure_async
    - kwargs.items
    - jupyter_server.services.sessions.sessionmanager.SessionManager.row_to_model
    - q.append
    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: conditions.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: kwargs.values
    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: q.append
    functionSourceFile: <builtin>
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 6
    IfCount: 3
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - session_id
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 433
    functionName: jupyter_server.services.sessions.sessionmanager.SessionManager.update_session
    functionSourceFile: jupyter_server.services.sessions.sessionmanager
    functionUses: 0
    functionsReached:
    - jupyter_server.services.sessions.sessionmanager.SessionManager.get_session
    - jupyter_server.services.sessions.sessionmanager.SessionManager.kernel_culled
    - conditions.append
    - os.path.join
    - traitlets.Instance.kernel_model
    - traitlets.Instance.update_env
    - <builtin>.list
    - kwargs.values
    - traitlets.Instance.cwd_for_path
    - jupyter_core.utils.ensure_async
    - sets.append
    - kwargs.items
    - jupyter_server.services.sessions.sessionmanager.SessionManager.row_to_model
    - q.append
    - <builtin>.isinstance
    - <builtin>.hasattr
    - jupyter_server.services.sessions.sessionmanager.SessionManager.get_kernel_env
    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: sets.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: traitlets.Instance.update_env
    functionSourceFile: traitlets
    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
    - kernel_id
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 469
    functionName: jupyter_server.services.sessions.sessionmanager.SessionManager.kernel_culled
    functionSourceFile: jupyter_server.services.sessions.sessionmanager
    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: traitlets.Instance.kernel_model
    functionSourceFile: traitlets
    functionUses: 8
    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: 509
    functionName: jupyter_server.services.sessions.sessionmanager.SessionManager.list_sessions
    functionSourceFile: jupyter_server.services.sessions.sessionmanager
    functionUses: 0
    functionsReached:
    - jupyter_server.services.sessions.sessionmanager.SessionManager.kernel_culled
    - traitlets.Instance.kernel_model
    - jupyter_core.utils.ensure_async
    - c.fetchall
    - jupyter_server.services.sessions.sessionmanager.SessionManager.row_to_model
    - 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: c.fetchall
    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: result.append
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 5
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - session_id
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 524
    functionName: jupyter_server.services.sessions.sessionmanager.SessionManager.delete_session
    functionSourceFile: jupyter_server.services.sessions.sessionmanager
    functionUses: 0
    functionsReached:
    - jupyter_server.services.sessions.sessionmanager.SessionManager.get_session
    - jupyter_server.services.sessions.sessionmanager.SessionManager.kernel_culled
    - jupyter_server.services.sessions.sessionmanager.KernelSessionRecordList.update
    - conditions.append
    - traitlets.Instance.kernel_model
    - <builtin>.list
    - kwargs.values
    - jupyter_server.services.sessions.sessionmanager.KernelSessionRecordList.remove
    - jupyter_core.utils.ensure_async
    - kwargs.items
    - jupyter_server.services.sessions.sessionmanager.SessionManager.row_to_model
    - q.append
    - traitlets.Instance.shutdown_kernel
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: traitlets.Instance.shutdown_kernel
    functionSourceFile: traitlets
    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: jupyter_server.traittypes
    functionSourceFile: jupyter_server.traittypes
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 2
    IfCount: 5
    argCount: 4
    argDefaultValues:
    - <ast.Name object at 0x7fc4ac165460>
    - <ast.Constant object at 0x7fc4ac165430>
    argNames:
    - self
    - default_value
    - klasses
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 14
    functionName: jupyter_server.traittypes.TypeFromClasses.__init__
    functionSourceFile: jupyter_server.traittypes
    functionUses: 0
    functionsReached:
    - <builtin>.super
    - inspect.isclass
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised:
    - TraitError
    returnType: N/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: 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: 1
    functionLinenumber: 61
    functionName: jupyter_server.traittypes.TypeFromClasses.subclass_from_klasses
    functionSourceFile: jupyter_server.traittypes
    functionUses: 1
    functionsReached:
    - <builtin>.any
    - <builtin>.issubclass
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    IfCount: 2
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - obj
    - value
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 65
    functionName: jupyter_server.traittypes.TypeFromClasses.validate
    functionSourceFile: jupyter_server.traittypes
    functionUses: 0
    functionsReached:
    - <builtin>.any
    - <builtin>.issubclass
    - <builtin>.isinstance
    - jupyter_server.traittypes.TypeFromClasses.subclass_from_klasses
    - traitlets.ClassBasedTraitType._resolve_string
    - traitlets.ClassBasedTraitType.error
    linkageType: pythonLinkage
    raised:
    - TraitError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: traitlets.ClassBasedTraitType._resolve_string
    functionSourceFile: traitlets
    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: traitlets.ClassBasedTraitType.error
    functionSourceFile: traitlets
    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:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 84
    functionName: jupyter_server.traittypes.TypeFromClasses.info
    functionSourceFile: jupyter_server.traittypes
    functionUses: 0
    functionsReached:
    - <builtin>.isinstance
    - result.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: result.strip
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 3
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - obj
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 97
    functionName: jupyter_server.traittypes.TypeFromClasses.instance_init
    functionSourceFile: jupyter_server.traittypes
    functionUses: 0
    functionsReached:
    - jupyter_server.traittypes.TypeFromClasses._resolve_classes
    - traitlets.ClassBasedTraitType._resolve_string
    - <builtin>.isinstance
    - <builtin>.super
    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: 102
    functionName: jupyter_server.traittypes.TypeFromClasses._resolve_classes
    functionSourceFile: jupyter_server.traittypes
    functionUses: 1
    functionsReached:
    - traitlets.ClassBasedTraitType._resolve_string
    - <builtin>.isinstance
    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: 119
    functionName: jupyter_server.traittypes.TypeFromClasses.default_value_repr
    functionSourceFile: jupyter_server.traittypes
    functionUses: 0
    functionsReached:
    - <builtin>.isinstance
    - <builtin>.repr
    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: 182
    functionName: jupyter_server.traittypes.InstanceFromClasses.instance_from_importable_klasses
    functionSourceFile: jupyter_server.traittypes
    functionUses: 1
    functionsReached:
    - <builtin>.any
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - obj
    - value
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 186
    functionName: jupyter_server.traittypes.InstanceFromClasses.validate
    functionSourceFile: jupyter_server.traittypes
    functionUses: 0
    functionsReached:
    - <builtin>.any
    - jupyter_server.traittypes.InstanceFromClasses.instance_from_importable_klasses
    - <builtin>.isinstance
    - traitlets.ClassBasedTraitType.error
    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: 193
    functionName: jupyter_server.traittypes.InstanceFromClasses.info
    functionSourceFile: jupyter_server.traittypes
    functionUses: 0
    functionsReached:
    - traitlets.utils.descriptions.describe
    - <builtin>.isinstance
    - result.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: traitlets.utils.descriptions.describe
    functionSourceFile: traitlets
    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
    - obj
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 208
    functionName: jupyter_server.traittypes.InstanceFromClasses.instance_init
    functionSourceFile: jupyter_server.traittypes
    functionUses: 0
    functionsReached:
    - <builtin>.super
    - jupyter_server.traittypes.InstanceFromClasses._resolve_classes
    - <builtin>.isinstance
    - traitlets.ClassBasedTraitType._resolve_string
    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: 213
    functionName: jupyter_server.traittypes.InstanceFromClasses._resolve_classes
    functionSourceFile: jupyter_server.traittypes
    functionUses: 1
    functionsReached:
    - traitlets.ClassBasedTraitType._resolve_string
    - <builtin>.isinstance
    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: 228
    functionName: jupyter_server.traittypes.InstanceFromClasses.make_dynamic_default
    functionSourceFile: jupyter_server.traittypes
    functionUses: 1
    functionsReached:
    - traitlets.ClassBasedTraitType.klass
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: traitlets.ClassBasedTraitType.klass
    functionSourceFile: traitlets
    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: 236
    functionName: jupyter_server.traittypes.InstanceFromClasses.default_value_repr
    functionSourceFile: jupyter_server.traittypes
    functionUses: 0
    functionsReached:
    - jupyter_server.traittypes.InstanceFromClasses.make_dynamic_default
    - traitlets.ClassBasedTraitType.klass
    - <builtin>.repr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - s
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 240
    functionName: jupyter_server.traittypes.InstanceFromClasses.from_string
    functionSourceFile: jupyter_server.traittypes
    functionUses: 0
    functionsReached:
    - ast.literal_eval
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: jupyter_server.i18n
    functionSourceFile: jupyter_server.i18n
    functionUses: 0
    functionsReached:
    - re.compile
    - os.path.dirname
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - accept_lang
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 34
    functionName: jupyter_server.i18n.parse_accept_lang_header
    functionSourceFile: jupyter_server.i18n
    functionUses: 2
    functionsReached:
    - collections.defaultdict
    - accept_lang.split
    - <builtin>.sorted
    - _accept_lang_re.match
    - lang.replace
    - part.strip
    - m.group
    - res.extend
    - collections.defaultdict.items
    - <builtin>.float
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: 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: accept_lang.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: part.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: _accept_lang_re.match
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: lang.replace
    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: collections.defaultdict.items
    functionSourceFile: collections
    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: res.extend
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7fc4ac54a580>
    argNames:
    - language
    - domain
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 59
    functionName: jupyter_server.i18n.load
    functionSourceFile: jupyter_server.i18n
    functionUses: 3
    functionsReached:
    - json.load
    - <builtin>.open
    - os.path.join
    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 0x7fc4ab6ee4f0>
    argNames:
    - language
    - domain
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 73
    functionName: jupyter_server.i18n.cached_load
    functionSourceFile: jupyter_server.i18n
    functionUses: 2
    functionsReached:
    - jupyter_server.i18n.load
    - json.load
    - os.path.join
    - <builtin>.open
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: combined.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: combined.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: jupyter_server.services.security
    functionSourceFile: jupyter_server.services.security
    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: -1
    functionName: jupyter_server._tz
    functionSourceFile: jupyter_server._tz
    functionUses: 0
    functionsReached:
    - datetime.timedelta
    - datetime.tzinfo.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - d
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 19
    functionName: jupyter_server._tz.tzUTC.utcoffset
    functionSourceFile: jupyter_server._tz
    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
    - d
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 23
    functionName: jupyter_server._tz.tzUTC.dst
    functionSourceFile: jupyter_server._tz
    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:
    - timestamp
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 33
    functionName: jupyter_server._tz.utcfromtimestamp
    functionSourceFile: jupyter_server._tz
    functionUses: 39
    functionsReached:
    - 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: datetime.datetime.fromtimestamp
    functionSourceFile: datetime
    functionUses: 40
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.tzinfo.__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:
    - dt
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 40
    functionName: jupyter_server._tz.isoformat
    functionSourceFile: jupyter_server._tz
    functionUses: 4
    functionsReached:
    - dt.isoformat
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.isoformat
    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: jupyter_server.services.contents
    functionSourceFile: jupyter_server.services.contents
    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: -1
    functionName: jupyter_server.auth.decorator
    functionSourceFile: jupyter_server.auth.decorator
    functionUses: 0
    functionsReached:
    - typing.TypeVar
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - method
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 45
    functionName: jupyter_server.auth.decorator.authorized.wrapper
    functionSourceFile: jupyter_server.auth.decorator
    functionUses: 25
    functionsReached:
    - functools.wraps
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 9
    ICount: 1
    IfCount: 6
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 47
    functionName: jupyter_server.auth.decorator.authorized.wrapper.inner
    functionSourceFile: jupyter_server.auth.decorator
    functionUses: 0
    functionsReached:
    - output.encode
    - tornado.log.app_log.warning
    - zipfile.ZipFile
    - tornado.web.RequestHandler.set_header
    - tornado.web.RequestHandler.write
    - buffer.getvalue
    - jupyter_server.services.sessions.handlers.SessionHandler.delete
    - jupyter_server.kernelspecs.handlers.KernelSpecResourceHandler.head
    - <builtin>.super
    - <builtin>.sum
    - jupyter_server.services.contents.handlers.ContentsHandler.put
    - kernel.get
    - path.strip
    - typing.cast.setdefault
    - jupyter_server.services.events.handlers.validate_model
    - jupyter_server.services.kernelspecs.handlers.is_kernelspec_model
    - jupyter_server.view.handlers.ViewHandler.get
    - jupyter_server.services.sessions.handlers.SessionRootHandler.post
    - jupyter_server.services.kernelspecs.handlers.KernelSpecHandler.get
    - jupyter_server.services.contents.handlers.ContentsHandler._upload
    - typing.cast.keys
    - jupyter_server.services.contents.handlers.ContentsHandler.post
    - output_files.items
    - spec.to_dict
    - jupyter_server.nbconvert.handlers.respond_zip
    - jupyter_server.services.kernels.handlers.MainKernelHandler.post
    - jupyter_server.services.contents.handlers.ModifyCheckpointsHandler.delete
    - jupyter_server.base.handlers.FilesRedirectHandler.redirect_to_files
    - jupyter_core.utils.ensure_async
    - kwargs.pop
    - jupyter_server.services.config.handlers.ConfigHandler.patch
    - <builtin>.len
    - <builtin>.bool
    - jupyter_server.files.handlers.FilesHandler.head
    - io.BytesIO
    - tornado.web.RequestHandler.application.last_activity
    - jupyter_server.base.handlers.JupyterHandler.set_attachment_header
    - jupyter_server.services.config.handlers.ConfigHandler.get
    - jupyter_server.base.handlers.AuthenticatedHandler.skip_check_origin
    - tornado.web.StaticFileHandler.get
    - <builtin>.set
    - jupyter_server.services.kernels.handlers.KernelHandler.delete
    - glob.glob
    - jupyter_server.services.api.handlers.APISpecHandler.get
    - jupyter_server.services.contents.handlers.ContentsHandler.delete
    - zipf.writestr
    - jupyter_server.services.config.handlers.ConfigHandler.put
    - path.split
    - <builtin>.isinstance
    - parts.remove
    - tornado.web.RequestHandler.finish
    - tornado.web.RequestHandler.redirect
    - json.loads
    - tornado.web.RequestHandler.request.headers.get
    - jupyter_server.base.handlers.AuthenticatedFileHandler.get
    - jupyter_server.services.sessions.handlers.SessionHandler.get
    - jupyter_server.services.kernels.handlers.MainKernelHandler.get
    - path.rsplit
    - urllib.parse.urlparse
    - jupyter_server.services.shutdown.ShutdownHandler.post
    - jupyter_server.services.contents.handlers.ContentsHandler.patch
    - re.match
    - dt.isoformat
    - datetime.datetime.fromtimestamp
    - jupyter_server.services.contents.handlers.ContentsHandler._save
    - <builtin>.hasattr
    - jupyter_server.utils.url_path_join
    - nbconvert.exporters.base.get_exporter
    - jupyter_server.services.kernelspecs.handlers.MainKernelSpecHandler.get
    - jupyter_server._tz.utcfromtimestamp
    - jupyter_server.nbconvert.handlers.NbconvertPostHandler.post
    - urllib.parse.unquote
    - base64.decodebytes
    - jupyter_server.services.contents.handlers.ModifyCheckpointsHandler.post
    - datetime.datetime.now
    - required_keys.update
    - anyio.to_thread.run_sync
    - zipf.close
    - json.dumps
    - typing.cast
    - resources.get
    - jupyter_server.base.handlers.AuthenticatedFileHandler.head
    - jupyter_server.services.contents.handlers.validate_model
    - jupyter_server.base.handlers.JupyterHandler.render_template
    - jupyter_server.nbconvert.handlers.NbconvertFileHandler.get
    - jupyter_server.base.handlers.JupyterHandler.check_xsrf_cookie
    - asyncio.ensure_future
    - ns.update
    - jupyter_server.services.kernels.handlers.KernelHandler.get
    - jupyter_server.base.handlers.APIHandler.finish
    - jupyter_server._tz.utcnow
    - name.lower
    - tornado.log.app_log.exception
    - <builtin>.int
    - jupyter_server.kernelspecs.handlers.KernelSpecResourceHandler.get
    - jupyter_server.services.contents.handlers.ContentsHandler._finish_model
    - asyncio.iscoroutine
    - jupyter_server.services.contents.handlers.ContentsHandler.location_url
    - jupyter_server.utils.url_escape
    - os.path.exists
    - jupyter_server._tz.isoformat
    - jupyter_server.services.contents.handlers.ContentsHandler.get
    - jupyter_server.services.events.handlers.EventHandler.post
    - typing.cast.get
    - tornado.web.RequestHandler.request.body.strip
    - kspecs.items
    - jupyter_server.services.contents.handlers.CheckpointsHandler.post
    - tornado.web.RequestHandler.flush
    - os.path.splitext
    - jupyter_server.services.sessions.handlers.SessionRootHandler.get
    - jupyter_server.base.handlers.APIHandler.update_api_activity
    - jupyter_server.services.contents.handlers.ContentsHandler._finish_error
    - jupyter_server.services.api.handlers.APIStatusHandler.get
    - jupyter_server.services.security.handlers.CSPReportHandler.post
    - template.render
    - tornado.web.RequestHandler.get_argument
    - jupyter_server.files.handlers.FilesHandler.get
    - jupyter_server.utils.url_unescape
    - jupyter_server.services.contents.handlers.ContentsHandler._copy
    - jupyter_server.nbconvert.handlers.get_exporter
    - datetime.datetime.strptime
    - os.path.basename
    - jupyter_server.services.kernels.handlers.KernelActionHandler.post
    - jupyter_server.services.kernelspecs.handlers.kernelspec_model
    - <builtin>.getattr
    - s.strip
    - tornado.web.RequestHandler.request.body.decode
    - jupyter_server.services.sessions.handlers.SessionHandler.patch
    - jupyter_server.services.contents.handlers._validate_keys
    - tornado.ioloop.IOLoop.current
    - os.path.join
    - jupyter_server.base.handlers.JupyterHandler.get_json_body
    - jupyter_server.base.handlers.JupyterHandler.check_referer
    - tornado.web.RequestHandler.set_status
    - jupyter_server.services.nbconvert.handlers.NbconvertRootHandler.get
    - os.path.split
    - path.lower
    - mimetypes.guess_type
    - urllib.parse.quote
    - jupyter_server.services.events.handlers.get_timestamp
    - tornado.web.RequestHandler.get_query_argument
    - nbformat.from_dict
    - jupyter_server.services.contents.handlers.CheckpointsHandler.get
    - jupyter_server.base.handlers.JupyterHandler.get_template
    - jupyter_server.services.contents.handlers.ContentsHandler._new_untitled
    - tornado.web.RequestHandler.settings.get
    linkageType: pythonLinkage
    raised:
    - HTTPError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: tornado.log.app_log.warning
    functionSourceFile: tornado
    functionUses: 1
    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: 1
    functionLinenumber: 18
    functionName: jupyter_server.services.shutdown.ShutdownHandler.post
    functionSourceFile: jupyter_server.services.shutdown
    functionUses: 1
    functionsReached:
    - tornado.ioloop.IOLoop.current
    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 0x7fc4aac603d0>
    argNames:
    - self
    - path
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 186
    functionName: jupyter_server.services.contents.handlers.ContentsHandler.patch
    functionSourceFile: jupyter_server.services.contents.handlers
    functionUses: 1
    functionsReached:
    - tornado.web.RequestHandler.request.body.strip
    - jupyter_server.base.handlers.APIHandler.update_api_activity
    - jupyter_core.utils.ensure_async
    - tornado.web.RequestHandler.set_header
    - tornado.web.RequestHandler.get_argument
    - kwargs.pop
    - jupyter_server.utils.url_path_join
    - <builtin>.super
    - datetime.datetime.now
    - required_keys.update
    - <builtin>.set
    - <builtin>.getattr
    - s.strip
    - jupyter_server.services.contents.handlers._validate_keys
    - typing.cast
    - json.dumps
    - jupyter_server.services.contents.handlers.validate_model
    - jupyter_server.base.handlers.JupyterHandler.get_json_body
    - path.split
    - jupyter_server.base.handlers.APIHandler.finish
    - jupyter_server._tz.utcnow
    - typing.cast.keys
    - json.loads
    - urllib.parse.quote
    - jupyter_server.services.contents.handlers.ContentsHandler._finish_model
    - jupyter_server.services.contents.handlers.ContentsHandler.location_url
    - jupyter_server.utils.url_escape
    - typing.cast.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 5
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 45
    functionName: jupyter_server.services.kernels.handlers.MainKernelHandler.post
    functionSourceFile: jupyter_server.services.kernels.handlers
    functionUses: 1
    functionsReached:
    - tornado.web.RequestHandler.request.body.strip
    - jupyter_server.base.handlers.APIHandler.update_api_activity
    - jupyter_core.utils.ensure_async
    - tornado.web.RequestHandler.set_header
    - tornado.web.RequestHandler.get_argument
    - kwargs.pop
    - jupyter_server.utils.url_path_join
    - <builtin>.super
    - datetime.datetime.now
    - <builtin>.getattr
    - s.strip
    - typing.cast
    - json.dumps
    - typing.cast.setdefault
    - jupyter_server.base.handlers.JupyterHandler.get_json_body
    - tornado.web.RequestHandler.set_status
    - path.split
    - jupyter_server.base.handlers.APIHandler.finish
    - jupyter_server._tz.utcnow
    - json.loads
    - urllib.parse.quote
    - jupyter_server.utils.url_escape
    - typing.cast.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 4
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - path
    - checkpoint_id
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 384
    functionName: jupyter_server.services.contents.handlers.ModifyCheckpointsHandler.delete
    functionSourceFile: jupyter_server.services.contents.handlers
    functionUses: 1
    functionsReached:
    - <builtin>.super
    - jupyter_server.base.handlers.APIHandler.update_api_activity
    - jupyter_core.utils.ensure_async
    - tornado.web.RequestHandler.set_header
    - tornado.web.RequestHandler.set_status
    - tornado.web.RequestHandler.get_argument
    - datetime.datetime.now
    - kwargs.pop
    - jupyter_server.base.handlers.APIHandler.finish
    - <builtin>.getattr
    - jupyter_server._tz.utcnow
    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: 38
    functionName: jupyter_server.services.sessions.handlers.SessionRootHandler.get
    functionSourceFile: jupyter_server.services.sessions.handlers
    functionUses: 1
    functionsReached:
    - json.dumps
    - <builtin>.super
    - jupyter_server.base.handlers.APIHandler.update_api_activity
    - jupyter_core.utils.ensure_async
    - tornado.web.RequestHandler.set_header
    - tornado.web.RequestHandler.get_argument
    - datetime.datetime.now
    - kwargs.pop
    - jupyter_server.base.handlers.APIHandler.finish
    - <builtin>.getattr
    - jupyter_server._tz.utcnow
    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: 48
    functionName: jupyter_server.services.api.handlers.APIStatusHandler.get
    functionSourceFile: jupyter_server.services.api.handlers
    functionUses: 1
    functionsReached:
    - dt.isoformat
    - jupyter_server.base.handlers.APIHandler.update_api_activity
    - datetime.datetime.fromtimestamp
    - jupyter_core.utils.ensure_async
    - tornado.web.RequestHandler.set_header
    - tornado.web.RequestHandler.get_argument
    - kwargs.pop
    - <builtin>.len
    - jupyter_server._tz.utcfromtimestamp
    - <builtin>.super
    - tornado.web.RequestHandler.application.last_activity
    - <builtin>.sum
    - datetime.datetime.now
    - <builtin>.getattr
    - json.dumps
    - jupyter_server.base.handlers.APIHandler.finish
    - jupyter_server._tz.utcnow
    - jupyter_server._tz.isoformat
    - tornado.web.RequestHandler.settings.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: 1
    functionLinenumber: 30
    functionName: jupyter_server.services.security.handlers.CSPReportHandler.post
    functionSourceFile: jupyter_server.services.security.handlers
    functionUses: 1
    functionsReached:
    - tornado.web.RequestHandler.request.body.decode
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 11
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 16
    ICount: 14
    IfCount: 11
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7fc4ac00b1f0>
    argNames:
    - self
    - path
    - include_body
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 47
    functionName: jupyter_server.files.handlers.FilesHandler.get
    functionSourceFile: jupyter_server.files.handlers
    functionUses: 2
    functionsReached:
    - re.match
    - tornado.web.RequestHandler.flush
    - jupyter_core.utils.ensure_async
    - tornado.web.RequestHandler.set_header
    - tornado.web.RequestHandler.write
    - tornado.web.RequestHandler.get_argument
    - <builtin>.hasattr
    - <builtin>.bool
    - <builtin>.super
    - jupyter_server.base.handlers.JupyterHandler.set_attachment_header
    - base64.decodebytes
    - jupyter_server.base.handlers.AuthenticatedHandler.skip_check_origin
    - path.strip
    - jupyter_server.base.handlers.JupyterHandler.check_referer
    - jupyter_server.base.handlers.JupyterHandler.check_xsrf_cookie
    - path.split
    - name.lower
    - mimetypes.guess_type
    - urllib.parse.quote
    - tornado.web.RequestHandler.request.headers.get
    - jupyter_server.utils.url_escape
    - path.rsplit
    - tornado.web.RequestHandler.settings.get
    - urllib.parse.urlparse
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - section_name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 37
    functionName: jupyter_server.services.config.handlers.ConfigHandler.patch
    functionSourceFile: jupyter_server.services.config.handlers
    functionUses: 1
    functionsReached:
    - tornado.web.RequestHandler.request.body.strip
    - typing.cast
    - json.dumps
    - json.loads
    - <builtin>.super
    - jupyter_server.base.handlers.JupyterHandler.get_json_body
    - jupyter_server.base.handlers.APIHandler.update_api_activity
    - tornado.web.RequestHandler.set_header
    - tornado.web.RequestHandler.get_argument
    - datetime.datetime.now
    - kwargs.pop
    - jupyter_server.base.handlers.APIHandler.finish
    - <builtin>.getattr
    - jupyter_server._tz.utcnow
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 4
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - session_id
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 186
    functionName: jupyter_server.services.sessions.handlers.SessionHandler.delete
    functionSourceFile: jupyter_server.services.sessions.handlers
    functionUses: 1
    functionsReached:
    - <builtin>.super
    - jupyter_server.base.handlers.APIHandler.update_api_activity
    - tornado.web.RequestHandler.set_status
    - tornado.web.RequestHandler.set_header
    - tornado.web.RequestHandler.get_argument
    - datetime.datetime.now
    - kwargs.pop
    - jupyter_server.base.handlers.APIHandler.finish
    - <builtin>.getattr
    - jupyter_server._tz.utcnow
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - kernel_name
    - path
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 62
    functionName: jupyter_server.kernelspecs.handlers.KernelSpecResourceHandler.head
    functionSourceFile: jupyter_server.kernelspecs.handlers
    functionUses: 1
    functionsReached:
    - mimetypes.guess_type
    - jupyter_server.kernelspecs.handlers.KernelSpecResourceHandler.get
    - jupyter_core.utils.ensure_async
    - tornado.web.RequestHandler.set_header
    - tornado.web.StaticFileHandler.get
    - tornado.web.RequestHandler.finish
    - <builtin>.hasattr
    - path.lower
    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: 4
    functionLinenumber: 65
    functionName: jupyter_server.services.kernelspecs.handlers.MainKernelSpecHandler.get
    functionSourceFile: jupyter_server.services.kernelspecs.handlers
    functionUses: 1
    functionsReached:
    - kspecs.items
    - os.path.splitext
    - jupyter_server.base.handlers.APIHandler.update_api_activity
    - jupyter_core.utils.ensure_async
    - tornado.web.RequestHandler.set_header
    - tornado.web.RequestHandler.get_argument
    - kwargs.pop
    - jupyter_server.utils.url_path_join
    - <builtin>.super
    - os.path.basename
    - jupyter_server.services.kernelspecs.handlers.kernelspec_model
    - datetime.datetime.now
    - <builtin>.getattr
    - s.strip
    - glob.glob
    - os.path.join
    - json.dumps
    - jupyter_server.services.kernelspecs.handlers.is_kernelspec_model
    - <builtin>.isinstance
    - jupyter_server.base.handlers.APIHandler.finish
    - jupyter_server._tz.utcnow
    - os.path.exists
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - format
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 165
    functionName: jupyter_server.nbconvert.handlers.NbconvertPostHandler.post
    functionSourceFile: jupyter_server.nbconvert.handlers
    functionUses: 1
    functionsReached:
    - output.encode
    - tornado.web.RequestHandler.request.body.strip
    - os.path.splitext
    - zipfile.ZipFile
    - tornado.web.RequestHandler.set_header
    - buffer.getvalue
    - nbconvert.exporters.base.get_exporter
    - jupyter_server.nbconvert.handlers.get_exporter
    - io.BytesIO
    - os.path.basename
    - jupyter_server.base.handlers.JupyterHandler.set_attachment_header
    - anyio.to_thread.run_sync
    - zipf.close
    - typing.cast
    - resources.get
    - jupyter_server.base.handlers.JupyterHandler.get_json_body
    - zipf.writestr
    - path.split
    - tornado.web.RequestHandler.finish
    - tornado.log.app_log.exception
    - json.loads
    - urllib.parse.quote
    - jupyter_server.utils.url_escape
    - nbformat.from_dict
    - output_files.items
    - jupyter_server.nbconvert.handlers.respond_zip
    - typing.cast.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 3
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - path
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 39
    functionName: jupyter_server.files.handlers.FilesHandler.head
    functionSourceFile: jupyter_server.files.handlers
    functionUses: 1
    functionsReached:
    - re.match
    - tornado.web.RequestHandler.flush
    - jupyter_core.utils.ensure_async
    - tornado.web.RequestHandler.set_header
    - tornado.web.RequestHandler.write
    - tornado.web.RequestHandler.get_argument
    - jupyter_server.files.handlers.FilesHandler.get
    - <builtin>.hasattr
    - <builtin>.bool
    - <builtin>.super
    - jupyter_server.base.handlers.JupyterHandler.set_attachment_header
    - base64.decodebytes
    - jupyter_server.base.handlers.AuthenticatedHandler.skip_check_origin
    - path.strip
    - jupyter_server.base.handlers.JupyterHandler.check_referer
    - jupyter_server.base.handlers.JupyterHandler.check_xsrf_cookie
    - path.split
    - name.lower
    - mimetypes.guess_type
    - urllib.parse.quote
    - tornado.web.RequestHandler.request.headers.get
    - jupyter_server.utils.url_escape
    - path.rsplit
    - tornado.web.RequestHandler.settings.get
    - urllib.parse.urlparse
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    IfCount: 2
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - kernel_id
    - action
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 92
    functionName: jupyter_server.services.kernels.handlers.KernelActionHandler.post
    functionSourceFile: jupyter_server.services.kernels.handlers
    functionUses: 1
    functionsReached:
    - json.dumps
    - <builtin>.super
    - jupyter_server.base.handlers.APIHandler.update_api_activity
    - jupyter_core.utils.ensure_async
    - tornado.web.RequestHandler.set_status
    - tornado.web.RequestHandler.write
    - tornado.web.RequestHandler.set_header
    - tornado.web.RequestHandler.get_argument
    - datetime.datetime.now
    - kwargs.pop
    - jupyter_server.base.handlers.APIHandler.finish
    - <builtin>.getattr
    - jupyter_server._tz.utcnow
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 3
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - section_name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 22
    functionName: jupyter_server.services.config.handlers.ConfigHandler.get
    functionSourceFile: jupyter_server.services.config.handlers
    functionUses: 1
    functionsReached:
    - json.dumps
    - <builtin>.super
    - jupyter_server.base.handlers.APIHandler.update_api_activity
    - tornado.web.RequestHandler.set_header
    - tornado.web.RequestHandler.get_argument
    - datetime.datetime.now
    - kwargs.pop
    - jupyter_server.base.handlers.APIHandler.finish
    - <builtin>.getattr
    - jupyter_server._tz.utcnow
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 4
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - path
    - checkpoint_id
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 375
    functionName: jupyter_server.services.contents.handlers.ModifyCheckpointsHandler.post
    functionSourceFile: jupyter_server.services.contents.handlers
    functionUses: 1
    functionsReached:
    - <builtin>.super
    - jupyter_server.base.handlers.APIHandler.update_api_activity
    - jupyter_core.utils.ensure_async
    - tornado.web.RequestHandler.set_header
    - tornado.web.RequestHandler.set_status
    - tornado.web.RequestHandler.get_argument
    - datetime.datetime.now
    - kwargs.pop
    - jupyter_server.base.handlers.APIHandler.finish
    - <builtin>.getattr
    - jupyter_server._tz.utcnow
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 4
    IfCount: 5
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7fc4acaadc10>
    argNames:
    - self
    - path
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 290
    functionName: jupyter_server.services.contents.handlers.ContentsHandler.put
    functionSourceFile: jupyter_server.services.contents.handlers
    functionUses: 1
    functionsReached:
    - tornado.web.RequestHandler.request.body.strip
    - jupyter_server.base.handlers.APIHandler.update_api_activity
    - jupyter_core.utils.ensure_async
    - tornado.web.RequestHandler.set_header
    - tornado.web.RequestHandler.get_argument
    - jupyter_server.services.contents.handlers.ContentsHandler._save
    - kwargs.pop
    - jupyter_server.utils.url_path_join
    - <builtin>.super
    - datetime.datetime.now
    - required_keys.update
    - <builtin>.set
    - <builtin>.getattr
    - s.strip
    - jupyter_server.services.contents.handlers._validate_keys
    - typing.cast
    - json.dumps
    - jupyter_server.services.contents.handlers.validate_model
    - jupyter_server.base.handlers.JupyterHandler.get_json_body
    - tornado.web.RequestHandler.set_status
    - path.split
    - jupyter_server.base.handlers.APIHandler.finish
    - jupyter_server._tz.utcnow
    - jupyter_server.services.contents.handlers.ContentsHandler._upload
    - typing.cast.keys
    - json.loads
    - urllib.parse.quote
    - jupyter_server.services.contents.handlers.ContentsHandler._finish_model
    - jupyter_server.services.contents.handlers.ContentsHandler.location_url
    - jupyter_server.utils.url_escape
    - jupyter_server.services.contents.handlers.ContentsHandler._new_untitled
    - typing.cast.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 5
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 107
    functionName: jupyter_server.services.events.handlers.EventHandler.post
    functionSourceFile: jupyter_server.services.events.handlers
    functionUses: 1
    functionsReached:
    - tornado.web.RequestHandler.request.body.strip
    - datetime.datetime.strptime
    - typing.cast
    - <builtin>.super
    - json.loads
    - jupyter_server.base.handlers.APIHandler.update_api_activity
    - jupyter_server.base.handlers.JupyterHandler.get_json_body
    - jupyter_server.services.events.handlers.validate_model
    - jupyter_server.services.events.handlers.get_timestamp
    - tornado.web.RequestHandler.set_status
    - tornado.web.RequestHandler.set_header
    - tornado.web.RequestHandler.get_argument
    - datetime.datetime.now
    - kwargs.pop
    - jupyter_server.base.handlers.APIHandler.finish
    - <builtin>.getattr
    - jupyter_server._tz.utcnow
    - typing.cast.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 4
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - kernel_id
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 79
    functionName: jupyter_server.services.kernels.handlers.KernelHandler.delete
    functionSourceFile: jupyter_server.services.kernels.handlers
    functionUses: 1
    functionsReached:
    - <builtin>.super
    - jupyter_server.base.handlers.APIHandler.update_api_activity
    - jupyter_core.utils.ensure_async
    - tornado.web.RequestHandler.set_header
    - tornado.web.RequestHandler.set_status
    - tornado.web.RequestHandler.get_argument
    - datetime.datetime.now
    - kwargs.pop
    - jupyter_server.base.handlers.APIHandler.finish
    - <builtin>.getattr
    - jupyter_server._tz.utcnow
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 11
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 16
    ICount: 5
    IfCount: 11
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - session_id
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 128
    functionName: jupyter_server.services.sessions.handlers.SessionHandler.patch
    functionSourceFile: jupyter_server.services.sessions.handlers
    functionUses: 1
    functionsReached:
    - tornado.web.RequestHandler.request.body.strip
    - json.dumps
    - typing.cast
    - json.loads
    - <builtin>.super
    - jupyter_server.base.handlers.JupyterHandler.get_json_body
    - jupyter_server.base.handlers.APIHandler.update_api_activity
    - jupyter_core.utils.ensure_async
    - asyncio.ensure_future
    - tornado.web.RequestHandler.set_header
    - tornado.web.RequestHandler.get_argument
    - datetime.datetime.now
    - kwargs.pop
    - jupyter_server.base.handlers.APIHandler.finish
    - <builtin>.getattr
    - jupyter_server._tz.utcnow
    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: 30
    functionName: jupyter_server.services.api.handlers.APISpecHandler.get
    functionSourceFile: jupyter_server.services.api.handlers
    functionUses: 1
    functionsReached:
    - tornado.web.StaticFileHandler.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 5
    IfCount: 1
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7fc4acab92e0>
    argNames:
    - self
    - path
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 326
    functionName: jupyter_server.services.contents.handlers.ContentsHandler.delete
    functionSourceFile: jupyter_server.services.contents.handlers
    functionUses: 1
    functionsReached:
    - <builtin>.super
    - jupyter_server.base.handlers.APIHandler.update_api_activity
    - jupyter_core.utils.ensure_async
    - tornado.web.RequestHandler.set_header
    - tornado.web.RequestHandler.set_status
    - tornado.web.RequestHandler.get_argument
    - datetime.datetime.now
    - kwargs.pop
    - jupyter_server.base.handlers.APIHandler.finish
    - <builtin>.getattr
    - jupyter_server._tz.utcnow
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 9
    ICount: 8
    IfCount: 6
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - format
    - path
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 96
    functionName: jupyter_server.nbconvert.handlers.NbconvertFileHandler.get
    functionSourceFile: jupyter_server.nbconvert.handlers
    functionUses: 1
    functionsReached:
    - output.encode
    - re.match
    - os.path.splitext
    - zipfile.ZipFile
    - jupyter_server.base.handlers.FilesRedirectHandler.redirect_to_files
    - jupyter_core.utils.ensure_async
    - tornado.web.RequestHandler.set_header
    - buffer.getvalue
    - tornado.web.RequestHandler.get_argument
    - <builtin>.hasattr
    - nbconvert.exporters.base.get_exporter
    - jupyter_server.nbconvert.handlers.get_exporter
    - jupyter_server.utils.url_path_join
    - <builtin>.bool
    - io.BytesIO
    - <builtin>.super
    - os.path.basename
    - jupyter_server.base.handlers.JupyterHandler.set_attachment_header
    - jupyter_server.base.handlers.AuthenticatedHandler.skip_check_origin
    - path.strip
    - jupyter_server.nbconvert.handlers.respond_zip
    - s.strip
    - anyio.to_thread.run_sync
    - zipf.close
    - resources.get
    - zipf.writestr
    - jupyter_server.base.handlers.JupyterHandler.check_referer
    - jupyter_server.base.handlers.JupyterHandler.check_xsrf_cookie
    - path.split
    - parts.remove
    - os.path.split
    - tornado.web.RequestHandler.finish
    - tornado.log.app_log.exception
    - tornado.web.RequestHandler.redirect
    - urllib.parse.quote
    - tornado.web.RequestHandler.request.headers.get
    - jupyter_server.utils.url_escape
    - output_files.items
    - tornado.web.RequestHandler.settings.get
    - urllib.parse.urlparse
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 3
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - section_name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 29
    functionName: jupyter_server.services.config.handlers.ConfigHandler.put
    functionSourceFile: jupyter_server.services.config.handlers
    functionUses: 1
    functionsReached:
    - tornado.web.RequestHandler.request.body.strip
    - typing.cast
    - json.loads
    - jupyter_server.base.handlers.JupyterHandler.get_json_body
    - tornado.web.RequestHandler.set_status
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - kernel_id
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 71
    functionName: jupyter_server.services.kernels.handlers.KernelHandler.get
    functionSourceFile: jupyter_server.services.kernels.handlers
    functionUses: 1
    functionsReached:
    - json.dumps
    - <builtin>.super
    - jupyter_server.base.handlers.APIHandler.update_api_activity
    - jupyter_core.utils.ensure_async
    - tornado.web.RequestHandler.set_header
    - tornado.web.RequestHandler.get_argument
    - datetime.datetime.now
    - kwargs.pop
    - jupyter_server.base.handlers.APIHandler.finish
    - <builtin>.getattr
    - jupyter_server._tz.utcnow
    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: 31
    functionName: jupyter_server.services.nbconvert.handlers.NbconvertRootHandler.get
    functionSourceFile: jupyter_server.services.nbconvert.handlers
    functionUses: 1
    functionsReached:
    - json.dumps
    - <builtin>.super
    - jupyter_server.base.handlers.APIHandler.update_api_activity
    - tornado.web.RequestHandler.set_header
    - tornado.web.RequestHandler.get_argument
    - datetime.datetime.now
    - kwargs.pop
    - jupyter_server.base.handlers.APIHandler.finish
    - <builtin>.getattr
    - anyio.to_thread.run_sync
    - jupyter_server._tz.utcnow
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - path
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 22
    functionName: jupyter_server.view.handlers.ViewHandler.get
    functionSourceFile: jupyter_server.view.handlers
    functionUses: 1
    functionsReached:
    - urllib.parse.quote
    - jupyter_server.base.handlers.JupyterHandler.render_template
    - jupyter_core.utils.ensure_async
    - jupyter_server.utils.url_escape
    - template.render
    - ns.update
    - path.split
    - tornado.web.RequestHandler.write
    - jupyter_server.base.handlers.JupyterHandler.get_template
    - path.strip
    - path.rsplit
    - s.strip
    - jupyter_server.utils.url_path_join
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 9
    ICount: 9
    IfCount: 6
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 46
    functionName: jupyter_server.services.sessions.handlers.SessionRootHandler.post
    functionSourceFile: jupyter_server.services.sessions.handlers
    functionUses: 1
    functionsReached:
    - tornado.web.RequestHandler.request.body.strip
    - jupyter_server.base.handlers.APIHandler.update_api_activity
    - jupyter_core.utils.ensure_async
    - tornado.web.RequestHandler.set_header
    - tornado.web.RequestHandler.get_argument
    - kwargs.pop
    - jupyter_server.utils.url_path_join
    - <builtin>.super
    - datetime.datetime.now
    - kernel.get
    - <builtin>.getattr
    - s.strip
    - typing.cast
    - json.dumps
    - jupyter_server.base.handlers.JupyterHandler.get_json_body
    - tornado.web.RequestHandler.set_status
    - jupyter_server.base.handlers.APIHandler.finish
    - jupyter_server._tz.utcnow
    - json.loads
    - typing.cast.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - kernel_name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 97
    functionName: jupyter_server.services.kernelspecs.handlers.KernelSpecHandler.get
    functionSourceFile: jupyter_server.services.kernelspecs.handlers
    functionUses: 1
    functionsReached:
    - os.path.splitext
    - jupyter_server.base.handlers.APIHandler.update_api_activity
    - jupyter_core.utils.ensure_async
    - tornado.web.RequestHandler.set_header
    - jupyter_server.utils.url_unescape
    - tornado.web.RequestHandler.get_argument
    - kwargs.pop
    - jupyter_server.utils.url_path_join
    - <builtin>.super
    - os.path.basename
    - urllib.parse.unquote
    - jupyter_server.services.kernelspecs.handlers.kernelspec_model
    - datetime.datetime.now
    - <builtin>.getattr
    - s.strip
    - glob.glob
    - os.path.join
    - json.dumps
    - jupyter_server.services.kernelspecs.handlers.is_kernelspec_model
    - path.split
    - <builtin>.isinstance
    - jupyter_server.base.handlers.APIHandler.finish
    - jupyter_server._tz.utcnow
    - os.path.exists
    - spec.to_dict
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 4
    IfCount: 5
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7fc4acacc9a0>
    argNames:
    - self
    - path
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 249
    functionName: jupyter_server.services.contents.handlers.ContentsHandler.post
    functionSourceFile: jupyter_server.services.contents.handlers
    functionUses: 1
    functionsReached:
    - tornado.web.RequestHandler.request.body.strip
    - jupyter_server.base.handlers.APIHandler.update_api_activity
    - jupyter_core.utils.ensure_async
    - tornado.web.RequestHandler.set_header
    - tornado.web.RequestHandler.get_argument
    - jupyter_server.services.contents.handlers.ContentsHandler._copy
    - kwargs.pop
    - jupyter_server.utils.url_path_join
    - <builtin>.super
    - datetime.datetime.now
    - required_keys.update
    - <builtin>.set
    - <builtin>.getattr
    - s.strip
    - jupyter_server.services.contents.handlers._validate_keys
    - typing.cast
    - json.dumps
    - jupyter_server.services.contents.handlers.validate_model
    - jupyter_server.base.handlers.JupyterHandler.get_json_body
    - tornado.web.RequestHandler.set_status
    - path.split
    - jupyter_server.base.handlers.APIHandler.finish
    - jupyter_server._tz.utcnow
    - typing.cast.keys
    - json.loads
    - urllib.parse.quote
    - jupyter_server.services.contents.handlers.ContentsHandler._finish_model
    - jupyter_server.services.contents.handlers.ContentsHandler.location_url
    - jupyter_server.utils.url_escape
    - jupyter_server.services.contents.handlers.ContentsHandler._new_untitled
    - typing.cast.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 6
    IfCount: 3
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7fc4aac60a90>
    argNames:
    - self
    - kernel_name
    - path
    - include_body
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 27
    functionName: jupyter_server.kernelspecs.handlers.KernelSpecResourceHandler.get
    functionSourceFile: jupyter_server.kernelspecs.handlers
    functionUses: 2
    functionsReached:
    - mimetypes.guess_type
    - jupyter_core.utils.ensure_async
    - tornado.web.RequestHandler.set_header
    - tornado.web.StaticFileHandler.get
    - tornado.web.RequestHandler.finish
    - <builtin>.hasattr
    - path.lower
    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 0x7fc4acabc520>
    argNames:
    - self
    - path
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 344
    functionName: jupyter_server.services.contents.handlers.CheckpointsHandler.get
    functionSourceFile: jupyter_server.services.contents.handlers
    functionUses: 1
    functionsReached:
    - json.dumps
    - <builtin>.super
    - jupyter_server.base.handlers.APIHandler.update_api_activity
    - jupyter_core.utils.ensure_async
    - tornado.web.RequestHandler.set_header
    - tornado.web.RequestHandler.get_argument
    - datetime.datetime.now
    - kwargs.pop
    - jupyter_server.base.handlers.APIHandler.finish
    - <builtin>.getattr
    - jupyter_server._tz.utcnow
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - session_id
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 120
    functionName: jupyter_server.services.sessions.handlers.SessionHandler.get
    functionSourceFile: jupyter_server.services.sessions.handlers
    functionUses: 1
    functionsReached:
    - json.dumps
    - <builtin>.super
    - jupyter_server.base.handlers.APIHandler.update_api_activity
    - tornado.web.RequestHandler.set_header
    - tornado.web.RequestHandler.get_argument
    - datetime.datetime.now
    - kwargs.pop
    - jupyter_server.base.handlers.APIHandler.finish
    - <builtin>.getattr
    - jupyter_server._tz.utcnow
    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: 37
    functionName: jupyter_server.services.kernels.handlers.MainKernelHandler.get
    functionSourceFile: jupyter_server.services.kernels.handlers
    functionUses: 1
    functionsReached:
    - json.dumps
    - <builtin>.super
    - jupyter_server.base.handlers.APIHandler.update_api_activity
    - jupyter_core.utils.ensure_async
    - tornado.web.RequestHandler.set_header
    - tornado.web.RequestHandler.get_argument
    - datetime.datetime.now
    - kwargs.pop
    - jupyter_server.base.handlers.APIHandler.finish
    - <builtin>.getattr
    - jupyter_server._tz.utcnow
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 9
    ICount: 5
    IfCount: 6
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7fc4aba16bb0>
    argNames:
    - self
    - path
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 118
    functionName: jupyter_server.services.contents.handlers.ContentsHandler.get
    functionSourceFile: jupyter_server.services.contents.handlers
    functionUses: 1
    functionsReached:
    - jupyter_server.base.handlers.APIHandler.update_api_activity
    - jupyter_server.services.contents.handlers.ContentsHandler._finish_error
    - jupyter_core.utils.ensure_async
    - tornado.web.RequestHandler.set_header
    - tornado.web.RequestHandler.write
    - tornado.web.RequestHandler.get_argument
    - kwargs.pop
    - jupyter_server.utils.url_path_join
    - <builtin>.super
    - datetime.datetime.now
    - required_keys.update
    - <builtin>.set
    - <builtin>.getattr
    - s.strip
    - jupyter_server.services.contents.handlers._validate_keys
    - json.dumps
    - jupyter_server.services.contents.handlers.validate_model
    - tornado.web.RequestHandler.set_status
    - path.split
    - jupyter_server.base.handlers.APIHandler.finish
    - jupyter_server._tz.utcnow
    - typing.cast.keys
    - urllib.parse.quote
    - <builtin>.int
    - jupyter_server.services.contents.handlers.ContentsHandler._finish_model
    - tornado.web.RequestHandler.get_query_argument
    - jupyter_server.services.contents.handlers.ContentsHandler.location_url
    - jupyter_server.utils.url_escape
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 4
    IfCount: 0
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7fc4acabad60>
    argNames:
    - self
    - path
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 353
    functionName: jupyter_server.services.contents.handlers.CheckpointsHandler.post
    functionSourceFile: jupyter_server.services.contents.handlers
    functionUses: 1
    functionsReached:
    - json.dumps
    - urllib.parse.quote
    - <builtin>.super
    - jupyter_server.base.handlers.APIHandler.update_api_activity
    - jupyter_core.utils.ensure_async
    - jupyter_server.utils.url_escape
    - tornado.web.RequestHandler.set_status
    - tornado.web.RequestHandler.set_header
    - path.split
    - tornado.web.RequestHandler.get_argument
    - datetime.datetime.now
    - jupyter_server.base.handlers.APIHandler.finish
    - kwargs.pop
    - <builtin>.getattr
    - s.strip
    - jupyter_server.utils.url_path_join
    - jupyter_server._tz.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: asyncio.iscoroutine
    functionSourceFile: asyncio
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: jupyter_server.services.config
    functionSourceFile: jupyter_server.services.config
    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: jupyter_server.auth
    functionSourceFile: jupyter_server.auth
    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: jupyter_server.services.config.manager
    functionSourceFile: jupyter_server.services.config.manager
    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: jupyter_server.services.config.manager.ConfigManager
    functionSourceFile: jupyter_server.services.config.manager
    functionUses: 0
    functionsReached:
    - traitlets.List
    - traitlets.Unicode.tag
    - traitlets.Instance
    - traitlets.Unicode
    - traitlets.observe
    - traitlets.default
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - section_name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 24
    functionName: jupyter_server.services.config.manager.ConfigManager.get
    functionSourceFile: jupyter_server.services.config.manager
    functionUses: 9
    functionsReached:
    - json.load
    - jupyter_server.config_manager.BaseJSONConfigManager.file_name
    - os.path.isfile
    - os.path.join
    - traitlets.config.LoggingConfigurable.__init__
    - traitlets.config.LoggingConfigurable.log.debug
    - <builtin>.sorted
    - new.items
    - jupyter_server.config_manager.BaseJSONConfigManager.get
    - jupyter_server.config_manager.BaseJSONConfigManager.directory
    - <builtin>.isinstance
    - target.pop
    - jupyter_server.config_manager.recursive_update
    - <builtin>.open
    - glob.glob
    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 0x7fc4ac8686d0>
    argNames:
    - self
    - section_name
    - include_root
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 79
    functionName: jupyter_server.config_manager.BaseJSONConfigManager.get
    functionSourceFile: jupyter_server.config_manager
    functionUses: 18
    functionsReached:
    - json.load
    - jupyter_server.config_manager.BaseJSONConfigManager.file_name
    - os.path.isfile
    - os.path.join
    - target.pop
    - <builtin>.sorted
    - new.items
    - jupyter_server.config_manager.BaseJSONConfigManager.directory
    - <builtin>.isinstance
    - traitlets.config.LoggingConfigurable.log.debug
    - jupyter_server.config_manager.recursive_update
    - <builtin>.open
    - glob.glob
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 3
    IfCount: 4
    argCount: 2
    argDefaultValues: []
    argNames:
    - target
    - new
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 19
    functionName: jupyter_server.config_manager.recursive_update
    functionSourceFile: jupyter_server.config_manager
    functionUses: 19
    functionsReached:
    - target.pop
    - new.items
    - <builtin>.isinstance
    - jupyter_server.config_manager.recursive_update
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - section_name
    - data
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 33
    functionName: jupyter_server.services.config.manager.ConfigManager.set
    functionSourceFile: jupyter_server.services.config.manager
    functionUses: 0
    functionsReached:
    - json.load
    - <builtin>.sorted
    - new.items
    - jupyter_server.config_manager.BaseJSONConfigManager.ensure_config_dir_exists
    - jupyter_server.config_manager.BaseJSONConfigManager.set
    - <builtin>.list
    - traitlets.Instance.set
    - copy.deepcopy
    - jupyter_server.config_manager.BaseJSONConfigManager.get
    - traitlets.config.LoggingConfigurable.log.debug
    - data.items
    - jupyter_server.config_manager.remove_defaults
    - <builtin>.open
    - glob.glob
    - jupyter_server.config_manager.BaseJSONConfigManager.file_name
    - f.write
    - os.path.join
    - json.dumps
    - <builtin>.isinstance
    - target.pop
    - os.makedirs
    - os.path.isfile
    - jupyter_server.config_manager.BaseJSONConfigManager.directory
    - jupyter_server.config_manager.recursive_update
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 4
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - section_name
    - data
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 109
    functionName: jupyter_server.config_manager.BaseJSONConfigManager.set
    functionSourceFile: jupyter_server.config_manager
    functionUses: 7
    functionsReached:
    - json.load
    - <builtin>.sorted
    - new.items
    - jupyter_server.config_manager.BaseJSONConfigManager.ensure_config_dir_exists
    - <builtin>.list
    - copy.deepcopy
    - jupyter_server.config_manager.BaseJSONConfigManager.get
    - traitlets.config.LoggingConfigurable.log.debug
    - data.items
    - jupyter_server.config_manager.remove_defaults
    - <builtin>.open
    - glob.glob
    - jupyter_server.config_manager.BaseJSONConfigManager.file_name
    - f.write
    - os.path.join
    - json.dumps
    - <builtin>.isinstance
    - target.pop
    - os.makedirs
    - os.path.isfile
    - jupyter_server.config_manager.BaseJSONConfigManager.directory
    - jupyter_server.config_manager.recursive_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: traitlets.Instance.set
    functionSourceFile: traitlets
    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
    - section_name
    - new_data
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 37
    functionName: jupyter_server.services.config.manager.ConfigManager.update
    functionSourceFile: jupyter_server.services.config.manager
    functionUses: 3
    functionsReached:
    - json.load
    - <builtin>.sorted
    - new.items
    - jupyter_server.config_manager.BaseJSONConfigManager.ensure_config_dir_exists
    - jupyter_server.config_manager.BaseJSONConfigManager.update
    - jupyter_server.config_manager.BaseJSONConfigManager.set
    - <builtin>.list
    - copy.deepcopy
    - jupyter_server.config_manager.BaseJSONConfigManager.get
    - data.items
    - jupyter_server.config_manager.remove_defaults
    - traitlets.config.LoggingConfigurable.log.debug
    - <builtin>.open
    - glob.glob
    - jupyter_server.config_manager.BaseJSONConfigManager.file_name
    - f.write
    - os.path.join
    - json.dumps
    - <builtin>.isinstance
    - target.pop
    - traitlets.Instance.update
    - os.makedirs
    - os.path.isfile
    - jupyter_server.config_manager.BaseJSONConfigManager.directory
    - jupyter_server.config_manager.recursive_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: traitlets.Instance.update
    functionSourceFile: traitlets
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 3
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - section_name
    - new_data
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 126
    functionName: jupyter_server.config_manager.BaseJSONConfigManager.update
    functionSourceFile: jupyter_server.config_manager
    functionUses: 5
    functionsReached:
    - json.load
    - <builtin>.sorted
    - new.items
    - jupyter_server.config_manager.BaseJSONConfigManager.ensure_config_dir_exists
    - jupyter_server.config_manager.BaseJSONConfigManager.set
    - <builtin>.list
    - copy.deepcopy
    - jupyter_server.config_manager.BaseJSONConfigManager.get
    - data.items
    - jupyter_server.config_manager.remove_defaults
    - traitlets.config.LoggingConfigurable.log.debug
    - <builtin>.open
    - glob.glob
    - jupyter_server.config_manager.BaseJSONConfigManager.file_name
    - f.write
    - os.path.join
    - json.dumps
    - <builtin>.isinstance
    - target.pop
    - os.makedirs
    - os.path.isfile
    - jupyter_server.config_manager.BaseJSONConfigManager.directory
    - jupyter_server.config_manager.recursive_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: 1
    functionLinenumber: 46
    functionName: jupyter_server.services.config.manager.ConfigManager._default_read_config_path
    functionSourceFile: jupyter_server.services.config.manager
    functionUses: 0
    functionsReached:
    - jupyter_core.paths.jupyter_config_path
    - 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: jupyter_core.paths.jupyter_config_path
    functionSourceFile: jupyter_core
    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: 52
    functionName: jupyter_server.services.config.manager.ConfigManager._default_write_config_dir
    functionSourceFile: jupyter_server.services.config.manager
    functionUses: 0
    functionsReached:
    - jupyter_core.paths.jupyter_config_dir
    - os.path.join
    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: 58
    functionName: jupyter_server.services.config.manager.ConfigManager._default_write_config_manager
    functionSourceFile: jupyter_server.services.config.manager
    functionUses: 0
    functionsReached:
    - traitlets.config.LoggingConfigurable.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - change
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 62
    functionName: jupyter_server.services.config.manager.ConfigManager._update_write_config_dir
    functionSourceFile: jupyter_server.services.config.manager
    functionUses: 0
    functionsReached:
    - traitlets.config.LoggingConfigurable.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: jupyter_server.config_manager
    functionSourceFile: jupyter_server.config_manager
    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: new.items
    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: target.pop
    functionSourceFile: <builtin>
    functionUses: 20
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 2
    IfCount: 4
    argCount: 2
    argDefaultValues: []
    argNames:
    - data
    - defaults
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 40
    functionName: jupyter_server.config_manager.remove_defaults
    functionSourceFile: jupyter_server.config_manager
    functionUses: 8
    functionsReached:
    - data.items
    - jupyter_server.config_manager.remove_defaults
    - <builtin>.list
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: data.items
    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: traitlets.traitlets.Unicode
    functionSourceFile: traitlets
    functionUses: 1
    functionsReached: []
    linkageType: 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: jupyter_server.config_manager.BaseJSONConfigManager
    functionSourceFile: jupyter_server.config_manager
    functionUses: 0
    functionsReached:
    - traitlets.traitlets.Unicode
    - traitlets.traitlets.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: traitlets.traitlets.Bool
    functionSourceFile: traitlets
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 63
    functionName: jupyter_server.config_manager.BaseJSONConfigManager.ensure_config_dir_exists
    functionSourceFile: jupyter_server.config_manager
    functionUses: 8
    functionsReached:
    - os.makedirs
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - section_name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 71
    functionName: jupyter_server.config_manager.BaseJSONConfigManager.file_name
    functionSourceFile: jupyter_server.config_manager
    functionUses: 19
    functionsReached:
    - os.path.join
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - section_name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 75
    functionName: jupyter_server.config_manager.BaseJSONConfigManager.directory
    functionSourceFile: jupyter_server.config_manager
    functionUses: 19
    functionsReached:
    - 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: copy.deepcopy
    functionSourceFile: copy
    functionUses: 8
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: jupyter_server.services.contents.manager
    functionSourceFile: jupyter_server.services.contents.manager
    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: 1
    functionLinenumber: -1
    functionName: jupyter_server.services.contents.manager.ContentsManager
    functionSourceFile: jupyter_server.services.contents.manager
    functionUses: 0
    functionsReached:
    - traitlets.List
    - traitlets.Instance.tag
    - traitlets.Instance
    - traitlets.Unicode
    - traitlets.Type
    - traitlets.validate
    - traitlets.default
    - traitlets.Bool
    - traitlets.Dict
    - traitlets.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: traitlets.Instance.tag
    functionSourceFile: traitlets
    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: 67
    functionName: jupyter_server.services.contents.manager.ContentsManager._default_event_logger
    functionSourceFile: jupyter_server.services.contents.manager
    functionUses: 0
    functionsReached:
    - <builtin>.hasattr
    - jupyter_events.EventLogger.register_event_schema
    - jupyter_events.EventLogger
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: jupyter_events.EventLogger
    functionSourceFile: jupyter_events
    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: jupyter_events.EventLogger.register_event_schema
    functionSourceFile: jupyter_events
    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
    - data
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 77
    functionName: jupyter_server.services.contents.manager.ContentsManager.emit
    functionSourceFile: jupyter_server.services.contents.manager
    functionUses: 26
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 0
    IfCount: 4
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - proposal
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 92
    functionName: jupyter_server.services.contents.manager.ContentsManager._validate_preferred_dir
    functionSourceFile: jupyter_server.services.contents.manager
    functionUses: 0
    functionsReached:
    - value.split
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.dir_exists
    - typing.NewType
    - os.path.join
    - jupyter_server.utils.to_os_path
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - inspect.iscoroutinefunction
    - jupyter_server.services.contents.manager.ContentsManager.dir_exists
    - os.path.abspath
    - os.lstat
    - os.path.splitdrive
    - os.path.isdir
    - path.strip
    - os.path.normpath
    - jupyter_core.utils.run_sync
    - <builtin>.str
    linkageType: pythonLinkage
    raised:
    - TraitError
    returnType: N/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: 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
    - path
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 378
    functionName: jupyter_server.services.contents.manager.ContentsManager.dir_exists
    functionSourceFile: ''
    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
    - path
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 1071
    functionName: jupyter_server.services.contents.filemanager.AsyncFileContentsManager.dir_exists
    functionSourceFile: jupyter_server.services.contents.filemanager
    functionUses: 13
    functionsReached:
    - typing.NewType
    - os.path.join
    - jupyter_server.utils.to_os_path
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - os.path.abspath
    - os.lstat
    - os.path.splitdrive
    - os.path.isdir
    - path.strip
    - os.path.normpath
    - <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: value.split
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 118
    functionName: jupyter_server.services.contents.manager.ContentsManager._notary_default
    functionSourceFile: jupyter_server.services.contents.manager
    functionUses: 0
    functionsReached:
    - nbformat.sign.NotebookNotary
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: nbformat.sign.NotebookNotary
    functionSourceFile: nbformat
    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:
    - self
    - proposal
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 178
    functionName: jupyter_server.services.contents.manager.ContentsManager._validate_pre_save_hook
    functionSourceFile: jupyter_server.services.contents.manager
    functionUses: 0
    functionsReached:
    - <builtin>.__import__
    - <builtin>.callable
    - traitlets.Any.rsplit
    - <builtin>.isinstance
    - jupyter_server.utils.import_item
    - warnings.warn
    - <builtin>.len
    - <builtin>.getattr
    linkageType: pythonLinkage
    raised:
    - TraitError
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 1
    IfCount: 3
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - proposal
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 214
    functionName: jupyter_server.services.contents.manager.ContentsManager._validate_post_save_hook
    functionSourceFile: jupyter_server.services.contents.manager
    functionUses: 0
    functionsReached:
    - <builtin>.__import__
    - <builtin>.callable
    - traitlets.Any.rsplit
    - <builtin>.isinstance
    - jupyter_server.utils.import_item
    - warnings.warn
    - <builtin>.len
    - <builtin>.getattr
    linkageType: pythonLinkage
    raised:
    - TraitError
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 5
    IfCount: 1
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - model
    - path
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 228
    functionName: jupyter_server.services.contents.manager.ContentsManager.run_pre_save_hook
    functionSourceFile: jupyter_server.services.contents.manager
    functionUses: 0
    functionsReached:
    - warnings.warn
    - traitlets.Any
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 5
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - model
    - os_path
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 248
    functionName: jupyter_server.services.contents.manager.ContentsManager.run_post_save_hook
    functionSourceFile: jupyter_server.services.contents.manager
    functionUses: 0
    functionsReached:
    - warnings.warn
    - traitlets.Any
    linkageType: pythonLinkage
    raised:
    - HTTPError
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - hook
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 267
    functionName: jupyter_server.services.contents.manager.ContentsManager.register_pre_save_hook
    functionSourceFile: jupyter_server.services.contents.manager
    functionUses: 0
    functionsReached:
    - <builtin>.__import__
    - <builtin>.len
    - <builtin>.callable
    - traitlets.Any.rsplit
    - <builtin>.isinstance
    - jupyter_server.utils.import_item
    - traitlets.config.configurable.LoggingConfigurable._pre_save_hooks.append
    - <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: 0
    functionLinenumber: -1
    functionName: traitlets.config.configurable.LoggingConfigurable._pre_save_hooks.append
    functionSourceFile: traitlets
    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
    - hook
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 276
    functionName: jupyter_server.services.contents.manager.ContentsManager.register_post_save_hook
    functionSourceFile: jupyter_server.services.contents.manager
    functionUses: 0
    functionsReached:
    - <builtin>.__import__
    - <builtin>.callable
    - traitlets.config.configurable.LoggingConfigurable._post_save_hooks.append
    - traitlets.Any.rsplit
    - <builtin>.isinstance
    - jupyter_server.utils.import_item
    - <builtin>.len
    - <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: 0
    functionLinenumber: -1
    functionName: traitlets.config.configurable.LoggingConfigurable._post_save_hooks.append
    functionSourceFile: traitlets
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 4
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - model
    - path
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 285
    functionName: jupyter_server.services.contents.manager.ContentsManager.run_pre_save_hooks
    functionSourceFile: jupyter_server.services.contents.manager
    functionUses: 11
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 4
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - model
    - os_path
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 307
    functionName: jupyter_server.services.contents.manager.ContentsManager.run_post_save_hooks
    functionSourceFile: jupyter_server.services.contents.manager
    functionUses: 11
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - HTTPError
    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: 329
    functionName: jupyter_server.services.contents.manager.ContentsManager._default_checkpoints
    functionSourceFile: jupyter_server.services.contents.manager
    functionUses: 0
    functionsReached:
    - traitlets.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: 333
    functionName: jupyter_server.services.contents.manager.ContentsManager._default_checkpoints_kwargs
    functionSourceFile: jupyter_server.services.contents.manager
    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: 365
    functionName: jupyter_server.services.contents.manager.ContentsManager.get_extra_handlers
    functionSourceFile: jupyter_server.services.contents.manager
    functionUses: 0
    functionsReached:
    - handlers.append
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - path
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 397
    functionName: jupyter_server.services.contents.manager.ContentsManager.is_hidden
    functionSourceFile: jupyter_server.services.contents.manager
    functionUses: 0
    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 0x7fc4aa16c2e0>
    argNames:
    - self
    - path
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 414
    functionName: jupyter_server.services.contents.manager.ContentsManager.file_exists
    functionSourceFile: jupyter_server.services.contents.manager
    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
    - path
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 433
    functionName: jupyter_server.services.contents.manager.ContentsManager.exists
    functionSourceFile: jupyter_server.services.contents.manager
    functionUses: 3
    functionsReached:
    - os.path.isfile
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.dir_exists
    - typing.NewType
    - os.path.join
    - jupyter_server.services.contents.manager.ContentsManager.file_exists
    - jupyter_server.utils.to_os_path
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - jupyter_server.services.contents.manager.ContentsManager.dir_exists
    - os.path.abspath
    - os.lstat
    - os.path.splitdrive
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.file_exists
    - os.path.isdir
    - path.strip
    - os.path.normpath
    - <builtin>.str
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - path
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 1077
    functionName: jupyter_server.services.contents.filemanager.AsyncFileContentsManager.file_exists
    functionSourceFile: jupyter_server.services.contents.filemanager
    functionUses: 9
    functionsReached:
    - os.path.isfile
    - typing.NewType
    - os.path.join
    - jupyter_server.utils.to_os_path
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - os.path.abspath
    - os.lstat
    - os.path.splitdrive
    - path.strip
    - os.path.normpath
    - <builtin>.str
    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 0x7fc4aa169c70>
    - <ast.Constant object at 0x7fc4aa169c40>
    - <ast.Constant object at 0x7fc4aa169c10>
    - <ast.Constant object at 0x7fc4aa169be0>
    argNames:
    - self
    - path
    - content
    - type
    - format
    - require_hash
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 450
    functionName: jupyter_server.services.contents.manager.ContentsManager.get
    functionSourceFile: jupyter_server.services.contents.manager
    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
    - model
    - path
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 462
    functionName: jupyter_server.services.contents.manager.ContentsManager.save
    functionSourceFile: jupyter_server.services.contents.manager
    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
    - path
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 472
    functionName: jupyter_server.services.contents.manager.ContentsManager.delete_file
    functionSourceFile: jupyter_server.services.contents.manager
    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
    - old_path
    - new_path
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 476
    functionName: jupyter_server.services.contents.manager.ContentsManager.rename_file
    functionSourceFile: jupyter_server.services.contents.manager
    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:
    - self
    - path
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 483
    functionName: jupyter_server.services.contents.manager.ContentsManager.delete
    functionSourceFile: jupyter_server.services.contents.manager
    functionUses: 0
    functionsReached:
    - typing.NewType
    - jupyter_server.services.contents.manager.ContentsManager.emit
    - jupyter_server.utils.to_os_path
    - jupyter_server.services.contents.filemanager.FileContentsManager.is_writable
    - os.lstat
    - <builtin>.len
    - os.path.normpath
    - os_path.startswith
    - os_path.strip
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.delete_file.is_non_empty_dir
    - os.path.splitdrive
    - path.strip
    - <builtin>.set
    - <builtin>.getattr
    - anyio.to_thread.run_sync
    - <builtin>.str
    - traitlets.Instance.delete_all_checkpoints
    - os.path.join
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.is_hidden
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - os.path.abspath
    - os.path.isdir
    - jupyter_server.services.contents.manager.ContentsManager.delete_file
    - jupyter_server.services.contents.fileio.FileManagerMixin.perm_to_403
    - jupyter_server.utils.to_api_path
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.delete_file
    - os.access
    - send2trash.send2trash
    - os.path.exists
    linkageType: pythonLinkage
    raised:
    - HTTPError
    returnType: N/A
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 11
    ICount: 7
    IfCount: 7
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - path
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 989
    functionName: jupyter_server.services.contents.filemanager.AsyncFileContentsManager.delete_file
    functionSourceFile: jupyter_server.services.contents.filemanager
    functionUses: 2
    functionsReached:
    - typing.NewType
    - jupyter_server.utils.to_os_path
    - jupyter_server.services.contents.filemanager.FileContentsManager.is_writable
    - os.lstat
    - <builtin>.len
    - os.path.normpath
    - os_path.startswith
    - os_path.strip
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.delete_file.is_non_empty_dir
    - os.path.splitdrive
    - path.strip
    - <builtin>.set
    - <builtin>.getattr
    - anyio.to_thread.run_sync
    - <builtin>.str
    - os.path.join
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.is_hidden
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - os.path.abspath
    - os.path.isdir
    - jupyter_server.services.contents.fileio.FileManagerMixin.perm_to_403
    - jupyter_server.utils.to_api_path
    - os.access
    - send2trash.send2trash
    - os.path.exists
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: traitlets.Instance.delete_all_checkpoints
    functionSourceFile: traitlets
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 4
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - old_path
    - new_path
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 492
    functionName: jupyter_server.services.contents.manager.ContentsManager.rename
    functionSourceFile: jupyter_server.services.contents.manager
    functionUses: 1
    functionsReached:
    - typing.NewType
    - jupyter_server.services.contents.manager.ContentsManager.emit
    - jupyter_server.utils.to_os_path
    - os.lstat
    - <builtin>.len
    - os.path.normpath
    - new_path.strip
    - os_path.startswith
    - os.path.samefile
    - os_path.strip
    - os.path.splitdrive
    - path.strip
    - anyio.to_thread.run_sync
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.rename_file
    - <builtin>.str
    - os.path.join
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.is_hidden
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - os.path.abspath
    - old_path.strip
    - jupyter_server.services.contents.fileio.FileManagerMixin.perm_to_403
    - path.lower
    - jupyter_server.utils.to_api_path
    - traitlets.Instance.rename_all_checkpoints
    - os.stat
    - os.path.exists
    - jupyter_server.utils.samefile_simple
    - other_path.lower
    - jupyter_server.services.contents.manager.ContentsManager.rename_file
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 2
    IfCount: 3
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - old_path
    - new_path
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 1043
    functionName: jupyter_server.services.contents.filemanager.AsyncFileContentsManager.rename_file
    functionSourceFile: jupyter_server.services.contents.filemanager
    functionUses: 4
    functionsReached:
    - typing.NewType
    - jupyter_server.utils.to_os_path
    - os.lstat
    - <builtin>.len
    - os.path.normpath
    - new_path.strip
    - os_path.startswith
    - os.path.samefile
    - os_path.strip
    - os.path.splitdrive
    - path.strip
    - anyio.to_thread.run_sync
    - <builtin>.str
    - os.path.join
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.is_hidden
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - os.path.abspath
    - old_path.strip
    - jupyter_server.services.contents.fileio.FileManagerMixin.perm_to_403
    - path.lower
    - jupyter_server.utils.to_api_path
    - os.stat
    - os.path.exists
    - jupyter_server.utils.samefile_simple
    - other_path.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: traitlets.Instance.rename_all_checkpoints
    functionSourceFile: traitlets
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - model
    - path
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 498
    functionName: jupyter_server.services.contents.manager.ContentsManager.update
    functionSourceFile: jupyter_server.services.contents.manager
    functionUses: 0
    functionsReached:
    - os.lstat
    - jupyter_server.services.contents.filemanager.FileContentsManager.exists
    - nbformat.validate
    - jupyter_server.services.contents.manager.ContentsManager.rename
    - jupyter_server.services.contents.fileio.AsyncFileManagerMixin._read_notebook
    - validation_error.get
    - os.path.samefile
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._notebook_model
    - path.strip
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.is_hidden
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.get
    - old_path.strip
    - stat.S_ISDIR
    - model.update
    - h.update
    - jupyter_server.services.contents.fileio.FileManagerMixin.perm_to_403
    - os.path.isfile
    - jupyter_server.services.contents.manager.ContentsManager.should_list
    - jupyter_core.paths.is_file_hidden
    - os.stat
    - <builtin>.any
    - jupyter_server.services.contents.fileio.async_replace_file
    - <builtin>.len
    - jupyter_server.services.contents.filemanager.FileContentsManager.is_hidden
    - jupyter_server.services.contents.fileio.FileManagerMixin.open
    - stat.S_ISLNK
    - os_path.startswith
    - new_path.strip
    - h.hexdigest
    - os_path.strip
    - os.path.splitdrive
    - <builtin>.str
    - os.path.abspath
    - <builtin>.isinstance
    - os.path.isdir
    - jupyter_server.services.contents.manager.ContentsManager.mark_trusted_cells
    - path.endswith
    - traitlets.Instance.rename_all_checkpoints
    - os.access
    - functools.partial
    - path.rsplit
    - typing.NewType
    - datetime.datetime.fromtimestamp
    - jupyter_server.services.contents.filemanager.FileContentsManager._base_model
    - jupyter_server.services.contents.filemanager.FileContentsManager.is_writable
    - traitlets.Instance.mark_cells
    - datetime.datetime
    - jupyter_server._tz.utcfromtimestamp
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._file_model
    - jupyter_server.services.contents.manager.ContentsManager.validate_notebook_model
    - anyio.to_thread.run_sync
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._dir_model
    - json.dumps
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - jupyter_server.utils.to_api_path
    - base64.encodebytes
    - os.path.exists
    - jupyter_server.services.contents.manager.ContentsManager.rename_file
    - base64.encodebytes.decode
    - traitlets.Instance.check_signature
    - jupyter_server.services.contents.manager.ContentsManager.emit
    - jupyter_server.utils.to_os_path
    - os.path.normpath
    - fnmatch.fnmatch
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_hash
    - hashlib.new
    - jupyter_server.services.contents.fileio.path_to_intermediate
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.rename_file
    - os.path.join
    - jupyter_server.services.contents.fileio.path_to_invalid
    - os.path.split
    - path.lower
    - model.get
    - mimetypes.guess_type
    - contents.append
    - jupyter_server.services.contents.manager.ContentsManager.get
    - jupyter_server.services.contents.fileio.AsyncFileManagerMixin._read_file
    - bcontent.decode
    - jupyter_server.utils.samefile_simple
    - other_path.lower
    - stat.S_ISREG
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.get
    functionSourceFile: <builtin>
    functionUses: 13
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 2
    IfCount: 5
    argCount: 6
    argDefaultValues:
    - <ast.Constant object at 0x7fc4ad781760>
    - <ast.Constant object at 0x7fc4ad781730>
    - <ast.Constant object at 0x7fc4ad781700>
    - <ast.Constant object at 0x7fc4ad7816d0>
    argNames:
    - self
    - path
    - content
    - type
    - format
    - require_hash
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 7
    functionLinenumber: 879
    functionName: jupyter_server.services.contents.filemanager.AsyncFileContentsManager.get
    functionSourceFile: jupyter_server.services.contents.filemanager
    functionUses: 21
    functionsReached:
    - <builtin>.any
    - base64.encodebytes.decode
    - typing.NewType
    - traitlets.Instance.check_signature
    - jupyter_server.services.contents.manager.ContentsManager.emit
    - jupyter_server.utils.to_os_path
    - datetime.datetime.fromtimestamp
    - jupyter_server.services.contents.filemanager.FileContentsManager._base_model
    - os.lstat
    - jupyter_server.services.contents.filemanager.FileContentsManager.is_writable
    - jupyter_server.services.contents.fileio.async_replace_file
    - jupyter_server.services.contents.filemanager.FileContentsManager.exists
    - nbformat.validate
    - <builtin>.len
    - os.path.normpath
    - jupyter_server.services.contents.fileio.AsyncFileManagerMixin._read_notebook
    - traitlets.Instance.mark_cells
    - datetime.datetime
    - jupyter_server.services.contents.fileio.FileManagerMixin.open
    - jupyter_server.services.contents.filemanager.FileContentsManager.is_hidden
    - fnmatch.fnmatch
    - stat.S_ISLNK
    - jupyter_server._tz.utcfromtimestamp
    - jupyter_server.services.contents.fileio.path_to_intermediate
    - validation_error.get
    - os_path.startswith
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_hash
    - h.hexdigest
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._file_model
    - os_path.strip
    - hashlib.new
    - os.path.splitdrive
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._notebook_model
    - path.strip
    - jupyter_server.services.contents.manager.ContentsManager.validate_notebook_model
    - anyio.to_thread.run_sync
    - <builtin>.str
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._dir_model
    - os.path.join
    - json.dumps
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.is_hidden
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.get
    - os.path.abspath
    - <builtin>.isinstance
    - jupyter_server.services.contents.fileio.path_to_invalid
    - os.path.isdir
    - stat.S_ISDIR
    - model.update
    - jupyter_server.services.contents.manager.ContentsManager.mark_trusted_cells
    - path.endswith
    - os.path.split
    - jupyter_server.services.contents.fileio.FileManagerMixin.perm_to_403
    - h.update
    - os.path.isfile
    - jupyter_server.utils.to_api_path
    - mimetypes.guess_type
    - contents.append
    - base64.encodebytes
    - jupyter_server.services.contents.manager.ContentsManager.should_list
    - os.access
    - jupyter_core.paths.is_file_hidden
    - jupyter_server.services.contents.fileio.AsyncFileManagerMixin._read_file
    - os.path.exists
    - bcontent.decode
    - functools.partial
    - path.rsplit
    - stat.S_ISREG
    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: 511
    functionName: jupyter_server.services.contents.manager.ContentsManager.info_string
    functionSourceFile: jupyter_server.services.contents.manager
    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 0x7fc4aa15fa00>
    argNames:
    - self
    - path
    - model
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 515
    functionName: jupyter_server.services.contents.manager.ContentsManager.get_kernel_path
    functionSourceFile: jupyter_server.services.contents.manager
    functionUses: 0
    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 0x7fc4aa15f790>
    - <ast.Constant object at 0x7fc4aa15f760>
    argNames:
    - self
    - filename
    - path
    - insert
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 527
    functionName: jupyter_server.services.contents.manager.ContentsManager.increment_filename
    functionSourceFile: jupyter_server.services.contents.manager
    functionUses: 2
    functionsReached:
    - typing.NewType
    - jupyter_server.utils.to_os_path
    - os.lstat
    - os.path.normpath
    - traitlets.Unicode.partition
    - jupyter_server.services.contents.manager.ContentsManager.dir_exists
    - os.path.splitdrive
    - path.strip
    - <builtin>.str
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.dir_exists
    - os.path.join
    - jupyter_server.services.contents.manager.ContentsManager.file_exists
    - traitlets.Unicode.rpartition
    - jupyter_server.services.contents.manager.ContentsManager.exists
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - os.path.abspath
    - os.path.isdir
    - itertools.count
    - os.path.isfile
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.file_exists
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: traitlets.Unicode.rpartition
    functionSourceFile: traitlets
    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: traitlets.Unicode.partition
    functionSourceFile: traitlets
    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: itertools.count
    functionSourceFile: itertools
    functionUses: 7
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    IfCount: 2
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7fc4aa13f730>
    argNames:
    - self
    - model
    - validation_error
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 559
    functionName: jupyter_server.services.contents.manager.ContentsManager.validate_notebook_model
    functionSourceFile: jupyter_server.services.contents.manager
    functionUses: 24
    functionsReached:
    - validation_error.get
    - json.dumps
    - <builtin>.isinstance
    - nbformat.validate
    - <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: validation_error.get
    functionSourceFile: <builtin>
    functionUses: 25
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: nbformat.validate
    functionSourceFile: nbformat
    functionUses: 25
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: jupyter_server.services.contents.manager.ContentsManager.validate_notebook_model.<lambda1>
    functionSourceFile: jupyter_server.services.contents.manager
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 9
    ICount: 3
    IfCount: 6
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7fc4aa13db50>
    - <ast.Constant object at 0x7fc4aa13db20>
    - <ast.Constant object at 0x7fc4aa13daf0>
    argNames:
    - self
    - path
    - type
    - ext
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 8
    functionLinenumber: 580
    functionName: jupyter_server.services.contents.manager.ContentsManager.new_untitled
    functionSourceFile: jupyter_server.services.contents.manager
    functionUses: 0
    functionsReached:
    - os.path.islink
    - jupyter_server.services.contents.manager.ContentsManager.increment_filename
    - os.lstat
    - jupyter_server.services.contents.filemanager.FileContentsManager.exists
    - nbformat.validate
    - jupyter_server.services.contents.fileio.AsyncFileManagerMixin._read_notebook
    - validation_error.get
    - <builtin>.super
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._notebook_model
    - path.strip
    - jupyter_server.services.contents.manager.AsyncContentsManager.create_checkpoint
    - jupyter_server.services.contents.manager.ContentsManager.file_exists
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.is_hidden
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.get
    - model.setdefault
    - stat.S_ISDIR
    - model.update
    - h.update
    - jupyter_server.services.contents.fileio.FileManagerMixin.perm_to_403
    - os.path.isfile
    - jupyter_server.services.contents.manager.ContentsManager.should_list
    - jupyter_core.paths.is_file_hidden
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.file_exists
    - <builtin>.any
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._save_directory
    - jupyter_server.services.contents.fileio._simple_writing
    - kwargs.setdefault
    - jupyter_server.services.contents.fileio.async_replace_file
    - <builtin>.len
    - jupyter_server.services.contents.filemanager.FileContentsManager.is_hidden
    - jupyter_server.services.contents.fileio.FileManagerMixin.open
    - stat.S_ISLNK
    - traitlets.Instance.create_checkpoint
    - traitlets.Instance.check_cells
    - os_path.startswith
    - h.hexdigest
    - traitlets.Unicode.partition
    - os_path.strip
    - os.path.splitdrive
    - <builtin>.open
    - <builtin>.str
    - os.path.abspath
    - <builtin>.isinstance
    - os.path.isdir
    - jupyter_server.services.contents.manager.ContentsManager.mark_trusted_cells
    - itertools.count
    - jupyter_server.services.contents.manager.ContentsManager.new
    - path.endswith
    - jupyter_server.services.contents.manager.ContentsManager.check_and_sign
    - fileobj.close
    - os.access
    - functools.partial
    - path.rsplit
    - jupyter_server.services.contents.fileio.AsyncFileManagerMixin._save_notebook
    - typing.NewType
    - datetime.datetime.fromtimestamp
    - nbformat.v4.new_notebook
    - jupyter_server.services.contents.filemanager.FileContentsManager._base_model
    - base64.b64decode
    - jupyter_server.services.contents.filemanager.FileContentsManager.is_writable
    - traitlets.Instance.mark_cells
    - datetime.datetime
    - traitlets.Instance.sign
    - jupyter_server._tz.utcfromtimestamp
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._file_model
    - base64.decodebytes
    - jupyter_server.services.contents.largefilemanager.AsyncLargeFileManager._save_large_file
    - jupyter_server.services.contents.manager.ContentsManager.validate_notebook_model
    - anyio.to_thread.run_sync
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._dir_model
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.dir_exists
    - json.dumps
    - traitlets.Unicode.rpartition
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - jupyter_server.services.contents.manager.ContentsManager.run_post_save_hooks
    - jupyter_server.services.contents.fileio.FileManagerMixin.atomic_writing
    - jupyter_server.services.contents.fileio.AsyncFileManagerMixin._save_file
    - jupyter_server.utils.to_api_path
    - traitlets.Instance.list_checkpoints
    - base64.encodebytes
    - os.path.exists
    - os.path.dirname
    - nbformat.v4.new_notebook.encode
    - base64.encodebytes.decode
    - traitlets.Instance.check_signature
    - jupyter_server.services.contents.manager.ContentsManager.run_pre_save_hooks
    - jupyter_server.services.contents.manager.ContentsManager.emit
    - jupyter_server.utils.to_os_path
    - os.path.normpath
    - os.readlink
    - fnmatch.fnmatch
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_hash
    - hashlib.new
    - jupyter_server.services.contents.fileio.path_to_intermediate
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.save
    - jupyter_server.services.contents.manager.ContentsManager.dir_exists
    - os.path.join
    - jupyter_server.services.contents.manager.ContentsManager.exists
    - jupyter_server.services.contents.largefilemanager.AsyncLargeFileManager.save
    - jupyter_server.services.contents.fileio.path_to_invalid
    - os.path.split
    - jupyter_server.services.contents.manager.ContentsManager.save
    - model.get
    - mimetypes.guess_type
    - contents.append
    - nbformat.from_dict
    - jupyter_server.services.contents.fileio.AsyncFileManagerMixin._read_file
    - bcontent.decode
    - stat.S_ISREG
    linkageType: pythonLinkage
    raised:
    - HTTPError
    returnType: N/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.setdefault
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 3
    IfCount: 4
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7fc4aa13a220>
    - <ast.Constant object at 0x7fc4aa13a1f0>
    argNames:
    - self
    - model
    - path
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 7
    functionLinenumber: 618
    functionName: jupyter_server.services.contents.manager.ContentsManager.new
    functionSourceFile: jupyter_server.services.contents.manager
    functionUses: 1
    functionsReached:
    - os.path.islink
    - os.lstat
    - jupyter_server.services.contents.filemanager.FileContentsManager.exists
    - nbformat.validate
    - jupyter_server.services.contents.fileio.AsyncFileManagerMixin._read_notebook
    - validation_error.get
    - <builtin>.super
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._notebook_model
    - path.strip
    - jupyter_server.services.contents.manager.AsyncContentsManager.create_checkpoint
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.is_hidden
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.get
    - model.setdefault
    - stat.S_ISDIR
    - model.update
    - h.update
    - jupyter_server.services.contents.fileio.FileManagerMixin.perm_to_403
    - os.path.isfile
    - jupyter_server.services.contents.manager.ContentsManager.should_list
    - jupyter_core.paths.is_file_hidden
    - <builtin>.any
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._save_directory
    - jupyter_server.services.contents.fileio._simple_writing
    - kwargs.setdefault
    - jupyter_server.services.contents.fileio.async_replace_file
    - <builtin>.len
    - jupyter_server.services.contents.filemanager.FileContentsManager.is_hidden
    - jupyter_server.services.contents.fileio.FileManagerMixin.open
    - stat.S_ISLNK
    - traitlets.Instance.create_checkpoint
    - traitlets.Instance.check_cells
    - os_path.startswith
    - h.hexdigest
    - os_path.strip
    - os.path.splitdrive
    - <builtin>.open
    - <builtin>.str
    - os.path.abspath
    - <builtin>.isinstance
    - os.path.isdir
    - jupyter_server.services.contents.manager.ContentsManager.mark_trusted_cells
    - path.endswith
    - jupyter_server.services.contents.manager.ContentsManager.check_and_sign
    - fileobj.close
    - os.access
    - functools.partial
    - path.rsplit
    - jupyter_server.services.contents.fileio.AsyncFileManagerMixin._save_notebook
    - typing.NewType
    - datetime.datetime.fromtimestamp
    - nbformat.v4.new_notebook
    - jupyter_server.services.contents.filemanager.FileContentsManager._base_model
    - base64.b64decode
    - jupyter_server.services.contents.filemanager.FileContentsManager.is_writable
    - traitlets.Instance.mark_cells
    - datetime.datetime
    - traitlets.Instance.sign
    - jupyter_server._tz.utcfromtimestamp
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._file_model
    - base64.decodebytes
    - jupyter_server.services.contents.largefilemanager.AsyncLargeFileManager._save_large_file
    - jupyter_server.services.contents.manager.ContentsManager.validate_notebook_model
    - anyio.to_thread.run_sync
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._dir_model
    - json.dumps
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - jupyter_server.services.contents.manager.ContentsManager.run_post_save_hooks
    - jupyter_server.services.contents.fileio.FileManagerMixin.atomic_writing
    - jupyter_server.services.contents.fileio.AsyncFileManagerMixin._save_file
    - jupyter_server.utils.to_api_path
    - traitlets.Instance.list_checkpoints
    - base64.encodebytes
    - os.path.exists
    - os.path.dirname
    - nbformat.v4.new_notebook.encode
    - base64.encodebytes.decode
    - traitlets.Instance.check_signature
    - jupyter_server.services.contents.manager.ContentsManager.run_pre_save_hooks
    - jupyter_server.services.contents.manager.ContentsManager.emit
    - jupyter_server.utils.to_os_path
    - os.path.normpath
    - os.readlink
    - fnmatch.fnmatch
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_hash
    - hashlib.new
    - jupyter_server.services.contents.fileio.path_to_intermediate
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.save
    - os.path.join
    - jupyter_server.services.contents.largefilemanager.AsyncLargeFileManager.save
    - jupyter_server.services.contents.fileio.path_to_invalid
    - os.path.split
    - jupyter_server.services.contents.manager.ContentsManager.save
    - model.get
    - mimetypes.guess_type
    - contents.append
    - nbformat.from_dict
    - jupyter_server.services.contents.fileio.AsyncFileManagerMixin._read_file
    - bcontent.decode
    - stat.S_ISREG
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: 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: nbformat.v4.new_notebook
    functionSourceFile: nbformat
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 12
    ICount: 12
    IfCount: 8
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7fc4ad76a190>
    argNames:
    - self
    - model
    - path
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 940
    functionName: jupyter_server.services.contents.filemanager.AsyncFileContentsManager.save
    functionSourceFile: jupyter_server.services.contents.filemanager
    functionUses: 7
    functionsReached:
    - os.path.islink
    - os.lstat
    - jupyter_server.services.contents.filemanager.FileContentsManager.exists
    - nbformat.validate
    - jupyter_server.services.contents.fileio.AsyncFileManagerMixin._read_notebook
    - validation_error.get
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._notebook_model
    - path.strip
    - jupyter_server.services.contents.manager.AsyncContentsManager.create_checkpoint
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.is_hidden
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.get
    - stat.S_ISDIR
    - model.update
    - h.update
    - jupyter_server.services.contents.fileio.FileManagerMixin.perm_to_403
    - os.path.isfile
    - jupyter_server.services.contents.manager.ContentsManager.should_list
    - jupyter_core.paths.is_file_hidden
    - <builtin>.any
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._save_directory
    - jupyter_server.services.contents.fileio._simple_writing
    - kwargs.setdefault
    - jupyter_server.services.contents.fileio.async_replace_file
    - <builtin>.len
    - jupyter_server.services.contents.filemanager.FileContentsManager.is_hidden
    - jupyter_server.services.contents.fileio.FileManagerMixin.open
    - stat.S_ISLNK
    - traitlets.Instance.create_checkpoint
    - traitlets.Instance.check_cells
    - os_path.startswith
    - h.hexdigest
    - os_path.strip
    - os.path.splitdrive
    - <builtin>.open
    - <builtin>.str
    - os.path.abspath
    - <builtin>.isinstance
    - os.path.isdir
    - jupyter_server.services.contents.manager.ContentsManager.mark_trusted_cells
    - path.endswith
    - jupyter_server.services.contents.manager.ContentsManager.check_and_sign
    - os.access
    - fileobj.close
    - functools.partial
    - path.rsplit
    - jupyter_server.services.contents.fileio.AsyncFileManagerMixin._save_notebook
    - typing.NewType
    - datetime.datetime.fromtimestamp
    - jupyter_server.services.contents.filemanager.FileContentsManager._base_model
    - jupyter_server.services.contents.filemanager.FileContentsManager.is_writable
    - traitlets.Instance.mark_cells
    - datetime.datetime
    - traitlets.Instance.sign
    - jupyter_server._tz.utcfromtimestamp
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._file_model
    - base64.decodebytes
    - jupyter_server.services.contents.manager.ContentsManager.validate_notebook_model
    - anyio.to_thread.run_sync
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._dir_model
    - json.dumps
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - jupyter_server.services.contents.manager.ContentsManager.run_post_save_hooks
    - jupyter_server.services.contents.fileio.FileManagerMixin.atomic_writing
    - jupyter_server.services.contents.fileio.AsyncFileManagerMixin._save_file
    - jupyter_server.utils.to_api_path
    - traitlets.Instance.list_checkpoints
    - base64.encodebytes
    - os.path.exists
    - os.path.dirname
    - nbformat.v4.new_notebook.encode
    - base64.encodebytes.decode
    - traitlets.Instance.check_signature
    - jupyter_server.services.contents.manager.ContentsManager.run_pre_save_hooks
    - jupyter_server.services.contents.manager.ContentsManager.emit
    - jupyter_server.utils.to_os_path
    - os.path.normpath
    - os.readlink
    - fnmatch.fnmatch
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_hash
    - hashlib.new
    - jupyter_server.services.contents.fileio.path_to_intermediate
    - os.path.join
    - jupyter_server.services.contents.fileio.path_to_invalid
    - os.path.split
    - model.get
    - mimetypes.guess_type
    - contents.append
    - nbformat.from_dict
    - jupyter_server.services.contents.fileio.AsyncFileManagerMixin._read_file
    - bcontent.decode
    - stat.S_ISREG
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 12
    ICount: 9
    IfCount: 8
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7fc4aba09370>
    argNames:
    - self
    - model
    - path
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 88
    functionName: jupyter_server.services.contents.largefilemanager.AsyncLargeFileManager.save
    functionSourceFile: jupyter_server.services.contents.largefilemanager
    functionUses: 7
    functionsReached:
    - os.path.islink
    - os.lstat
    - jupyter_server.services.contents.filemanager.FileContentsManager.exists
    - nbformat.validate
    - jupyter_server.services.contents.fileio.AsyncFileManagerMixin._read_notebook
    - validation_error.get
    - <builtin>.super
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._notebook_model
    - path.strip
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.is_hidden
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.get
    - stat.S_ISDIR
    - model.update
    - h.update
    - jupyter_server.services.contents.fileio.FileManagerMixin.perm_to_403
    - os.path.isfile
    - jupyter_server.services.contents.manager.ContentsManager.should_list
    - jupyter_core.paths.is_file_hidden
    - <builtin>.any
    - jupyter_server.services.contents.fileio.async_replace_file
    - <builtin>.len
    - jupyter_server.services.contents.filemanager.FileContentsManager.is_hidden
    - jupyter_server.services.contents.fileio.FileManagerMixin.open
    - stat.S_ISLNK
    - os_path.startswith
    - h.hexdigest
    - os_path.strip
    - os.path.splitdrive
    - <builtin>.open
    - <builtin>.str
    - os.path.abspath
    - <builtin>.isinstance
    - os.path.isdir
    - jupyter_server.services.contents.manager.ContentsManager.mark_trusted_cells
    - path.endswith
    - os.access
    - functools.partial
    - path.rsplit
    - typing.NewType
    - datetime.datetime.fromtimestamp
    - jupyter_server.services.contents.filemanager.FileContentsManager._base_model
    - base64.b64decode
    - jupyter_server.services.contents.filemanager.FileContentsManager.is_writable
    - traitlets.Instance.mark_cells
    - datetime.datetime
    - jupyter_server._tz.utcfromtimestamp
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._file_model
    - jupyter_server.services.contents.largefilemanager.AsyncLargeFileManager._save_large_file
    - jupyter_server.services.contents.manager.ContentsManager.validate_notebook_model
    - anyio.to_thread.run_sync
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._dir_model
    - json.dumps
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - jupyter_server.services.contents.manager.ContentsManager.run_post_save_hooks
    - jupyter_server.utils.to_api_path
    - base64.encodebytes
    - os.path.exists
    - os.path.dirname
    - nbformat.v4.new_notebook.encode
    - base64.encodebytes.decode
    - traitlets.Instance.check_signature
    - jupyter_server.services.contents.manager.ContentsManager.run_pre_save_hooks
    - jupyter_server.services.contents.manager.ContentsManager.emit
    - jupyter_server.utils.to_os_path
    - os.path.normpath
    - os.readlink
    - fnmatch.fnmatch
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_hash
    - hashlib.new
    - jupyter_server.services.contents.fileio.path_to_intermediate
    - os.path.join
    - jupyter_server.services.contents.fileio.path_to_invalid
    - os.path.split
    - model.get
    - mimetypes.guess_type
    - contents.append
    - jupyter_server.services.contents.fileio.AsyncFileManagerMixin._read_file
    - bcontent.decode
    - stat.S_ISREG
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 12
    ICount: 4
    IfCount: 8
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7fc4aa137040>
    argNames:
    - self
    - from_path
    - to_path
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 8
    functionLinenumber: 645
    functionName: jupyter_server.services.contents.manager.ContentsManager.copy
    functionSourceFile: jupyter_server.services.contents.manager
    functionUses: 0
    functionsReached:
    - os.path.islink
    - jupyter_server.services.contents.manager.ContentsManager.increment_filename
    - os.lstat
    - jupyter_server.services.contents.filemanager.FileContentsManager.exists
    - nbformat.validate
    - jupyter_server.services.contents.fileio.AsyncFileManagerMixin._read_notebook
    - validation_error.get
    - <builtin>.super
    - copy_pat.sub
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._notebook_model
    - path.strip
    - jupyter_server.services.contents.manager.AsyncContentsManager.create_checkpoint
    - jupyter_server.services.contents.manager.ContentsManager.file_exists
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.is_hidden
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.get
    - from_path.strip
    - stat.S_ISDIR
    - model.update
    - h.update
    - jupyter_server.services.contents.fileio.FileManagerMixin.perm_to_403
    - os.path.isfile
    - jupyter_server.services.contents.manager.ContentsManager.should_list
    - jupyter_core.paths.is_file_hidden
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.file_exists
    - <builtin>.any
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._save_directory
    - jupyter_server.services.contents.fileio._simple_writing
    - kwargs.setdefault
    - jupyter_server.services.contents.fileio.async_replace_file
    - <builtin>.len
    - jupyter_server.services.contents.filemanager.FileContentsManager.is_hidden
    - jupyter_server.services.contents.fileio.FileManagerMixin.open
    - stat.S_ISLNK
    - traitlets.Instance.create_checkpoint
    - traitlets.Instance.check_cells
    - os_path.startswith
    - h.hexdigest
    - to_path.strip
    - os_path.strip
    - traitlets.Unicode.partition
    - os.path.splitdrive
    - <builtin>.open
    - <builtin>.str
    - os.path.abspath
    - <builtin>.isinstance
    - os.path.isdir
    - jupyter_server.services.contents.manager.ContentsManager.mark_trusted_cells
    - itertools.count
    - path.endswith
    - to_path.rsplit
    - jupyter_server.services.contents.manager.ContentsManager.check_and_sign
    - fileobj.close
    - os.access
    - functools.partial
    - path.rsplit
    - jupyter_server.services.contents.fileio.AsyncFileManagerMixin._save_notebook
    - typing.NewType
    - datetime.datetime.fromtimestamp
    - jupyter_server.services.contents.filemanager.FileContentsManager._base_model
    - base64.b64decode
    - jupyter_server.services.contents.filemanager.FileContentsManager.is_writable
    - model.pop
    - traitlets.Instance.mark_cells
    - datetime.datetime
    - traitlets.Instance.sign
    - jupyter_server._tz.utcfromtimestamp
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._file_model
    - base64.decodebytes
    - jupyter_server.services.contents.largefilemanager.AsyncLargeFileManager._save_large_file
    - jupyter_server.services.contents.manager.ContentsManager.validate_notebook_model
    - anyio.to_thread.run_sync
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._dir_model
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.dir_exists
    - json.dumps
    - traitlets.Unicode.rpartition
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - jupyter_server.services.contents.manager.ContentsManager.run_post_save_hooks
    - jupyter_server.services.contents.fileio.FileManagerMixin.atomic_writing
    - jupyter_server.services.contents.fileio.AsyncFileManagerMixin._save_file
    - jupyter_server.utils.to_api_path
    - traitlets.Instance.list_checkpoints
    - base64.encodebytes
    - os.path.exists
    - os.path.dirname
    - nbformat.v4.new_notebook.encode
    - base64.encodebytes.decode
    - traitlets.Instance.check_signature
    - jupyter_server.services.contents.manager.ContentsManager.run_pre_save_hooks
    - jupyter_server.services.contents.manager.ContentsManager.emit
    - jupyter_server.utils.to_os_path
    - os.path.normpath
    - os.readlink
    - fnmatch.fnmatch
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_hash
    - hashlib.new
    - jupyter_server.services.contents.fileio.path_to_intermediate
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.save
    - jupyter_server.services.contents.manager.ContentsManager.dir_exists
    - os.path.join
    - jupyter_server.services.contents.manager.ContentsManager.exists
    - jupyter_server.services.contents.largefilemanager.AsyncLargeFileManager.save
    - jupyter_server.services.contents.fileio.path_to_invalid
    - os.path.split
    - jupyter_server.services.contents.manager.ContentsManager.save
    - model.get
    - mimetypes.guess_type
    - contents.append
    - jupyter_server.services.contents.manager.ContentsManager.get
    - nbformat.from_dict
    - jupyter_server.services.contents.fileio.AsyncFileManagerMixin._read_file
    - bcontent.decode
    - stat.S_ISREG
    linkageType: pythonLinkage
    raised:
    - HTTPError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: from_path.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: to_path.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: model.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: copy_pat.sub
    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: to_path.rsplit
    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:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 691
    functionName: jupyter_server.services.contents.manager.ContentsManager.log_info
    functionSourceFile: jupyter_server.services.contents.manager
    functionUses: 0
    functionsReached:
    - jupyter_server.services.contents.manager.ContentsManager.info_string
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 4
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - path
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 8
    functionLinenumber: 695
    functionName: jupyter_server.services.contents.manager.ContentsManager.trust_notebook
    functionSourceFile: jupyter_server.services.contents.manager
    functionUses: 0
    functionsReached:
    - <builtin>.any
    - base64.encodebytes.decode
    - typing.NewType
    - traitlets.Instance.check_signature
    - jupyter_server.services.contents.manager.ContentsManager.emit
    - jupyter_server.utils.to_os_path
    - datetime.datetime.fromtimestamp
    - jupyter_server.services.contents.filemanager.FileContentsManager._base_model
    - os.lstat
    - jupyter_server.services.contents.filemanager.FileContentsManager.is_writable
    - jupyter_server.services.contents.fileio.async_replace_file
    - jupyter_server.services.contents.filemanager.FileContentsManager.exists
    - nbformat.validate
    - <builtin>.len
    - os.path.normpath
    - jupyter_server.services.contents.fileio.AsyncFileManagerMixin._read_notebook
    - traitlets.Instance.mark_cells
    - datetime.datetime
    - jupyter_server.services.contents.filemanager.FileContentsManager.is_hidden
    - jupyter_server.services.contents.fileio.FileManagerMixin.open
    - fnmatch.fnmatch
    - stat.S_ISLNK
    - jupyter_server._tz.utcfromtimestamp
    - traitlets.Instance.check_cells
    - jupyter_server.services.contents.fileio.path_to_intermediate
    - validation_error.get
    - os_path.startswith
    - traitlets.Instance.sign
    - h.hexdigest
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._file_model
    - os_path.strip
    - hashlib.new
    - os.path.splitdrive
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._notebook_model
    - path.strip
    - jupyter_server.services.contents.manager.ContentsManager.validate_notebook_model
    - anyio.to_thread.run_sync
    - <builtin>.str
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._dir_model
    - os.path.join
    - json.dumps
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.is_hidden
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.get
    - os.path.abspath
    - <builtin>.isinstance
    - jupyter_server.services.contents.fileio.path_to_invalid
    - os.path.isdir
    - stat.S_ISDIR
    - model.update
    - jupyter_server.services.contents.manager.ContentsManager.mark_trusted_cells
    - path.endswith
    - os.path.split
    - jupyter_server.services.contents.fileio.FileManagerMixin.perm_to_403
    - h.update
    - os.path.isfile
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_hash
    - jupyter_server.utils.to_api_path
    - mimetypes.guess_type
    - contents.append
    - jupyter_server.services.contents.manager.ContentsManager.get
    - jupyter_server.services.contents.manager.ContentsManager.check_and_sign
    - base64.encodebytes
    - jupyter_server.services.contents.manager.ContentsManager.should_list
    - os.access
    - jupyter_core.paths.is_file_hidden
    - jupyter_server.services.contents.fileio.AsyncFileManagerMixin._read_file
    - os.path.exists
    - bcontent.decode
    - functools.partial
    - path.rsplit
    - stat.S_ISREG
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: traitlets.Instance.mark_cells
    functionSourceFile: traitlets
    functionUses: 25
    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 0x7fc4aa12e430>
    argNames:
    - self
    - nb
    - path
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 709
    functionName: jupyter_server.services.contents.manager.ContentsManager.check_and_sign
    functionSourceFile: jupyter_server.services.contents.manager
    functionUses: 11
    functionsReached:
    - traitlets.Instance.check_cells
    - traitlets.Instance.sign
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: traitlets.Instance.check_cells
    functionSourceFile: traitlets
    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: traitlets.Instance.sign
    functionSourceFile: traitlets
    functionUses: 12
    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 0x7fc4aa12be50>
    argNames:
    - self
    - nb
    - path
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 726
    functionName: jupyter_server.services.contents.manager.ContentsManager.mark_trusted_cells
    functionSourceFile: jupyter_server.services.contents.manager
    functionUses: 24
    functionsReached:
    - traitlets.Instance.check_signature
    - traitlets.Instance.mark_cells
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: traitlets.Instance.check_signature
    functionSourceFile: traitlets
    functionUses: 25
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 743
    functionName: jupyter_server.services.contents.manager.ContentsManager.should_list
    functionSourceFile: jupyter_server.services.contents.manager
    functionUses: 22
    functionsReached:
    - <builtin>.any
    - 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: 23
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - path
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 748
    functionName: jupyter_server.services.contents.manager.ContentsManager.create_checkpoint
    functionSourceFile: jupyter_server.services.contents.manager
    functionUses: 1
    functionsReached:
    - traitlets.Instance.create_checkpoint
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: traitlets.Instance.create_checkpoint
    functionSourceFile: traitlets
    functionUses: 11
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - checkpoint_id
    - path
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 752
    functionName: jupyter_server.services.contents.manager.ContentsManager.restore_checkpoint
    functionSourceFile: jupyter_server.services.contents.manager
    functionUses: 0
    functionsReached:
    - traitlets.Instance.restore_checkpoint
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: traitlets.Instance.restore_checkpoint
    functionSourceFile: traitlets
    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
    - path
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 758
    functionName: jupyter_server.services.contents.manager.ContentsManager.list_checkpoints
    functionSourceFile: jupyter_server.services.contents.manager
    functionUses: 0
    functionsReached:
    - traitlets.Instance.list_checkpoints
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: traitlets.Instance.list_checkpoints
    functionSourceFile: traitlets
    functionUses: 11
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - checkpoint_id
    - path
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 761
    functionName: jupyter_server.services.contents.manager.ContentsManager.delete_checkpoint
    functionSourceFile: jupyter_server.services.contents.manager
    functionUses: 0
    functionsReached:
    - traitlets.Instance.delete_checkpoint
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: traitlets.Instance.delete_checkpoint
    functionSourceFile: traitlets
    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: jupyter_server.services.contents.manager.AsyncContentsManager
    functionSourceFile: jupyter_server.services.contents.manager
    functionUses: 0
    functionsReached:
    - traitlets.default
    - traitlets.Instance
    - traitlets.Dict
    - traitlets.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: 1
    functionLinenumber: 773
    functionName: jupyter_server.services.contents.manager.AsyncContentsManager._default_checkpoints
    functionSourceFile: jupyter_server.services.contents.manager
    functionUses: 0
    functionsReached:
    - traitlets.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: 777
    functionName: jupyter_server.services.contents.manager.AsyncContentsManager._default_checkpoints_kwargs
    functionSourceFile: jupyter_server.services.contents.manager
    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
    - path
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 786
    functionName: jupyter_server.services.contents.manager.AsyncContentsManager.dir_exists
    functionSourceFile: jupyter_server.services.contents.manager
    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
    - path
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 805
    functionName: jupyter_server.services.contents.manager.AsyncContentsManager.is_hidden
    functionSourceFile: jupyter_server.services.contents.manager
    functionUses: 0
    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 0x7fc4aa125b80>
    argNames:
    - self
    - path
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 822
    functionName: jupyter_server.services.contents.manager.AsyncContentsManager.file_exists
    functionSourceFile: jupyter_server.services.contents.manager
    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
    - path
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 841
    functionName: jupyter_server.services.contents.manager.AsyncContentsManager.exists
    functionSourceFile: jupyter_server.services.contents.manager
    functionUses: 4
    functionsReached:
    - os.path.isfile
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.dir_exists
    - typing.NewType
    - os.path.join
    - jupyter_server.services.contents.manager.AsyncContentsManager.dir_exists
    - jupyter_server.utils.to_os_path
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - jupyter_server.services.contents.manager.AsyncContentsManager.file_exists
    - jupyter_core.utils.ensure_async
    - os.path.abspath
    - os.lstat
    - os.path.splitdrive
    - os.path.isdir
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.file_exists
    - path.strip
    - os.path.normpath
    - <builtin>.str
    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 0x7fc4aa1253d0>
    - <ast.Constant object at 0x7fc4aa1253a0>
    - <ast.Constant object at 0x7fc4aa125370>
    - <ast.Constant object at 0x7fc4aa125340>
    argNames:
    - self
    - path
    - content
    - type
    - format
    - require_hash
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 860
    functionName: jupyter_server.services.contents.manager.AsyncContentsManager.get
    functionSourceFile: jupyter_server.services.contents.manager
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - model
    - path
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 872
    functionName: jupyter_server.services.contents.manager.AsyncContentsManager.save
    functionSourceFile: jupyter_server.services.contents.manager
    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
    - path
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 882
    functionName: jupyter_server.services.contents.manager.AsyncContentsManager.delete_file
    functionSourceFile: jupyter_server.services.contents.manager
    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
    - old_path
    - new_path
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 886
    functionName: jupyter_server.services.contents.manager.AsyncContentsManager.rename_file
    functionSourceFile: jupyter_server.services.contents.manager
    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:
    - self
    - path
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 893
    functionName: jupyter_server.services.contents.manager.AsyncContentsManager.delete
    functionSourceFile: jupyter_server.services.contents.manager
    functionUses: 0
    functionsReached:
    - typing.NewType
    - jupyter_server.services.contents.manager.ContentsManager.emit
    - jupyter_server.utils.to_os_path
    - jupyter_server.services.contents.filemanager.FileContentsManager.is_writable
    - os.lstat
    - <builtin>.len
    - os.path.normpath
    - os_path.startswith
    - os_path.strip
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.delete_file.is_non_empty_dir
    - jupyter_server.services.contents.manager.AsyncContentsManager.delete_file
    - os.path.splitdrive
    - path.strip
    - <builtin>.set
    - <builtin>.getattr
    - anyio.to_thread.run_sync
    - <builtin>.str
    - traitlets.Instance.delete_all_checkpoints
    - os.path.join
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.is_hidden
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - os.path.abspath
    - os.path.isdir
    - jupyter_server.services.contents.fileio.FileManagerMixin.perm_to_403
    - jupyter_server.utils.to_api_path
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.delete_file
    - os.access
    - send2trash.send2trash
    - os.path.exists
    linkageType: pythonLinkage
    raised:
    - HTTPError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 4
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - old_path
    - new_path
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 903
    functionName: jupyter_server.services.contents.manager.AsyncContentsManager.rename
    functionSourceFile: jupyter_server.services.contents.manager
    functionUses: 1
    functionsReached:
    - typing.NewType
    - jupyter_server.services.contents.manager.ContentsManager.emit
    - jupyter_server.utils.to_os_path
    - os.lstat
    - <builtin>.len
    - os.path.normpath
    - new_path.strip
    - os_path.startswith
    - os.path.samefile
    - os_path.strip
    - os.path.splitdrive
    - path.strip
    - anyio.to_thread.run_sync
    - <builtin>.str
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.rename_file
    - os.path.join
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.is_hidden
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - jupyter_server.services.contents.manager.AsyncContentsManager.rename_file
    - os.path.abspath
    - old_path.strip
    - jupyter_server.services.contents.fileio.FileManagerMixin.perm_to_403
    - path.lower
    - jupyter_server.utils.to_api_path
    - traitlets.Instance.rename_all_checkpoints
    - os.stat
    - os.path.exists
    - jupyter_server.utils.samefile_simple
    - other_path.lower
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - model
    - path
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 909
    functionName: jupyter_server.services.contents.manager.AsyncContentsManager.update
    functionSourceFile: jupyter_server.services.contents.manager
    functionUses: 0
    functionsReached:
    - os.lstat
    - jupyter_server.services.contents.filemanager.FileContentsManager.exists
    - nbformat.validate
    - jupyter_server.services.contents.fileio.AsyncFileManagerMixin._read_notebook
    - validation_error.get
    - os.path.samefile
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._notebook_model
    - path.strip
    - jupyter_server.services.contents.manager.AsyncContentsManager.rename
    - jupyter_server.services.contents.manager.AsyncContentsManager.get
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.is_hidden
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.get
    - old_path.strip
    - stat.S_ISDIR
    - model.update
    - h.update
    - jupyter_server.services.contents.fileio.FileManagerMixin.perm_to_403
    - os.path.isfile
    - jupyter_server.services.contents.manager.ContentsManager.should_list
    - jupyter_core.paths.is_file_hidden
    - os.stat
    - <builtin>.any
    - jupyter_server.services.contents.fileio.async_replace_file
    - <builtin>.len
    - jupyter_server.services.contents.filemanager.FileContentsManager.is_hidden
    - jupyter_server.services.contents.fileio.FileManagerMixin.open
    - stat.S_ISLNK
    - os_path.startswith
    - new_path.strip
    - h.hexdigest
    - os_path.strip
    - os.path.splitdrive
    - <builtin>.str
    - os.path.abspath
    - <builtin>.isinstance
    - os.path.isdir
    - jupyter_server.services.contents.manager.ContentsManager.mark_trusted_cells
    - path.endswith
    - traitlets.Instance.rename_all_checkpoints
    - os.access
    - functools.partial
    - path.rsplit
    - typing.NewType
    - datetime.datetime.fromtimestamp
    - jupyter_server.services.contents.filemanager.FileContentsManager._base_model
    - jupyter_server.services.contents.filemanager.FileContentsManager.is_writable
    - traitlets.Instance.mark_cells
    - datetime.datetime
    - jupyter_server._tz.utcfromtimestamp
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._file_model
    - jupyter_server.services.contents.manager.ContentsManager.validate_notebook_model
    - anyio.to_thread.run_sync
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._dir_model
    - json.dumps
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - jupyter_server.services.contents.manager.AsyncContentsManager.rename_file
    - jupyter_server.utils.to_api_path
    - base64.encodebytes
    - os.path.exists
    - base64.encodebytes.decode
    - traitlets.Instance.check_signature
    - jupyter_server.services.contents.manager.ContentsManager.emit
    - jupyter_server.utils.to_os_path
    - os.path.normpath
    - fnmatch.fnmatch
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_hash
    - hashlib.new
    - jupyter_server.services.contents.fileio.path_to_intermediate
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.rename_file
    - os.path.join
    - jupyter_server.services.contents.fileio.path_to_invalid
    - os.path.split
    - path.lower
    - model.get
    - mimetypes.guess_type
    - contents.append
    - jupyter_server.services.contents.fileio.AsyncFileManagerMixin._read_file
    - bcontent.decode
    - jupyter_server.utils.samefile_simple
    - other_path.lower
    - stat.S_ISREG
    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 0x7fc4ad176a90>
    - <ast.Constant object at 0x7fc4ad176ac0>
    argNames:
    - self
    - filename
    - path
    - insert
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 922
    functionName: jupyter_server.services.contents.manager.AsyncContentsManager.increment_filename
    functionSourceFile: jupyter_server.services.contents.manager
    functionUses: 3
    functionsReached:
    - typing.NewType
    - jupyter_server.utils.to_os_path
    - jupyter_core.utils.ensure_async
    - os.lstat
    - os.path.normpath
    - jupyter_server.services.contents.manager.AsyncContentsManager.dir_exists
    - traitlets.Unicode.partition
    - os.path.splitdrive
    - path.strip
    - <builtin>.str
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.dir_exists
    - os.path.join
    - traitlets.Unicode.rpartition
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - os.path.abspath
    - os.path.isdir
    - itertools.count
    - os.path.isfile
    - jupyter_server.services.contents.manager.AsyncContentsManager.file_exists
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.file_exists
    - jupyter_server.services.contents.manager.AsyncContentsManager.exists
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 9
    ICount: 3
    IfCount: 6
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7fc4abb31c70>
    - <ast.Constant object at 0x7fc4abb31ca0>
    - <ast.Constant object at 0x7fc4abb31cd0>
    argNames:
    - self
    - path
    - type
    - ext
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 8
    functionLinenumber: 955
    functionName: jupyter_server.services.contents.manager.AsyncContentsManager.new_untitled
    functionSourceFile: jupyter_server.services.contents.manager
    functionUses: 0
    functionsReached:
    - os.path.islink
    - os.lstat
    - jupyter_server.services.contents.filemanager.FileContentsManager.exists
    - nbformat.validate
    - jupyter_server.services.contents.fileio.AsyncFileManagerMixin._read_notebook
    - validation_error.get
    - <builtin>.super
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._notebook_model
    - path.strip
    - jupyter_server.services.contents.manager.AsyncContentsManager.create_checkpoint
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.is_hidden
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.get
    - model.setdefault
    - stat.S_ISDIR
    - model.update
    - h.update
    - jupyter_server.services.contents.fileio.FileManagerMixin.perm_to_403
    - os.path.isfile
    - jupyter_server.services.contents.manager.ContentsManager.should_list
    - jupyter_core.paths.is_file_hidden
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.file_exists
    - <builtin>.any
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._save_directory
    - jupyter_server.services.contents.fileio._simple_writing
    - kwargs.setdefault
    - jupyter_core.utils.ensure_async
    - jupyter_server.services.contents.fileio.async_replace_file
    - <builtin>.len
    - jupyter_server.services.contents.filemanager.FileContentsManager.is_hidden
    - jupyter_server.services.contents.fileio.FileManagerMixin.open
    - stat.S_ISLNK
    - traitlets.Instance.create_checkpoint
    - traitlets.Instance.check_cells
    - os_path.startswith
    - jupyter_server.services.contents.manager.AsyncContentsManager.save
    - h.hexdigest
    - traitlets.Unicode.partition
    - os_path.strip
    - os.path.splitdrive
    - <builtin>.open
    - <builtin>.str
    - os.path.abspath
    - <builtin>.isinstance
    - os.path.isdir
    - jupyter_server.services.contents.manager.ContentsManager.mark_trusted_cells
    - itertools.count
    - path.endswith
    - jupyter_server.services.contents.manager.ContentsManager.check_and_sign
    - jupyter_server.services.contents.manager.AsyncContentsManager.file_exists
    - os.access
    - fileobj.close
    - functools.partial
    - path.rsplit
    - jupyter_server.services.contents.manager.AsyncContentsManager.new
    - jupyter_server.services.contents.manager.AsyncContentsManager.exists
    - jupyter_server.services.contents.fileio.AsyncFileManagerMixin._save_notebook
    - typing.NewType
    - datetime.datetime.fromtimestamp
    - nbformat.v4.new_notebook
    - jupyter_server.services.contents.filemanager.FileContentsManager._base_model
    - base64.b64decode
    - jupyter_server.services.contents.filemanager.FileContentsManager.is_writable
    - traitlets.Instance.mark_cells
    - datetime.datetime
    - traitlets.Instance.sign
    - jupyter_server._tz.utcfromtimestamp
    - jupyter_server.services.contents.manager.AsyncContentsManager.dir_exists
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._file_model
    - base64.decodebytes
    - jupyter_server.services.contents.largefilemanager.AsyncLargeFileManager._save_large_file
    - jupyter_server.services.contents.manager.ContentsManager.validate_notebook_model
    - anyio.to_thread.run_sync
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._dir_model
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.dir_exists
    - json.dumps
    - traitlets.Unicode.rpartition
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - jupyter_server.services.contents.manager.ContentsManager.run_post_save_hooks
    - jupyter_server.services.contents.fileio.FileManagerMixin.atomic_writing
    - jupyter_server.services.contents.manager.AsyncContentsManager.increment_filename
    - jupyter_server.services.contents.fileio.AsyncFileManagerMixin._save_file
    - jupyter_server.utils.to_api_path
    - traitlets.Instance.list_checkpoints
    - base64.encodebytes
    - os.path.exists
    - os.path.dirname
    - nbformat.v4.new_notebook.encode
    - base64.encodebytes.decode
    - traitlets.Instance.check_signature
    - jupyter_server.services.contents.manager.ContentsManager.run_pre_save_hooks
    - jupyter_server.services.contents.manager.ContentsManager.emit
    - jupyter_server.utils.to_os_path
    - os.path.normpath
    - os.readlink
    - fnmatch.fnmatch
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_hash
    - hashlib.new
    - jupyter_server.services.contents.fileio.path_to_intermediate
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.save
    - os.path.join
    - jupyter_server.services.contents.largefilemanager.AsyncLargeFileManager.save
    - jupyter_server.services.contents.fileio.path_to_invalid
    - os.path.split
    - model.get
    - mimetypes.guess_type
    - contents.append
    - nbformat.from_dict
    - jupyter_server.services.contents.fileio.AsyncFileManagerMixin._read_file
    - bcontent.decode
    - stat.S_ISREG
    linkageType: pythonLinkage
    raised:
    - HTTPError
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 3
    IfCount: 4
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7fc4abb507f0>
    - <ast.Constant object at 0x7fc4abb50820>
    argNames:
    - self
    - model
    - path
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 7
    functionLinenumber: 994
    functionName: jupyter_server.services.contents.manager.AsyncContentsManager.new
    functionSourceFile: jupyter_server.services.contents.manager
    functionUses: 1
    functionsReached:
    - os.path.islink
    - os.lstat
    - jupyter_server.services.contents.filemanager.FileContentsManager.exists
    - nbformat.validate
    - jupyter_server.services.contents.fileio.AsyncFileManagerMixin._read_notebook
    - validation_error.get
    - <builtin>.super
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._notebook_model
    - path.strip
    - jupyter_server.services.contents.manager.AsyncContentsManager.create_checkpoint
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.is_hidden
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.get
    - model.setdefault
    - stat.S_ISDIR
    - model.update
    - h.update
    - jupyter_server.services.contents.fileio.FileManagerMixin.perm_to_403
    - os.path.isfile
    - jupyter_server.services.contents.manager.ContentsManager.should_list
    - jupyter_core.paths.is_file_hidden
    - <builtin>.any
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._save_directory
    - jupyter_server.services.contents.fileio._simple_writing
    - kwargs.setdefault
    - jupyter_server.services.contents.fileio.async_replace_file
    - <builtin>.len
    - jupyter_server.services.contents.filemanager.FileContentsManager.is_hidden
    - jupyter_server.services.contents.fileio.FileManagerMixin.open
    - stat.S_ISLNK
    - traitlets.Instance.create_checkpoint
    - traitlets.Instance.check_cells
    - os_path.startswith
    - jupyter_server.services.contents.manager.AsyncContentsManager.save
    - h.hexdigest
    - os_path.strip
    - os.path.splitdrive
    - <builtin>.open
    - <builtin>.str
    - os.path.abspath
    - <builtin>.isinstance
    - os.path.isdir
    - jupyter_server.services.contents.manager.ContentsManager.mark_trusted_cells
    - path.endswith
    - jupyter_server.services.contents.manager.ContentsManager.check_and_sign
    - fileobj.close
    - os.access
    - functools.partial
    - path.rsplit
    - jupyter_server.services.contents.fileio.AsyncFileManagerMixin._save_notebook
    - typing.NewType
    - datetime.datetime.fromtimestamp
    - nbformat.v4.new_notebook
    - jupyter_server.services.contents.filemanager.FileContentsManager._base_model
    - base64.b64decode
    - jupyter_server.services.contents.filemanager.FileContentsManager.is_writable
    - traitlets.Instance.mark_cells
    - datetime.datetime
    - traitlets.Instance.sign
    - jupyter_server._tz.utcfromtimestamp
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._file_model
    - base64.decodebytes
    - jupyter_server.services.contents.largefilemanager.AsyncLargeFileManager._save_large_file
    - jupyter_server.services.contents.manager.ContentsManager.validate_notebook_model
    - anyio.to_thread.run_sync
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._dir_model
    - json.dumps
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - jupyter_server.services.contents.manager.ContentsManager.run_post_save_hooks
    - jupyter_server.services.contents.fileio.FileManagerMixin.atomic_writing
    - jupyter_server.services.contents.fileio.AsyncFileManagerMixin._save_file
    - jupyter_server.utils.to_api_path
    - traitlets.Instance.list_checkpoints
    - base64.encodebytes
    - os.path.exists
    - os.path.dirname
    - nbformat.v4.new_notebook.encode
    - base64.encodebytes.decode
    - traitlets.Instance.check_signature
    - jupyter_server.services.contents.manager.ContentsManager.run_pre_save_hooks
    - jupyter_server.services.contents.manager.ContentsManager.emit
    - jupyter_server.utils.to_os_path
    - os.path.normpath
    - os.readlink
    - fnmatch.fnmatch
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_hash
    - hashlib.new
    - jupyter_server.services.contents.fileio.path_to_intermediate
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.save
    - os.path.join
    - jupyter_server.services.contents.largefilemanager.AsyncLargeFileManager.save
    - jupyter_server.services.contents.fileio.path_to_invalid
    - os.path.split
    - model.get
    - mimetypes.guess_type
    - contents.append
    - nbformat.from_dict
    - jupyter_server.services.contents.fileio.AsyncFileManagerMixin._read_file
    - bcontent.decode
    - stat.S_ISREG
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 12
    ICount: 4
    IfCount: 8
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7fc4abb5ca30>
    argNames:
    - self
    - from_path
    - to_path
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 8
    functionLinenumber: 1021
    functionName: jupyter_server.services.contents.manager.AsyncContentsManager.copy
    functionSourceFile: jupyter_server.services.contents.manager
    functionUses: 1
    functionsReached:
    - os.path.islink
    - os.lstat
    - jupyter_server.services.contents.filemanager.FileContentsManager.exists
    - nbformat.validate
    - jupyter_server.services.contents.fileio.AsyncFileManagerMixin._read_notebook
    - validation_error.get
    - <builtin>.super
    - copy_pat.sub
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._notebook_model
    - path.strip
    - jupyter_server.services.contents.manager.AsyncContentsManager.create_checkpoint
    - jupyter_server.services.contents.manager.AsyncContentsManager.get
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.is_hidden
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.get
    - stat.S_ISDIR
    - model.update
    - h.update
    - jupyter_server.services.contents.fileio.FileManagerMixin.perm_to_403
    - os.path.isfile
    - jupyter_server.services.contents.manager.ContentsManager.should_list
    - jupyter_core.paths.is_file_hidden
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.file_exists
    - <builtin>.any
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._save_directory
    - jupyter_server.services.contents.fileio._simple_writing
    - kwargs.setdefault
    - jupyter_core.utils.ensure_async
    - jupyter_server.services.contents.fileio.async_replace_file
    - <builtin>.len
    - jupyter_server.services.contents.filemanager.FileContentsManager.is_hidden
    - jupyter_server.services.contents.fileio.FileManagerMixin.open
    - stat.S_ISLNK
    - traitlets.Instance.create_checkpoint
    - traitlets.Instance.check_cells
    - os_path.startswith
    - jupyter_server.services.contents.manager.AsyncContentsManager.save
    - h.hexdigest
    - traitlets.Unicode.partition
    - os_path.strip
    - to_path.strip
    - os.path.splitdrive
    - <builtin>.open
    - <builtin>.str
    - os.path.abspath
    - <builtin>.isinstance
    - os.path.isdir
    - jupyter_server.services.contents.manager.ContentsManager.mark_trusted_cells
    - itertools.count
    - path.endswith
    - to_path.rsplit
    - jupyter_server.services.contents.manager.ContentsManager.check_and_sign
    - jupyter_server.services.contents.manager.AsyncContentsManager.file_exists
    - fileobj.close
    - os.access
    - functools.partial
    - path.rsplit
    - jupyter_server.services.contents.manager.AsyncContentsManager.exists
    - jupyter_server.services.contents.fileio.AsyncFileManagerMixin._save_notebook
    - typing.NewType
    - datetime.datetime.fromtimestamp
    - jupyter_server.services.contents.filemanager.FileContentsManager._base_model
    - base64.b64decode
    - jupyter_server.services.contents.filemanager.FileContentsManager.is_writable
    - traitlets.config.configurable.LoggingConfigurable.strip
    - model.pop
    - traitlets.Instance.mark_cells
    - datetime.datetime
    - traitlets.Instance.sign
    - jupyter_server._tz.utcfromtimestamp
    - jupyter_server.services.contents.manager.AsyncContentsManager.dir_exists
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._file_model
    - base64.decodebytes
    - jupyter_server.services.contents.largefilemanager.AsyncLargeFileManager._save_large_file
    - jupyter_server.services.contents.manager.ContentsManager.validate_notebook_model
    - anyio.to_thread.run_sync
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._dir_model
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.dir_exists
    - json.dumps
    - traitlets.Unicode.rpartition
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - jupyter_server.services.contents.manager.ContentsManager.run_post_save_hooks
    - jupyter_server.services.contents.fileio.FileManagerMixin.atomic_writing
    - jupyter_server.services.contents.manager.AsyncContentsManager.increment_filename
    - jupyter_server.services.contents.fileio.AsyncFileManagerMixin._save_file
    - jupyter_server.utils.to_api_path
    - traitlets.Instance.list_checkpoints
    - base64.encodebytes
    - os.path.exists
    - os.path.dirname
    - nbformat.v4.new_notebook.encode
    - base64.encodebytes.decode
    - traitlets.Instance.check_signature
    - jupyter_server.services.contents.manager.ContentsManager.run_pre_save_hooks
    - jupyter_server.services.contents.manager.ContentsManager.emit
    - jupyter_server.utils.to_os_path
    - os.path.normpath
    - os.readlink
    - fnmatch.fnmatch
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_hash
    - hashlib.new
    - jupyter_server.services.contents.fileio.path_to_intermediate
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.save
    - os.path.join
    - jupyter_server.services.contents.largefilemanager.AsyncLargeFileManager.save
    - jupyter_server.services.contents.fileio.path_to_invalid
    - os.path.split
    - model.get
    - mimetypes.guess_type
    - contents.append
    - nbformat.from_dict
    - jupyter_server.services.contents.fileio.AsyncFileManagerMixin._read_file
    - bcontent.decode
    - stat.S_ISREG
    linkageType: pythonLinkage
    raised:
    - HTTPError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: traitlets.config.configurable.LoggingConfigurable.strip
    functionSourceFile: traitlets
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 4
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - path
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 8
    functionLinenumber: 1067
    functionName: jupyter_server.services.contents.manager.AsyncContentsManager.trust_notebook
    functionSourceFile: jupyter_server.services.contents.manager
    functionUses: 0
    functionsReached:
    - <builtin>.any
    - base64.encodebytes.decode
    - typing.NewType
    - traitlets.Instance.check_signature
    - jupyter_server.services.contents.manager.ContentsManager.emit
    - jupyter_server.utils.to_os_path
    - datetime.datetime.fromtimestamp
    - jupyter_server.services.contents.filemanager.FileContentsManager._base_model
    - os.lstat
    - jupyter_server.services.contents.filemanager.FileContentsManager.is_writable
    - jupyter_server.services.contents.fileio.async_replace_file
    - jupyter_server.services.contents.filemanager.FileContentsManager.exists
    - nbformat.validate
    - <builtin>.len
    - os.path.normpath
    - jupyter_server.services.contents.fileio.AsyncFileManagerMixin._read_notebook
    - traitlets.Instance.mark_cells
    - datetime.datetime
    - jupyter_server.services.contents.filemanager.FileContentsManager.is_hidden
    - jupyter_server.services.contents.fileio.FileManagerMixin.open
    - fnmatch.fnmatch
    - stat.S_ISLNK
    - jupyter_server._tz.utcfromtimestamp
    - traitlets.Instance.check_cells
    - jupyter_server.services.contents.fileio.path_to_intermediate
    - validation_error.get
    - os_path.startswith
    - traitlets.Instance.sign
    - h.hexdigest
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._file_model
    - os_path.strip
    - hashlib.new
    - os.path.splitdrive
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._notebook_model
    - path.strip
    - jupyter_server.services.contents.manager.ContentsManager.validate_notebook_model
    - anyio.to_thread.run_sync
    - <builtin>.str
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._dir_model
    - os.path.join
    - json.dumps
    - jupyter_server.services.contents.manager.AsyncContentsManager.get
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.is_hidden
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.get
    - os.path.abspath
    - <builtin>.isinstance
    - jupyter_server.services.contents.fileio.path_to_invalid
    - os.path.isdir
    - stat.S_ISDIR
    - model.update
    - jupyter_server.services.contents.manager.ContentsManager.mark_trusted_cells
    - path.endswith
    - os.path.split
    - jupyter_server.services.contents.fileio.FileManagerMixin.perm_to_403
    - h.update
    - os.path.isfile
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_hash
    - jupyter_server.utils.to_api_path
    - mimetypes.guess_type
    - contents.append
    - jupyter_server.services.contents.manager.ContentsManager.check_and_sign
    - base64.encodebytes
    - jupyter_server.services.contents.manager.ContentsManager.should_list
    - os.access
    - jupyter_core.paths.is_file_hidden
    - jupyter_server.services.contents.fileio.AsyncFileManagerMixin._read_file
    - os.path.exists
    - bcontent.decode
    - functools.partial
    - path.rsplit
    - stat.S_ISREG
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - path
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1082
    functionName: jupyter_server.services.contents.manager.AsyncContentsManager.create_checkpoint
    functionSourceFile: jupyter_server.services.contents.manager
    functionUses: 8
    functionsReached:
    - traitlets.Instance.create_checkpoint
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - checkpoint_id
    - path
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1086
    functionName: jupyter_server.services.contents.manager.AsyncContentsManager.restore_checkpoint
    functionSourceFile: jupyter_server.services.contents.manager
    functionUses: 0
    functionsReached:
    - traitlets.Instance.restore_checkpoint
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - path
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1092
    functionName: jupyter_server.services.contents.manager.AsyncContentsManager.list_checkpoints
    functionSourceFile: jupyter_server.services.contents.manager
    functionUses: 0
    functionsReached:
    - traitlets.Instance.list_checkpoints
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - checkpoint_id
    - path
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1096
    functionName: jupyter_server.services.contents.manager.AsyncContentsManager.delete_checkpoint
    functionSourceFile: jupyter_server.services.contents.manager
    functionUses: 0
    functionsReached:
    - traitlets.Instance.delete_checkpoint
    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: jupyter_server.files.handlers
    functionSourceFile: jupyter_server.files.handlers
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 31
    functionName: jupyter_server.files.handlers.FilesHandler.content_security_policy
    functionSourceFile: jupyter_server.files.handlers
    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: 3
    functionLinenumber: -1
    functionName: jupyter_server.files.handlers.FilesHandler
    functionSourceFile: jupyter_server.files.handlers
    functionUses: 0
    functionsReached:
    - typing.cast
    - functools.wraps
    - <builtin>.callable
    - jupyter_server.auth.decorator.authorized.wrapper
    - tornado.web.authenticated
    - jupyter_server.auth.decorator.authorized
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: 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: base64.decodebytes
    functionSourceFile: base64
    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: tornado.web.RequestHandler.flush
    functionSourceFile: tornado
    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: jupyter_server.files
    functionSourceFile: jupyter_server.files
    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: jupyter_server.services.contents.checkpoints
    functionSourceFile: jupyter_server.services.contents.checkpoints
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - contents_mgr
    - path
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 23
    functionName: jupyter_server.services.contents.checkpoints.Checkpoints.create_checkpoint
    functionSourceFile: jupyter_server.services.contents.checkpoints
    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
    - contents_mgr
    - checkpoint_id
    - path
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 27
    functionName: jupyter_server.services.contents.checkpoints.Checkpoints.restore_checkpoint
    functionSourceFile: jupyter_server.services.contents.checkpoints
    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
    - checkpoint_id
    - old_path
    - new_path
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 31
    functionName: jupyter_server.services.contents.checkpoints.Checkpoints.rename_checkpoint
    functionSourceFile: jupyter_server.services.contents.checkpoints
    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
    - checkpoint_id
    - path
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 35
    functionName: jupyter_server.services.contents.checkpoints.Checkpoints.delete_checkpoint
    functionSourceFile: jupyter_server.services.contents.checkpoints
    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
    - path
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 39
    functionName: jupyter_server.services.contents.checkpoints.Checkpoints.list_checkpoints
    functionSourceFile: jupyter_server.services.contents.checkpoints
    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:
    - self
    - old_path
    - new_path
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 43
    functionName: jupyter_server.services.contents.checkpoints.Checkpoints.rename_all_checkpoints
    functionSourceFile: jupyter_server.services.contents.checkpoints
    functionUses: 0
    functionsReached:
    - jupyter_server.services.contents.checkpoints.Checkpoints.list_checkpoints
    - jupyter_server.services.contents.checkpoints.Checkpoints.rename_checkpoint
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - path
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 48
    functionName: jupyter_server.services.contents.checkpoints.Checkpoints.delete_all_checkpoints
    functionSourceFile: jupyter_server.services.contents.checkpoints
    functionUses: 0
    functionsReached:
    - jupyter_server.services.contents.checkpoints.Checkpoints.delete_checkpoint
    - jupyter_server.services.contents.checkpoints.Checkpoints.list_checkpoints
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - contents_mgr
    - path
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 76
    functionName: jupyter_server.services.contents.checkpoints.GenericCheckpointsMixin.create_checkpoint
    functionSourceFile: jupyter_server.services.contents.checkpoints
    functionUses: 0
    functionsReached:
    - jupyter_server.services.contents.checkpoints.GenericCheckpointsMixin.create_notebook_checkpoint
    - jupyter_server.services.contents.checkpoints.GenericCheckpointsMixin.create_file_checkpoint
    - contents_mgr.get
    linkageType: pythonLinkage
    raised:
    - HTTPError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: contents_mgr.get
    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: []
    argNames:
    - self
    - nb
    - path
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 112
    functionName: jupyter_server.services.contents.checkpoints.GenericCheckpointsMixin.create_notebook_checkpoint
    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
    - content
    - format
    - path
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 105
    functionName: jupyter_server.services.contents.checkpoints.GenericCheckpointsMixin.create_file_checkpoint
    functionSourceFile: ''
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    IfCount: 2
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - contents_mgr
    - checkpoint_id
    - path
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 93
    functionName: jupyter_server.services.contents.checkpoints.GenericCheckpointsMixin.restore_checkpoint
    functionSourceFile: jupyter_server.services.contents.checkpoints
    functionUses: 0
    functionsReached:
    - jupyter_server.services.contents.checkpoints.GenericCheckpointsMixin.get_file_checkpoint
    - contents_mgr.save
    - contents_mgr.get
    - jupyter_server.services.contents.checkpoints.GenericCheckpointsMixin.get_notebook_checkpoint
    linkageType: pythonLinkage
    raised:
    - HTTPError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - checkpoint_id
    - path
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 132
    functionName: jupyter_server.services.contents.checkpoints.GenericCheckpointsMixin.get_notebook_checkpoint
    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: []
    argNames:
    - self
    - checkpoint_id
    - path
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 119
    functionName: jupyter_server.services.contents.checkpoints.GenericCheckpointsMixin.get_file_checkpoint
    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: contents_mgr.save
    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
    - contents_mgr
    - path
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 150
    functionName: jupyter_server.services.contents.checkpoints.AsyncCheckpoints.create_checkpoint
    functionSourceFile: jupyter_server.services.contents.checkpoints
    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
    - contents_mgr
    - checkpoint_id
    - path
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 154
    functionName: jupyter_server.services.contents.checkpoints.AsyncCheckpoints.restore_checkpoint
    functionSourceFile: jupyter_server.services.contents.checkpoints
    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
    - checkpoint_id
    - old_path
    - new_path
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 158
    functionName: jupyter_server.services.contents.checkpoints.AsyncCheckpoints.rename_checkpoint
    functionSourceFile: jupyter_server.services.contents.checkpoints
    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
    - checkpoint_id
    - path
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 162
    functionName: jupyter_server.services.contents.checkpoints.AsyncCheckpoints.delete_checkpoint
    functionSourceFile: jupyter_server.services.contents.checkpoints
    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
    - path
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 166
    functionName: jupyter_server.services.contents.checkpoints.AsyncCheckpoints.list_checkpoints
    functionSourceFile: jupyter_server.services.contents.checkpoints
    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:
    - self
    - old_path
    - new_path
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 170
    functionName: jupyter_server.services.contents.checkpoints.AsyncCheckpoints.rename_all_checkpoints
    functionSourceFile: jupyter_server.services.contents.checkpoints
    functionUses: 0
    functionsReached:
    - jupyter_server.services.contents.checkpoints.AsyncCheckpoints.list_checkpoints
    - jupyter_server.services.contents.checkpoints.AsyncCheckpoints.rename_checkpoint
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - path
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 175
    functionName: jupyter_server.services.contents.checkpoints.AsyncCheckpoints.delete_all_checkpoints
    functionSourceFile: jupyter_server.services.contents.checkpoints
    functionUses: 0
    functionsReached:
    - jupyter_server.services.contents.checkpoints.AsyncCheckpoints.list_checkpoints
    - jupyter_server.services.contents.checkpoints.AsyncCheckpoints.delete_checkpoint
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - contents_mgr
    - path
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 187
    functionName: jupyter_server.services.contents.checkpoints.AsyncGenericCheckpointsMixin.create_checkpoint
    functionSourceFile: jupyter_server.services.contents.checkpoints
    functionUses: 0
    functionsReached:
    - jupyter_server.services.contents.checkpoints.AsyncGenericCheckpointsMixin.create_notebook_checkpoint
    - jupyter_server.services.contents.checkpoints.AsyncGenericCheckpointsMixin.create_file_checkpoint
    - contents_mgr.get
    linkageType: pythonLinkage
    raised:
    - HTTPError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - nb
    - path
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 224
    functionName: jupyter_server.services.contents.checkpoints.AsyncGenericCheckpointsMixin.create_notebook_checkpoint
    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
    - content
    - format
    - path
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 217
    functionName: jupyter_server.services.contents.checkpoints.AsyncGenericCheckpointsMixin.create_file_checkpoint
    functionSourceFile: ''
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    IfCount: 2
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - contents_mgr
    - checkpoint_id
    - path
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 204
    functionName: jupyter_server.services.contents.checkpoints.AsyncGenericCheckpointsMixin.restore_checkpoint
    functionSourceFile: jupyter_server.services.contents.checkpoints
    functionUses: 0
    functionsReached:
    - contents_mgr.save
    - jupyter_server.services.contents.checkpoints.AsyncGenericCheckpointsMixin.get_notebook_checkpoint
    - jupyter_server.services.contents.checkpoints.AsyncGenericCheckpointsMixin.get_file_checkpoint
    - contents_mgr.get
    linkageType: pythonLinkage
    raised:
    - HTTPError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - checkpoint_id
    - path
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 244
    functionName: jupyter_server.services.contents.checkpoints.AsyncGenericCheckpointsMixin.get_notebook_checkpoint
    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: []
    argNames:
    - self
    - checkpoint_id
    - path
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 231
    functionName: jupyter_server.services.contents.checkpoints.AsyncGenericCheckpointsMixin.get_file_checkpoint
    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: jupyter_server.services.sessions
    functionSourceFile: jupyter_server.services.sessions
    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: jupyter_server.services.kernels.kernelmanager
    functionSourceFile: jupyter_server.services.kernels.kernelmanager
    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: jupyter_server.services.kernels.kernelmanager.MappingKernelManager
    functionSourceFile: jupyter_server.services.kernels.kernelmanager
    functionUses: 0
    functionsReached:
    - traitlets.List
    - traitlets.Instance
    - traitlets.Unicode
    - traitlets.Integer
    - traitlets.Float
    - traitlets.validate
    - traitlets.default
    - traitlets.Bool
    - traitlets.Dict
    - traitlets.Any
    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: 58
    functionName: jupyter_server.services.kernels.kernelmanager.MappingKernelManager._default_kernel_manager_class
    functionSourceFile: jupyter_server.services.kernels.kernelmanager
    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: 74
    functionName: jupyter_server.services.kernels.kernelmanager.MappingKernelManager._default_root_dir
    functionSourceFile: jupyter_server.services.kernels.kernelmanager
    functionUses: 0
    functionsReached:
    - os.getcwd
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - proposal
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 80
    functionName: jupyter_server.services.kernels.kernelmanager.MappingKernelManager._update_root_dir
    functionSourceFile: jupyter_server.services.kernels.kernelmanager
    functionUses: 0
    functionsReached:
    - jupyter_core.paths.exists
    - os.path.abspath
    - os.path.isabs
    - os.path.isdir
    linkageType: pythonLinkage
    raised:
    - TraitError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: jupyter_core.paths.exists
    functionSourceFile: jupyter_core
    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: 149
    functionName: jupyter_server.services.kernels.kernelmanager.MappingKernelManager._default_kernel_buffers
    functionSourceFile: jupyter_server.services.kernels.kernelmanager
    functionUses: 0
    functionsReached:
    - collections.defaultdict
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: jupyter_server.services.kernels.kernelmanager.MappingKernelManager._default_kernel_buffers.<lambda1>
    functionSourceFile: jupyter_server.services.kernels.kernelmanager
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 157
    functionName: jupyter_server.services.kernels.kernelmanager.MappingKernelManager.__init__
    functionSourceFile: jupyter_server.services.kernels.kernelmanager
    functionUses: 0
    functionsReached:
    - <builtin>.super
    - jupyter_server._tz.utcnow
    - jupyter_client.multikernelmanager.MultiKernelManager.__init__
    - datetime.datetime.now
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 3
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - kernel_id
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 186
    functionName: jupyter_server.services.kernels.kernelmanager.MappingKernelManager._handle_kernel_died
    functionSourceFile: jupyter_server.services.kernels.kernelmanager
    functionUses: 1
    functionsReached:
    - traitlets.Dict.pop
    - jupyter_client.multikernelmanager.MultiKernelManager.remove_kernel
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - path
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 191
    functionName: jupyter_server.services.kernels.kernelmanager.MappingKernelManager.cwd_for_path
    functionSourceFile: jupyter_server.services.kernels.kernelmanager
    functionUses: 2
    functionsReached:
    - os.path.join
    - jupyter_server.utils.to_os_path
    - os.path.dirname
    - os.path.isdir
    - os.path.normpath
    - <builtin>.str
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 4
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - kernel_id
    - kernel_awaitable
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 200
    functionName: jupyter_server.services.kernels.kernelmanager.MappingKernelManager._remove_kernel_when_ready
    functionSourceFile: jupyter_server.services.kernels.kernelmanager
    functionUses: 0
    functionsReached:
    - <builtin>.super
    - traitlets.config.configurable.LoggingConfigurable._kernel_ports.pop
    - traitlets.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: traitlets.config.configurable.LoggingConfigurable._kernel_ports.pop
    functionSourceFile: traitlets
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 7
    IfCount: 5
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - kernel_id
    - path
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 7
    functionLinenumber: 208
    functionName: jupyter_server.services.kernels.kernelmanager.MappingKernelManager._async_start_kernel
    functionSourceFile: jupyter_server.services.kernels.kernelmanager
    functionUses: 0
    functionsReached:
    - zmq.Context
    - traitlets.log.get_logger.warning
    - <builtin>.repr
    - jupyter_client.session.Session._check_packers
    - <builtin>.type
    - <builtin>.super
    - <builtin>.list
    - km.start_kernel
    - notebook.prometheus.metrics.KERNEL_CURRENTLY_RUNNING_TOTAL.labels
    - math.isnan
    - jupyter_server.services.kernels.kernelmanager.MappingKernelManager.start_watching_activity
    - jupyter_client.jsonutil.squash_dates
    - jupyter_client.session.Session.__init__
    - asyncio.create_task
    - jupyter_client.multikernelmanager.MultiKernelManager.get_kernel
    - jupyter_server.services.kernels.kernelmanager.MappingKernelManager._finish_kernel_start
    - kwargs.setdefault
    - tornado.ioloop.PeriodicCallback
    - jupyter_core.utils.ensure_async
    - <builtin>.map
    - obj.strftime
    - kwargs.pop
    - <builtin>.len
    - jupyter_client.session.pickle_packer
    - jupyter_client.multikernelmanager.MultiKernelManager.new_kernel_id
    - <builtin>.set
    - jupyter_client.session.Session._check_packers.<lambda2>
    - <builtin>.str
    - jupyter_client.multikernelmanager.MultiKernelManager._async_start_kernel
    - obj.isoformat
    - jupyter_client.session.utcnow
    - <builtin>.isinstance
    - math.isinf
    - os.path.isdir
    - jupyter_client.session.Session._check_packers.<lambda1>
    - traitlets.Any
    - jupyter_client.jsonutil.json_clean
    - json.loads
    - jupyter_client.multikernelmanager.MultiKernelManager._add_kernel_when_ready
    - jupyter_client.multikernelmanager.MultiKernelManager._check_kernel_id
    - jupyter_client.multikernelmanager.MultiKernelManager.pre_start_kernel
    - kwargs.get
    - traitlets.utils.importstring.import_item
    - jupyter_client.multikernelmanager.MultiKernelManager.add_restart_callback
    - pickle.loads
    - <builtin>.hasattr
    - <builtin>.float
    - kernel.connect_iopub
    - hmac.HMAC
    - binascii.b2a_base64
    - datetime.datetime.now
    - jupyter_server.services.kernels.kernelmanager.MappingKernelManager.initialize_culler
    - tornado.ioloop.PeriodicCallback.start
    - json.dumps
    - jupyter_client.multikernelmanager.MultiKernelManager._create_kernel_manager_factory.create_kernel_manager
    - asyncio.wrap_future
    - jupyter_server._tz.utcnow
    - prometheus_client.Gauge.labels
    - <builtin>.int
    - pickle.dumps
    - kernel._activity_stream.on_recv
    - jupyter_client.session.json_packer
    - traitlets.Dict.pop
    - os.path.dirname
    - os.getpid
    - jupyter_client.multikernelmanager.MultiKernelManager._context_default
    - jupyter_client.session.Session._new_auth
    - jupyter_server.utils.to_os_path
    - obj.items
    - os.path.normpath
    - traitlets.log.get_logger
    - jupyter_client.session.json_unpacker
    - warnings.warn
    - <builtin>.getattr
    - tornado.ioloop.IOLoop.current
    - os.path.join
    - km.ready.exception
    - binascii.b2a_base64.decode
    - <builtin>.dict
    - uuid.uuid4
    - jupyter_server.services.kernels.kernelmanager.MappingKernelManager.cwd_for_path
    - s.decode
    - jupyter_client.multikernelmanager.MultiKernelManager._using_pending_kernels
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - kernel_id
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 265
    functionName: jupyter_server.services.kernels.kernelmanager.MappingKernelManager._finish_kernel_start
    functionSourceFile: jupyter_server.services.kernels.kernelmanager
    functionUses: 1
    functionsReached:
    - jupyter_client.multikernelmanager.MultiKernelManager.get_kernel
    - traitlets.utils.importstring.import_item
    - jupyter_client.session.Session._new_auth
    - traitlets.log.get_logger.warning
    - <builtin>.repr
    - jupyter_client.multikernelmanager.MultiKernelManager.add_restart_callback
    - jupyter_client.session.Session._check_packers
    - <builtin>.map
    - obj.strftime
    - pickle.loads
    - obj.items
    - <builtin>.len
    - <builtin>.hasattr
    - <builtin>.type
    - <builtin>.float
    - jupyter_client.session.pickle_packer
    - traitlets.log.get_logger
    - <builtin>.super
    - <builtin>.list
    - jupyter_client.session.json_unpacker
    - kernel.connect_iopub
    - hmac.HMAC
    - datetime.datetime.now
    - math.isnan
    - binascii.b2a_base64
    - warnings.warn
    - <builtin>.set
    - jupyter_client.session.Session._check_packers.<lambda2>
    - <builtin>.str
    - obj.isoformat
    - json.dumps
    - jupyter_client.session.utcnow
    - asyncio.wrap_future
    - jupyter_server.services.kernels.kernelmanager.MappingKernelManager.start_watching_activity
    - jupyter_client.jsonutil.squash_dates
    - <builtin>.isinstance
    - math.isinf
    - binascii.b2a_base64.decode
    - jupyter_client.session.Session.__init__
    - jupyter_client.session.Session._check_packers.<lambda1>
    - jupyter_server._tz.utcnow
    - <builtin>.dict
    - traitlets.Any
    - jupyter_client.jsonutil.json_clean
    - s.decode
    - json.loads
    - <builtin>.int
    - pickle.dumps
    - jupyter_client.multikernelmanager.MultiKernelManager._check_kernel_id
    - kernel._activity_stream.on_recv
    - jupyter_client.session.json_packer
    - os.getpid
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: notebook.prometheus.metrics.KERNEL_CURRENTLY_RUNNING_TOTAL.labels
    functionSourceFile: notebook
    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: prometheus_client.Gauge.labels
    functionSourceFile: prometheus_client
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    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: 1
    functionLinenumber: 584
    functionName: jupyter_server.services.kernels.kernelmanager.MappingKernelManager.initialize_culler
    functionSourceFile: jupyter_server.services.kernels.kernelmanager
    functionUses: 2
    functionsReached:
    - tornado.ioloop.IOLoop.current
    - tornado.ioloop.PeriodicCallback.start
    - tornado.ioloop.PeriodicCallback
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: asyncio.wrap_future
    functionSourceFile: asyncio
    functionUses: 8
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - kernel_id
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 535
    functionName: jupyter_server.services.kernels.kernelmanager.MappingKernelManager.start_watching_activity
    functionSourceFile: jupyter_server.services.kernels.kernelmanager
    functionUses: 3
    functionsReached:
    - traitlets.utils.importstring.import_item
    - jupyter_client.session.Session._new_auth
    - traitlets.log.get_logger.warning
    - <builtin>.repr
    - jupyter_client.session.Session._check_packers
    - <builtin>.map
    - obj.strftime
    - pickle.loads
    - obj.items
    - <builtin>.len
    - <builtin>.type
    - <builtin>.hasattr
    - <builtin>.float
    - jupyter_client.session.pickle_packer
    - traitlets.log.get_logger
    - <builtin>.super
    - <builtin>.list
    - jupyter_client.session.json_unpacker
    - kernel.connect_iopub
    - hmac.HMAC
    - datetime.datetime.now
    - math.isnan
    - binascii.b2a_base64
    - warnings.warn
    - <builtin>.set
    - jupyter_client.session.Session._check_packers.<lambda2>
    - <builtin>.str
    - obj.isoformat
    - json.dumps
    - jupyter_client.session.utcnow
    - jupyter_client.jsonutil.squash_dates
    - math.isinf
    - <builtin>.isinstance
    - binascii.b2a_base64.decode
    - jupyter_client.session.Session.__init__
    - jupyter_client.session.Session._check_packers.<lambda1>
    - jupyter_server._tz.utcnow
    - <builtin>.dict
    - traitlets.Any
    - jupyter_client.jsonutil.json_clean
    - s.decode
    - json.loads
    - <builtin>.int
    - pickle.dumps
    - kernel._activity_stream.on_recv
    - jupyter_client.session.json_packer
    - os.getpid
    linkageType: 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: jupyter_server.services.kernels.kernelmanager.MappingKernelManager._finish_kernel_start.<lambda1>
    functionSourceFile: jupyter_server.services.kernels.kernelmanager
    functionUses: 0
    functionsReached:
    - traitlets.Dict.pop
    - jupyter_server.services.kernels.kernelmanager.MappingKernelManager._handle_kernel_died
    - jupyter_client.multikernelmanager.MultiKernelManager.remove_kernel
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - kernel_id
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 287
    functionName: jupyter_server.services.kernels.kernelmanager.MappingKernelManager.ports_changed
    functionSourceFile: jupyter_server.services.kernels.kernelmanager
    functionUses: 0
    functionsReached:
    - jupyter_client.multikernelmanager.MultiKernelManager.get_kernel
    - <builtin>.isinstance
    - jupyter_server.services.kernels.kernelmanager.MappingKernelManager._get_changed_ports
    - jupyter_client.multikernelmanager.MultiKernelManager._check_kernel_id
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - kernel_id
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 307
    functionName: jupyter_server.services.kernels.kernelmanager.MappingKernelManager._get_changed_ports
    functionSourceFile: jupyter_server.services.kernels.kernelmanager
    functionUses: 2
    functionsReached:
    - jupyter_client.multikernelmanager.MultiKernelManager.get_kernel
    - <builtin>.isinstance
    - jupyter_client.multikernelmanager.MultiKernelManager._check_kernel_id
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 6
    IfCount: 1
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - kernel_id
    - session_key
    - channels
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 323
    functionName: jupyter_server.services.kernels.kernelmanager.MappingKernelManager.start_buffering
    functionSourceFile: jupyter_server.services.kernels.kernelmanager
    functionUses: 0
    functionsReached:
    - jupyter_server.services.kernels.kernelmanager.MappingKernelManager.stop_buffering
    - traitlets.Any.pop
    - channels.items
    - stream.close
    - stream.on_recv
    - functools.partial
    - <builtin>.len
    - jupyter_server.services.kernels.kernelmanager.MappingKernelManager._check_kernel_id
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: channels.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: stream.close
    functionSourceFile: <builtin>
    functionUses: 12
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - kernel_id
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 528
    functionName: jupyter_server.services.kernels.kernelmanager.MappingKernelManager._check_kernel_id
    functionSourceFile: ''
    functionUses: 9
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 6
    IfCount: 3
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - kernel_id
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 387
    functionName: jupyter_server.services.kernels.kernelmanager.MappingKernelManager.stop_buffering
    functionSourceFile: jupyter_server.services.kernels.kernelmanager
    functionUses: 5
    functionsReached:
    - traitlets.Any.pop
    - stream.close
    - stream.on_recv
    - <builtin>.len
    - jupyter_server.services.kernels.kernelmanager.MappingKernelManager._check_kernel_id
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - channel
    - msg_parts
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 355
    functionName: jupyter_server.services.kernels.kernelmanager.MappingKernelManager.start_buffering.buffer_msg
    functionSourceFile: jupyter_server.services.kernels.kernelmanager
    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: stream.on_recv
    functionSourceFile: <builtin>
    functionUses: 12
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    IfCount: 2
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - kernel_id
    - session_key
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 362
    functionName: jupyter_server.services.kernels.kernelmanager.MappingKernelManager.get_buffer
    functionSourceFile: jupyter_server.services.kernels.kernelmanager
    functionUses: 0
    functionsReached:
    - jupyter_server.services.kernels.kernelmanager.MappingKernelManager.stop_buffering
    - traitlets.Any.pop
    - stream.close
    - stream.on_recv
    - <builtin>.len
    - jupyter_server.services.kernels.kernelmanager.MappingKernelManager._check_kernel_id
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: traitlets.Any.pop
    functionSourceFile: traitlets
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 6
    IfCount: 1
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7fc4ab6103d0>
    - <ast.Constant object at 0x7fc4ab6103a0>
    argNames:
    - self
    - kernel_id
    - now
    - restart
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 415
    functionName: jupyter_server.services.kernels.kernelmanager.MappingKernelManager._async_shutdown_kernel
    functionSourceFile: jupyter_server.services.kernels.kernelmanager
    functionUses: 2
    functionsReached:
    - jupyter_client.multikernelmanager.MultiKernelManager.get_kernel
    - jupyter_server.services.kernels.kernelmanager.MappingKernelManager.stop_buffering
    - jupyter_core.utils.ensure_async
    - stream.close
    - <builtin>.len
    - jupyter_server.services.kernels.kernelmanager.MappingKernelManager._check_kernel_id
    - jupyter_client.multikernelmanager.MultiKernelManager.remove_kernel
    - notebook.prometheus.metrics.KERNEL_CURRENTLY_RUNNING_TOTAL.labels
    - traitlets.config.LoggingConfigurable.shutdown_kernel
    - <builtin>.getattr
    - traitlets.config.LoggingConfigurable.ready.exception
    - typing.cast
    - jupyter_client.multikernelmanager.MultiKernelManager._remove_kernel_when_ready
    - traitlets.Any.pop
    - asyncio.ensure_future
    - kernel._pending_restart_cleanup
    - prometheus_client.Gauge.labels
    - jupyter_server.services.kernels.kernelmanager.MappingKernelManager.stop_watching_activity
    - jupyter_client.multikernelmanager.MultiKernelManager._check_kernel_id
    - kernel._activity_stream.close
    - stream.on_recv
    - traitlets.Dict.pop
    - traitlets.config.LoggingConfigurable.ready.cancelled
    - task.cancel
    - jupyter_client.multikernelmanager.MultiKernelManager._using_pending_kernels
    - jupyter_client.multikernelmanager.MultiKernelManager._async_shutdown_kernel
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: task.cancel
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 3
    IfCount: 3
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - kernel_id
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 574
    functionName: jupyter_server.services.kernels.kernelmanager.MappingKernelManager.stop_watching_activity
    functionSourceFile: jupyter_server.services.kernels.kernelmanager
    functionUses: 4
    functionsReached:
    - <builtin>.getattr
    - kernel._pending_restart_cleanup
    - kernel._activity_stream.close
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 8
    IfCount: 1
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7fc4ab60e580>
    argNames:
    - self
    - kernel_id
    - now
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 436
    functionName: jupyter_server.services.kernels.kernelmanager.MappingKernelManager._async_restart_kernel
    functionSourceFile: jupyter_server.services.kernels.kernelmanager
    functionUses: 0
    functionsReached:
    - jupyter_client.multikernelmanager.MultiKernelManager.get_kernel
    - traitlets.utils.importstring.import_item
    - jupyter_client.session.Session._new_auth
    - traitlets.log.get_logger.warning
    - jupyter_client.multikernelmanager.MultiKernelManager._async_restart_kernel
    - traitlets.config.LoggingConfigurable.session.send
    - <builtin>.repr
    - jupyter_core.utils.ensure_async
    - jupyter_client.session.Session._check_packers
    - traitlets.config.LoggingConfigurable.add_restart_callback
    - pickle.loads
    - <builtin>.map
    - obj.strftime
    - obj.items
    - <builtin>.len
    - <builtin>.type
    - jupyter_server.services.kernels.kernelmanager.MappingKernelManager._check_kernel_id
    - <builtin>.hasattr
    - <builtin>.float
    - jupyter_client.session.pickle_packer
    - traitlets.log.get_logger
    - loop.add_timeout
    - <builtin>.super
    - jupyter_client.session.json_unpacker
    - <builtin>.list
    - kernel.connect_iopub
    - hmac.HMAC
    - datetime.datetime.now
    - math.isnan
    - binascii.b2a_base64
    - warnings.warn
    - <builtin>.set
    - <builtin>.getattr
    - loop.time
    - jupyter_client.session.Session._check_packers.<lambda2>
    - <builtin>.str
    - tornado.ioloop.IOLoop.current
    - channel.on_recv
    - obj.isoformat
    - tornado.concurrent.Future
    - jupyter_server.services.kernels.kernelmanager.MappingKernelManager._get_changed_ports
    - json.dumps
    - jupyter_client.session.utcnow
    - jupyter_server.services.kernels.kernelmanager.MappingKernelManager.start_watching_activity
    - jupyter_client.jsonutil.squash_dates
    - <builtin>.isinstance
    - math.isinf
    - binascii.b2a_base64.decode
    - jupyter_client.session.Session.__init__
    - jupyter_client.session.Session._check_packers.<lambda1>
    - jupyter_server._tz.utcnow
    - kernel._pending_restart_cleanup
    - traitlets.config.LoggingConfigurable.ready.done
    - traitlets.config.LoggingConfigurable.connect_shell
    - <builtin>.dict
    - traitlets.Any
    - jupyter_client.jsonutil.json_clean
    - s.decode
    - jupyter_server.services.kernels.kernelmanager.MappingKernelManager.stop_watching_activity
    - json.loads
    - <builtin>.int
    - pickle.dumps
    - jupyter_client.multikernelmanager.MultiKernelManager._check_kernel_id
    - kernel._activity_stream.on_recv
    - jupyter_client.session.json_packer
    - traitlets.config.LoggingConfigurable.restart_kernel
    - kernel._activity_stream.close
    - jupyter_client.multikernelmanager.MultiKernelManager._using_pending_kernels
    - os.getpid
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: traitlets.config.LoggingConfigurable.connect_shell
    functionSourceFile: traitlets
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: tornado.concurrent.Future
    functionSourceFile: tornado
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 4
    IfCount: 1
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 445
    functionName: jupyter_server.services.kernels.kernelmanager.MappingKernelManager._async_restart_kernel.finish
    functionSourceFile: jupyter_server.services.kernels.kernelmanager
    functionUses: 3
    functionsReached:
    - traitlets.config.LoggingConfigurable.remove_restart_callback
    - loop.remove_timeout
    - channel.closed
    - channel.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: channel.closed
    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: channel.close
    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: loop.remove_timeout
    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: traitlets.config.LoggingConfigurable.remove_restart_callback
    functionSourceFile: traitlets
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - msg
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 453
    functionName: jupyter_server.services.kernels.kernelmanager.MappingKernelManager._async_restart_kernel.on_reply
    functionSourceFile: jupyter_server.services.kernels.kernelmanager
    functionUses: 0
    functionsReached:
    - loop.remove_timeout
    - future.set_result
    - channel.close
    - traitlets.config.LoggingConfigurable.remove_restart_callback
    - future.done
    - channel.closed
    - jupyter_server.services.kernels.kernelmanager.MappingKernelManager._async_restart_kernel.finish
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: future.done
    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: future.set_result
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 459
    functionName: jupyter_server.services.kernels.kernelmanager.MappingKernelManager._async_restart_kernel.on_timeout
    functionSourceFile: jupyter_server.services.kernels.kernelmanager
    functionUses: 0
    functionsReached:
    - loop.remove_timeout
    - channel.close
    - traitlets.config.LoggingConfigurable.remove_restart_callback
    - future.set_exception
    - <builtin>.TimeoutError
    - future.done
    - channel.closed
    - jupyter_server.services.kernels.kernelmanager.MappingKernelManager._async_restart_kernel.finish
    linkageType: pythonLinkage
    raised: []
    returnType: N/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>.TimeoutError
    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: future.set_exception
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 465
    functionName: jupyter_server.services.kernels.kernelmanager.MappingKernelManager._async_restart_kernel.on_restart_failed
    functionSourceFile: jupyter_server.services.kernels.kernelmanager
    functionUses: 0
    functionsReached:
    - <builtin>.RuntimeError
    - loop.remove_timeout
    - channel.close
    - traitlets.config.LoggingConfigurable.remove_restart_callback
    - future.set_exception
    - future.done
    - channel.closed
    - jupyter_server.services.kernels.kernelmanager.MappingKernelManager._async_restart_kernel.finish
    linkageType: pythonLinkage
    raised: []
    returnType: N/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>.RuntimeError
    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: traitlets.config.LoggingConfigurable.add_restart_callback
    functionSourceFile: traitlets
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: traitlets.config.LoggingConfigurable.session.send
    functionSourceFile: traitlets
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: channel.on_recv
    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: loop.add_timeout
    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
    - kernel_id
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 485
    functionName: jupyter_server.services.kernels.kernelmanager.MappingKernelManager.notify_connect
    functionSourceFile: jupyter_server.services.kernels.kernelmanager
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - kernel_id
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 490
    functionName: jupyter_server.services.kernels.kernelmanager.MappingKernelManager.notify_disconnect
    functionSourceFile: jupyter_server.services.kernels.kernelmanager
    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
    - kernel_id
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 495
    functionName: jupyter_server.services.kernels.kernelmanager.MappingKernelManager.kernel_model
    functionSourceFile: jupyter_server.services.kernels.kernelmanager
    functionUses: 1
    functionsReached:
    - traitlets.Dict.get
    - dt.isoformat
    - jupyter_server._tz.isoformat
    - <builtin>.getattr
    - jupyter_server.services.kernels.kernelmanager.MappingKernelManager._check_kernel_id
    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: 514
    functionName: jupyter_server.services.kernels.kernelmanager.MappingKernelManager.list_kernels
    functionSourceFile: jupyter_server.services.kernels.kernelmanager
    functionUses: 0
    functionsReached:
    - traitlets.utils.importstring.import_item
    - kernels.append
    - v.index
    - zmq.Context
    - kwargs.setdefault
    - pathlib.Path.is_dir
    - dt.isoformat
    - pathlib.Path
    - jupyter_client.multikernelmanager.MultiKernelManager.list_kernel_ids
    - jupyter_server.services.kernels.kernelmanager.MappingKernelManager._check_kernel_id
    - <builtin>.list
    - jupyter_client.multikernelmanager.MultiKernelManager.new_kernel_id
    - connection_file.read_text
    - datetime.datetime.now
    - <builtin>.getattr
    - <builtin>.str
    - traitlets.Dict.keys
    - km.ready.set_result
    - traitlets.Dict.get
    - jupyter_client.session.utcnow
    - jupyter_client.multikernelmanager.MultiKernelManager._create_kernel_manager_factory.create_kernel_manager
    - km.load_connection_info
    - jupyter_server.services.kernels.kernelmanager.MappingKernelManager.kernel_model
    - traitlets.config.configurable.LoggingConfigurable.kernel_id_to_connection_file.keys
    - traitlets.Any
    - uuid.uuid4
    - json.loads
    - traitlets.config.configurable.LoggingConfigurable.kernel_id_to_connection_file.values
    - pathlib.Path.iterdir
    - jupyter_server._tz.isoformat
    - p.is_file
    - jupyter_client.multikernelmanager.MultiKernelManager._context_default
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: kernels.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: kernel.connect_iopub
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - msg_list
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 552
    functionName: jupyter_server.services.kernels.kernelmanager.MappingKernelManager.start_watching_activity.record_activity
    functionSourceFile: jupyter_server.services.kernels.kernelmanager
    functionUses: 0
    functionsReached:
    - traitlets.utils.importstring.import_item
    - jupyter_client.jsonutil._ensure_tzinfo
    - <builtin>.sorted
    - jupyter_client.jsonutil.parse_date
    - adapters.get
    - dateutil.parser.parse.items
    - hmac.compare_digest
    - pickle.loads
    - traitlets.Instance.copy
    - random.sample
    - <builtin>.memoryview
    - <builtin>.len
    - jupyter_client.jsonutil.extract_dates
    - jupyter_client.session.Session._cull_digest_history
    - traitlets.Set.difference_update
    - jupyter_client.session.json_unpacker
    - traitlets.Set.add
    - h.hexdigest
    - datetime.datetime.now
    - warnings.warn
    - <builtin>.set
    - jupyter_client.session.Session.sign
    - dateutil.parser.parse
    - jupyter_client.session.Session._check_packers.<lambda2>
    - pprint.pprint
    - <builtin>.bytes
    - typing.cast
    - jupyter_client.session.utcnow
    - jupyter_client.session.Session.feed_identities
    - <builtin>.isinstance
    - jupyter_client.session.Session._add_digest
    - <builtin>.enumerate
    - jupyter_server._tz.utcnow
    - h.update
    - traitlets.Any
    - <builtin>.max
    - s.decode
    - json.loads
    - <builtin>.int
    - ISO8601_PAT.match
    - dateutil.parser.parse.replace
    - <builtin>.tuple
    - jupyter_client.adapter.adapt
    - jupyter_client.session.Session.deserialize
    - msg_list.index
    - dateutil.tz.tzlocal
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: kernel._activity_stream.on_recv
    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: kernel._activity_stream.close
    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: kernel._pending_restart_cleanup
    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: tornado.ioloop.PeriodicCallback.start
    functionSourceFile: tornado
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 5
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 616
    functionName: jupyter_server.services.kernels.kernelmanager.MappingKernelManager.cull_kernels
    functionSourceFile: jupyter_server.services.kernels.kernelmanager
    functionUses: 0
    functionsReached:
    - jupyter_client.multikernelmanager.MultiKernelManager.get_kernel
    - jupyter_server.services.kernels.kernelmanager.MappingKernelManager.stop_buffering
    - jupyter_server.services.kernels.kernelmanager.MappingKernelManager.cull_kernel_if_idle
    - jupyter_core.utils.ensure_async
    - dt_idle.total_seconds
    - stream.close
    - <builtin>.len
    - <builtin>.hasattr
    - jupyter_server.services.kernels.kernelmanager.MappingKernelManager._check_kernel_id
    - jupyter_client.multikernelmanager.MultiKernelManager.remove_kernel
    - <builtin>.list
    - datetime.timedelta
    - notebook.prometheus.metrics.KERNEL_CURRENTLY_RUNNING_TOTAL.labels
    - traitlets.config.LoggingConfigurable.shutdown_kernel
    - datetime.datetime.now
    - <builtin>.getattr
    - traitlets.Dict.get
    - traitlets.config.LoggingConfigurable.ready.exception
    - typing.cast
    - jupyter_client.multikernelmanager.MultiKernelManager._remove_kernel_when_ready
    - traitlets.Any.pop
    - asyncio.ensure_future
    - jupyter_server.services.kernels.kernelmanager.MappingKernelManager._async_shutdown_kernel
    - jupyter_server._tz.utcnow
    - kernel._pending_restart_cleanup
    - prometheus_client.Gauge.labels
    - jupyter_server.services.kernels.kernelmanager.MappingKernelManager.stop_watching_activity
    - <builtin>.int
    - jupyter_client.multikernelmanager.MultiKernelManager._check_kernel_id
    - kernel._activity_stream.close
    - stream.on_recv
    - traitlets.Dict.pop
    - traitlets.config.LoggingConfigurable.ready.cancelled
    - task.cancel
    - jupyter_client.multikernelmanager.MultiKernelManager._using_pending_kernels
    - kernel_spec_metadata.get
    - jupyter_client.multikernelmanager.MultiKernelManager._async_shutdown_kernel
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 6
    IfCount: 3
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - kernel_id
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 634
    functionName: jupyter_server.services.kernels.kernelmanager.MappingKernelManager.cull_kernel_if_idle
    functionSourceFile: jupyter_server.services.kernels.kernelmanager
    functionUses: 1
    functionsReached:
    - jupyter_client.multikernelmanager.MultiKernelManager.get_kernel
    - jupyter_server.services.kernels.kernelmanager.MappingKernelManager.stop_buffering
    - jupyter_core.utils.ensure_async
    - dt_idle.total_seconds
    - stream.close
    - <builtin>.len
    - <builtin>.hasattr
    - jupyter_server.services.kernels.kernelmanager.MappingKernelManager._check_kernel_id
    - jupyter_client.multikernelmanager.MultiKernelManager.remove_kernel
    - datetime.timedelta
    - notebook.prometheus.metrics.KERNEL_CURRENTLY_RUNNING_TOTAL.labels
    - traitlets.config.LoggingConfigurable.shutdown_kernel
    - datetime.datetime.now
    - <builtin>.getattr
    - traitlets.Dict.get
    - traitlets.config.LoggingConfigurable.ready.exception
    - typing.cast
    - jupyter_client.multikernelmanager.MultiKernelManager._remove_kernel_when_ready
    - traitlets.Any.pop
    - asyncio.ensure_future
    - jupyter_server.services.kernels.kernelmanager.MappingKernelManager._async_shutdown_kernel
    - jupyter_server._tz.utcnow
    - kernel._pending_restart_cleanup
    - prometheus_client.Gauge.labels
    - jupyter_server.services.kernels.kernelmanager.MappingKernelManager.stop_watching_activity
    - <builtin>.int
    - jupyter_client.multikernelmanager.MultiKernelManager._check_kernel_id
    - kernel._activity_stream.close
    - stream.on_recv
    - traitlets.Dict.pop
    - traitlets.config.LoggingConfigurable.ready.cancelled
    - task.cancel
    - jupyter_client.multikernelmanager.MultiKernelManager._using_pending_kernels
    - kernel_spec_metadata.get
    - jupyter_client.multikernelmanager.MultiKernelManager._async_shutdown_kernel
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: kernel_spec_metadata.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: dt_idle.total_seconds
    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: jupyter_server.services.kernels.kernelmanager.AsyncMappingKernelManager
    functionSourceFile: jupyter_server.services.kernels.kernelmanager
    functionUses: 0
    functionsReached:
    - traitlets.validate
    - traitlets.default
    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: 687
    functionName: jupyter_server.services.kernels.kernelmanager.AsyncMappingKernelManager._default_kernel_manager_class
    functionSourceFile: jupyter_server.services.kernels.kernelmanager
    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
    - proposal
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 691
    functionName: jupyter_server.services.kernels.kernelmanager.AsyncMappingKernelManager._validate_kernel_manager_class
    functionSourceFile: jupyter_server.services.kernels.kernelmanager
    functionUses: 0
    functionsReached:
    - <builtin>.__import__
    - <builtin>.issubclass
    - traitlets.Any.rsplit
    - jupyter_server.utils.import_item
    - warnings.warn
    - <builtin>.len
    - <builtin>.getattr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 705
    functionName: jupyter_server.services.kernels.kernelmanager.AsyncMappingKernelManager.__init__
    functionSourceFile: jupyter_server.services.kernels.kernelmanager
    functionUses: 0
    functionsReached:
    - <builtin>.super
    - jupyter_server._tz.utcnow
    - jupyter_client.multikernelmanager.MultiKernelManager.__init__
    - datetime.datetime.now
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues:
    - <ast.Constant object at 0x7fc4aacd4d90>
    argNames:
    - success_msg
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 713
    functionName: jupyter_server.services.kernels.kernelmanager.emit_kernel_action_event
    functionSourceFile: jupyter_server.services.kernels.kernelmanager
    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:
    - method
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 734
    functionName: jupyter_server.services.kernels.kernelmanager.emit_kernel_action_event.wrap_method
    functionSourceFile: jupyter_server.services.kernels.kernelmanager
    functionUses: 2
    functionsReached:
    - functools.wraps
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 3
    IfCount: 3
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 736
    functionName: jupyter_server.services.kernels.kernelmanager.emit_kernel_action_event.wrap_method.wrapped_method
    functionSourceFile: jupyter_server.services.kernels.kernelmanager
    functionUses: 0
    functionsReached:
    - method.__name__.replace
    - success_msg.format
    - <builtin>.isinstance
    - <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: method.__name__.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: success_msg.format
    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: jupyter_server.services.kernels.kernelmanager.ServerKernelManager
    functionSourceFile: jupyter_server.services.kernels.kernelmanager
    functionUses: 0
    functionsReached:
    - traitlets.List
    - jupyter_server.services.kernels.kernelmanager.emit_kernel_action_event
    - functools.wraps
    - jupyter_server.services.kernels.kernelmanager.emit_kernel_action_event.wrap_method
    - traitlets.Instance
    - traitlets.Unicode
    - traitlets.default
    - overrides.overrides
    - traitlets.List.tag
    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: 800
    functionName: jupyter_server.services.kernels.kernelmanager.ServerKernelManager.core_event_schema_paths
    functionSourceFile: jupyter_server.services.kernels.kernelmanager
    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: traitlets.List.tag
    functionSourceFile: traitlets
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 816
    functionName: jupyter_server.services.kernels.kernelmanager.ServerKernelManager._default_event_logger
    functionSourceFile: jupyter_server.services.kernels.kernelmanager
    functionUses: 0
    functionsReached:
    - <builtin>.hasattr
    - jupyter_events.EventLogger.register_event_schema
    - jupyter_events.EventLogger
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - schema_id
    - data
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 838
    functionName: jupyter_server.services.kernels.kernelmanager.ServerKernelManager.emit
    functionSourceFile: jupyter_server.services.kernels.kernelmanager
    functionUses: 0
    functionsReached:
    - traitlets.Instance.emit
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: traitlets.Instance.emit
    functionSourceFile: traitlets
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: overrides.overrides
    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: 1
    functionLinenumber: 846
    functionName: jupyter_server.services.kernels.kernelmanager.ServerKernelManager.start_kernel
    functionSourceFile: jupyter_server.services.kernels.kernelmanager
    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: []
    argNames:
    - self
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 853
    functionName: jupyter_server.services.kernels.kernelmanager.ServerKernelManager.shutdown_kernel
    functionSourceFile: jupyter_server.services.kernels.kernelmanager
    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: []
    argNames:
    - self
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 860
    functionName: jupyter_server.services.kernels.kernelmanager.ServerKernelManager.restart_kernel
    functionSourceFile: jupyter_server.services.kernels.kernelmanager
    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: []
    argNames:
    - self
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 867
    functionName: jupyter_server.services.kernels.kernelmanager.ServerKernelManager.interrupt_kernel
    functionSourceFile: jupyter_server.services.kernels.kernelmanager
    functionUses: 0
    functionsReached:
    - <builtin>.super
    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: jupyter_client.ioloop.manager
    functionSourceFile: jupyter_client.ioloop.manager
    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: 0
    functionLinenumber: 15
    functionName: jupyter_client.ioloop.manager.as_zmqstream
    functionSourceFile: jupyter_client.ioloop.manager
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 18
    functionName: jupyter_client.ioloop.manager.as_zmqstream.wrapped
    functionSourceFile: jupyter_client.ioloop.manager
    functionUses: 0
    functionsReached:
    - jupyter_client.connect.ConnectionFileMixin.connect_control
    - jupyter_client.connect.ConnectionFileMixin.connect_shell
    - jupyter_client.connect.ConnectionFileMixin._create_connected_socket
    - jupyter_client.connect.ConnectionFileMixin.connect_stdin
    - jupyter_client.connect.ConnectionFileMixin.connect_iopub
    - zmq.eventloop.zmqstream.ZMQStream
    - jupyter_client.connect.ConnectionFileMixin.connect_hb
    - traitlets.Instance.socket
    - jupyter_client.connect.ConnectionFileMixin._make_url
    - traitlets.config.LoggingConfigurable.log.debug
    - sock.connect
    - <builtin>.getattr
    - sock.setsockopt
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: zmq.eventloop.zmqstream.ZMQStream
    functionSourceFile: zmq
    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: jupyter_client.ioloop.manager.IOLoopKernelManager
    functionSourceFile: jupyter_client.ioloop.manager
    functionUses: 0
    functionsReached:
    - jupyter_client.ioloop.manager.as_zmqstream
    - traitlets.Instance
    - traitlets.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: 1
    functionLinenumber: 40
    functionName: jupyter_client.ioloop.manager.IOLoopKernelManager._loop_default
    functionSourceFile: jupyter_client.ioloop.manager
    functionUses: 0
    functionsReached:
    - tornado.ioloop.IOLoop.current
    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: 55
    functionName: jupyter_client.ioloop.manager.IOLoopKernelManager.start_restarter
    functionSourceFile: jupyter_client.ioloop.manager
    functionUses: 0
    functionsReached:
    - traitlets.Type
    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: 0
    functionLinenumber: 64
    functionName: jupyter_client.ioloop.manager.IOLoopKernelManager.stop_restarter
    functionSourceFile: jupyter_client.ioloop.manager
    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: jupyter_client.ioloop.manager.AsyncIOLoopKernelManager
    functionSourceFile: jupyter_client.ioloop.manager
    functionUses: 0
    functionsReached:
    - jupyter_client.ioloop.manager.as_zmqstream
    - traitlets.Instance
    - traitlets.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: 1
    functionLinenumber: 81
    functionName: jupyter_client.ioloop.manager.AsyncIOLoopKernelManager._loop_default
    functionSourceFile: jupyter_client.ioloop.manager
    functionUses: 0
    functionsReached:
    - tornado.ioloop.IOLoop.current
    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: 98
    functionName: jupyter_client.ioloop.manager.AsyncIOLoopKernelManager.start_restarter
    functionSourceFile: jupyter_client.ioloop.manager
    functionUses: 0
    functionsReached:
    - traitlets.Type
    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: 0
    functionLinenumber: 107
    functionName: jupyter_client.ioloop.manager.AsyncIOLoopKernelManager.stop_restarter
    functionSourceFile: jupyter_client.ioloop.manager
    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: jupyter_client.ioloop.restarter
    functionSourceFile: jupyter_client.ioloop.restarter
    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: jupyter_client.ioloop.restarter.IOLoopKernelRestarter
    functionSourceFile: jupyter_client.ioloop.restarter
    functionUses: 0
    functionsReached:
    - traitlets.Instance
    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: 22
    functionName: jupyter_client.ioloop.restarter.IOLoopKernelRestarter._loop_default
    functionSourceFile: jupyter_client.ioloop.restarter
    functionUses: 0
    functionsReached:
    - tornado.ioloop.IOLoop.current
    - warnings.warn
    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: 34
    functionName: jupyter_client.ioloop.restarter.IOLoopKernelRestarter.start
    functionSourceFile: jupyter_client.ioloop.restarter
    functionUses: 0
    functionsReached:
    - tornado.ioloop.PeriodicCallback.start
    - tornado.ioloop.PeriodicCallback
    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: 45
    functionName: jupyter_client.ioloop.restarter.IOLoopKernelRestarter.stop
    functionSourceFile: jupyter_client.ioloop.restarter
    functionUses: 1
    functionsReached:
    - tornado.ioloop.PeriodicCallback.stop
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: tornado.ioloop.PeriodicCallback.stop
    functionSourceFile: tornado
    functionUses: 3
    functionsReached: []
    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: 2
    functionLinenumber: 55
    functionName: jupyter_client.ioloop.restarter.AsyncIOLoopKernelRestarter.poll
    functionSourceFile: jupyter_client.ioloop.restarter
    functionUses: 0
    functionsReached:
    - jupyter_client.restarter.KernelRestarter._fire_callbacks
    - jupyter_client.ioloop.restarter.IOLoopKernelRestarter.stop
    - tornado.ioloop.PeriodicCallback.stop
    - traitlets.Instance.restart_kernel
    - traitlets.Instance.provisioner.get_stable_start_time
    - traitlets.Instance.is_alive
    - time.time
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: traitlets.Instance.is_alive
    functionSourceFile: traitlets
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 3
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - event
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 101
    functionName: jupyter_client.restarter.KernelRestarter._fire_callbacks
    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: traitlets.Instance.restart_kernel
    functionSourceFile: traitlets
    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: traitlets.Instance.provisioner.get_stable_start_time
    functionSourceFile: traitlets
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: jupyter_client.restarter
    functionSourceFile: jupyter_client.restarter
    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: jupyter_client.restarter.KernelRestarter
    functionSourceFile: jupyter_client.restarter
    functionUses: 0
    functionsReached:
    - traitlets.Instance
    - traitlets.Integer
    - traitlets.Float
    - traitlets.default
    - traitlets.Bool
    - traitlets.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: 58
    functionName: jupyter_client.restarter.KernelRestarter._default_last_dead
    functionSourceFile: jupyter_client.restarter
    functionUses: 0
    functionsReached:
    - time.time
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 63
    functionName: jupyter_client.restarter.KernelRestarter._callbacks_default
    functionSourceFile: jupyter_client.restarter
    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: 66
    functionName: jupyter_client.restarter.KernelRestarter.start
    functionSourceFile: jupyter_client.restarter
    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: 0
    functionLinenumber: 71
    functionName: jupyter_client.restarter.KernelRestarter.stop
    functionSourceFile: jupyter_client.restarter
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - NotImplementedError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7fc4ab6f3250>
    argNames:
    - self
    - f
    - event
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 76
    functionName: jupyter_client.restarter.KernelRestarter.add_callback
    functionSourceFile: jupyter_client.restarter
    functionUses: 0
    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 0x7fc4ab5ee550>
    argNames:
    - self
    - f
    - event
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 87
    functionName: jupyter_client.restarter.KernelRestarter.remove_callback
    functionSourceFile: jupyter_client.restarter
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 12
    ICount: 9
    IfCount: 8
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 114
    functionName: jupyter_client.restarter.KernelRestarter.poll
    functionSourceFile: jupyter_client.restarter
    functionUses: 0
    functionsReached:
    - jupyter_client.restarter.KernelRestarter._fire_callbacks
    - jupyter_client.restarter.KernelRestarter.stop
    - traitlets.Instance.restart_kernel
    - traitlets.Instance.provisioner.get_stable_start_time
    - traitlets.Instance.is_alive
    - time.time
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: jupyter_client.ioloop
    functionSourceFile: jupyter_client.ioloop
    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: -1
    functionName: jupyter_server.prometheus.metrics
    functionSourceFile: jupyter_server.prometheus.metrics
    functionUses: 0
    functionsReached:
    - prometheus_client.Gauge
    - prometheus_client.Histogram
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: prometheus_client.Histogram
    functionSourceFile: prometheus_client
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: prometheus_client.Gauge
    functionSourceFile: prometheus_client
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: jupyter_server.prometheus
    functionSourceFile: jupyter_server.prometheus
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 11
    IfCount: 1
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: jupyter_server.extension.serverextension
    functionSourceFile: jupyter_server.extension.serverextension
    functionUses: 0
    functionsReached:
    - _base_flags.pop
    - jupyter_core.application.JupyterApp.launch_instance
    - _base_flags.update
    - _base_aliases.update
    - flags.update
    - flags.pop
    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 0x7fc4aaf48280>
    - <ast.Constant object at 0x7fc4aaf48250>
    argNames:
    - user
    - sys_prefix
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 21
    functionName: jupyter_server.extension.serverextension._get_config_dir
    functionSourceFile: jupyter_server.extension.serverextension
    functionUses: 7
    functionsReached:
    - jupyter_core.paths.jupyter_config_dir
    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 0x7fc4aaf4ba60>
    - <ast.Constant object at 0x7fc4aaf4ba30>
    - <ast.Constant object at 0x7fc4aaf4ba00>
    argNames:
    - write_dir
    - user
    - sys_prefix
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 44
    functionName: jupyter_server.extension.serverextension._get_extmanager_for_context
    functionSourceFile: jupyter_server.extension.serverextension
    functionUses: 2
    functionsReached:
    - jupyter_core.paths.jupyter_config_dir
    - jupyter_server.extension.serverextension._get_config_dir
    - os.path.join
    - traitlets.config.LoggingConfigurable.__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: _base_flags.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: _base_flags.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: _base_aliases.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: 1
    functionLinenumber: -1
    functionName: jupyter_server.extension.serverextension.BaseExtensionApp
    functionSourceFile: jupyter_server.extension.serverextension
    functionUses: 0
    functionsReached:
    - traitlets.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: 134
    functionName: jupyter_server.extension.serverextension.BaseExtensionApp._log_format_default
    functionSourceFile: jupyter_server.extension.serverextension
    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: 139
    functionName: jupyter_server.extension.serverextension.BaseExtensionApp.config_dir
    functionSourceFile: jupyter_server.extension.serverextension
    functionUses: 0
    functionsReached:
    - jupyter_core.paths.jupyter_config_dir
    - jupyter_server.extension.serverextension._get_config_dir
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 5
    argDefaultValues:
    - <ast.Constant object at 0x7fc4ac86d2b0>
    - <ast.Constant object at 0x7fc4ac86dcd0>
    - <ast.Constant object at 0x7fc4ac86d100>
    - <ast.Constant object at 0x7fc4ab04b9d0>
    argNames:
    - import_name
    - enabled
    - parent
    - user
    - sys_prefix
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 155
    functionName: jupyter_server.extension.serverextension.toggle_server_extension_python
    functionSourceFile: jupyter_server.extension.serverextension
    functionUses: 0
    functionsReached:
    - json.load
    - jupyter_core.paths.jupyter_config_dir
    - <builtin>.sorted
    - new.items
    - jupyter_server.services.config.manager.ConfigManager.update
    - jupyter_server.config_manager.BaseJSONConfigManager.ensure_config_dir_exists
    - jupyter_server.config_manager.BaseJSONConfigManager.update
    - jupyter_server.extension.config.ExtensionConfigManager.disable
    - jupyter_server.config_manager.BaseJSONConfigManager.set
    - <builtin>.list
    - jupyter_server.config_manager.BaseJSONConfigManager.get
    - copy.deepcopy
    - traitlets.config.LoggingConfigurable.log.debug
    - jupyter_server.config_manager.remove_defaults
    - data.items
    - <builtin>.open
    - glob.glob
    - jupyter_server.config_manager.BaseJSONConfigManager.file_name
    - f.write
    - os.path.join
    - json.dumps
    - jupyter_server.extension.config.ExtensionConfigManager.enable
    - <builtin>.isinstance
    - target.pop
    - traitlets.Instance.update
    - os.makedirs
    - os.path.isfile
    - jupyter_server.extension.serverextension._get_config_dir
    - traitlets.config.LoggingConfigurable.__init__
    - jupyter_server.config_manager.BaseJSONConfigManager.directory
    - jupyter_server.config_manager.recursive_update
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 27
    functionName: jupyter_server.extension.config.ExtensionConfigManager.enable
    functionSourceFile: jupyter_server.extension.config
    functionUses: 1
    functionsReached:
    - json.load
    - <builtin>.sorted
    - new.items
    - jupyter_server.services.config.manager.ConfigManager.update
    - jupyter_server.config_manager.BaseJSONConfigManager.ensure_config_dir_exists
    - jupyter_server.config_manager.BaseJSONConfigManager.update
    - jupyter_server.config_manager.BaseJSONConfigManager.set
    - <builtin>.list
    - copy.deepcopy
    - jupyter_server.config_manager.BaseJSONConfigManager.get
    - data.items
    - jupyter_server.config_manager.remove_defaults
    - traitlets.config.LoggingConfigurable.log.debug
    - <builtin>.open
    - glob.glob
    - jupyter_server.config_manager.BaseJSONConfigManager.file_name
    - f.write
    - os.path.join
    - json.dumps
    - <builtin>.isinstance
    - target.pop
    - traitlets.Instance.update
    - os.makedirs
    - os.path.isfile
    - jupyter_server.config_manager.BaseJSONConfigManager.directory
    - jupyter_server.config_manager.recursive_update
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 32
    functionName: jupyter_server.extension.config.ExtensionConfigManager.disable
    functionSourceFile: jupyter_server.extension.config
    functionUses: 1
    functionsReached:
    - json.load
    - <builtin>.sorted
    - new.items
    - jupyter_server.services.config.manager.ConfigManager.update
    - jupyter_server.config_manager.BaseJSONConfigManager.ensure_config_dir_exists
    - jupyter_server.config_manager.BaseJSONConfigManager.update
    - jupyter_server.config_manager.BaseJSONConfigManager.set
    - <builtin>.list
    - copy.deepcopy
    - jupyter_server.config_manager.BaseJSONConfigManager.get
    - data.items
    - jupyter_server.config_manager.remove_defaults
    - traitlets.config.LoggingConfigurable.log.debug
    - <builtin>.open
    - glob.glob
    - jupyter_server.config_manager.BaseJSONConfigManager.file_name
    - f.write
    - os.path.join
    - json.dumps
    - <builtin>.isinstance
    - target.pop
    - traitlets.Instance.update
    - os.makedirs
    - os.path.isfile
    - jupyter_server.config_manager.BaseJSONConfigManager.directory
    - jupyter_server.config_manager.recursive_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: flags.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: 1
    functionLinenumber: -1
    functionName: jupyter_server.extension.serverextension.ToggleServerExtensionApp
    functionSourceFile: jupyter_server.extension.serverextension
    functionUses: 0
    functionsReached:
    - traitlets.Bool
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - import_name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 240
    functionName: jupyter_server.extension.serverextension.ToggleServerExtensionApp.toggle_server_extension
    functionSourceFile: jupyter_server.extension.serverextension
    functionUses: 1
    functionsReached:
    - traitlets.config.LoggingConfigurable.log.warning
    - jupyter_core.paths.jupyter_config_dir
    - jupyter_server.extension.serverextension._get_extmanager_for_context
    - module._jupyter_server_extension_paths
    - importlib.import_module
    - config.enable
    - <builtin>.super
    - jupyter_server.extension.manager.ExtensionPackage.__init__
    - jupyter_server.extension.manager.ExtensionPackage.validate
    - traitlets.HasTraits.__init__
    - traitlets.config.LoggingConfigurable.log.debug
    - jupyter_core.application.JupyterApp.log.info
    - os.path.join
    - jupyter_server.extension.manager.ExtensionPackage._load_metadata
    - module._jupyter_server_extension_points
    - extension.validate
    - <builtin>.all
    - jupyter_server.extension.serverextension._get_config_dir
    - config.disable
    - traitlets.config.LoggingConfigurable.__init__
    - time.perf_counter
    - jupyter_server.extension.utils.get_metadata
    - traitlets.Dict.values
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 182
    functionName: jupyter_server.extension.manager.ExtensionPackage.__init__
    functionSourceFile: jupyter_server.extension.manager
    functionUses: 12
    functionsReached:
    - jupyter_server.extension.manager.ExtensionPackage._load_metadata
    - traitlets.config.LoggingConfigurable.log.warning
    - traitlets.config.LoggingConfigurable.log.debug
    - <builtin>.super
    - module._jupyter_server_extension_points
    - time.perf_counter
    - jupyter_server.extension.utils.get_metadata
    - traitlets.HasTraits.__init__
    - module._jupyter_server_extension_paths
    - importlib.import_module
    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: 208
    functionName: jupyter_server.extension.manager.ExtensionPackage.validate
    functionSourceFile: jupyter_server.extension.manager
    functionUses: 4
    functionsReached:
    - extension.validate
    - traitlets.Dict.values
    - <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: config.enable
    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: config.disable
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 280
    functionName: jupyter_server.extension.serverextension.ToggleServerExtensionApp.start
    functionSourceFile: jupyter_server.extension.serverextension
    functionUses: 0
    functionsReached:
    - traitlets.config.LoggingConfigurable.log.warning
    - jupyter_core.paths.jupyter_config_dir
    - jupyter_server.extension.serverextension._get_extmanager_for_context
    - module._jupyter_server_extension_paths
    - importlib.import_module
    - config.enable
    - jupyter_server.extension.serverextension.ToggleServerExtensionApp.toggle_server_extension
    - <builtin>.super
    - jupyter_server.extension.manager.ExtensionPackage.__init__
    - jupyter_server.extension.manager.ExtensionPackage.validate
    - traitlets.HasTraits.__init__
    - traitlets.config.LoggingConfigurable.log.debug
    - jupyter_core.application.JupyterApp.log.info
    - os.path.join
    - jupyter_server.extension.manager.ExtensionPackage._load_metadata
    - module._jupyter_server_extension_points
    - sys.exit
    - extension.validate
    - <builtin>.all
    - jupyter_server.extension.serverextension._get_config_dir
    - config.disable
    - traitlets.config.LoggingConfigurable.__init__
    - time.perf_counter
    - jupyter_server.extension.utils.get_metadata
    - traitlets.Dict.values
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 325
    functionName: jupyter_server.extension.serverextension.ListServerExtensionsApp.list_server_extensions
    functionSourceFile: jupyter_server.extension.serverextension
    functionUses: 1
    functionsReached:
    - jpserver_extensions.items
    - json.load
    - traitlets.config.LoggingConfigurable.log.warning
    - jupyter_core.paths.jupyter_config_dir
    - <builtin>.sorted
    - new.items
    - module._jupyter_server_extension_paths
    - importlib.import_module
    - data.get
    - <builtin>.super
    - jupyter_server.extension.manager.ExtensionPackage.__init__
    - jupyter_server.config_manager.BaseJSONConfigManager.get
    - jupyter_server.extension.manager.ExtensionPackage.validate
    - traitlets.config.LoggingConfigurable.log.debug
    - traitlets.HasTraits.__init__
    - jupyter_server.services.config.manager.ConfigManager.get
    - <builtin>.open
    - jupyter_core.application.JupyterApp.log.info
    - glob.glob
    - jupyter_server.config_manager.BaseJSONConfigManager.file_name
    - os.path.join
    - jupyter_server.extension.manager.ExtensionPackage._load_metadata
    - module._jupyter_server_extension_points
    - jupyter_core.application.JupyterApp.log.warning
    - <builtin>.isinstance
    - target.pop
    - extension.validate
    - <builtin>.all
    - os.path.isfile
    - jupyter_server.extension.serverextension._get_config_dir
    - traitlets.config.LoggingConfigurable.__init__
    - <builtin>.int
    - jupyter_server.extension.config.ExtensionConfigManager.get_jpserver_extensions
    - time.perf_counter
    - jupyter_server.extension.utils.get_metadata
    - jupyter_server.config_manager.BaseJSONConfigManager.directory
    - traitlets.Dict.values
    - jupyter_server.config_manager.recursive_update
    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: jpserver_extensions.items
    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: 6
    functionLinenumber: 364
    functionName: jupyter_server.extension.serverextension.ListServerExtensionsApp.start
    functionSourceFile: jupyter_server.extension.serverextension
    functionUses: 0
    functionsReached:
    - jpserver_extensions.items
    - json.load
    - traitlets.config.LoggingConfigurable.log.warning
    - jupyter_core.paths.jupyter_config_dir
    - <builtin>.sorted
    - new.items
    - module._jupyter_server_extension_paths
    - importlib.import_module
    - data.get
    - <builtin>.super
    - jupyter_server.extension.manager.ExtensionPackage.__init__
    - jupyter_server.extension.serverextension.ListServerExtensionsApp.list_server_extensions
    - jupyter_server.config_manager.BaseJSONConfigManager.get
    - jupyter_server.extension.manager.ExtensionPackage.validate
    - traitlets.config.LoggingConfigurable.log.debug
    - traitlets.HasTraits.__init__
    - jupyter_server.services.config.manager.ConfigManager.get
    - <builtin>.open
    - jupyter_core.application.JupyterApp.log.info
    - glob.glob
    - jupyter_server.config_manager.BaseJSONConfigManager.file_name
    - os.path.join
    - jupyter_server.extension.manager.ExtensionPackage._load_metadata
    - module._jupyter_server_extension_points
    - jupyter_core.application.JupyterApp.log.warning
    - <builtin>.isinstance
    - target.pop
    - extension.validate
    - <builtin>.all
    - os.path.isfile
    - jupyter_server.extension.serverextension._get_config_dir
    - traitlets.config.LoggingConfigurable.__init__
    - <builtin>.int
    - jupyter_server.extension.config.ExtensionConfigManager.get_jpserver_extensions
    - time.perf_counter
    - jupyter_server.extension.utils.get_metadata
    - jupyter_server.config_manager.BaseJSONConfigManager.directory
    - traitlets.Dict.values
    - jupyter_server.config_manager.recursive_update
    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: 390
    functionName: jupyter_server.extension.serverextension.ServerExtensionApp.start
    functionSourceFile: jupyter_server.extension.serverextension
    functionUses: 0
    functionsReached:
    - <builtin>.super
    - sys.exit
    - <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: jupyter_core.application.JupyterApp.launch_instance
    functionSourceFile: jupyter_core
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: jupyter_server.extension.manager
    functionSourceFile: jupyter_server.extension.manager
    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: jupyter_server.extension.manager.ExtensionPoint
    functionSourceFile: jupyter_server.extension.manager
    functionUses: 0
    functionsReached:
    - traitlets.validate
    - traitlets.Bool
    - traitlets.Dict
    - traitlets.Any
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - proposed
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 27
    functionName: jupyter_server.extension.manager.ExtensionPoint._valid_metadata
    functionSourceFile: jupyter_server.extension.manager
    functionUses: 0
    functionsReached:
    - importlib.import_module
    linkageType: pythonLinkage
    raised:
    - ExtensionModuleNotFound
    - ExtensionMetadataError
    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: 51
    functionName: jupyter_server.extension.manager.ExtensionPoint.linked
    functionSourceFile: jupyter_server.extension.manager
    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: 62
    functionName: jupyter_server.extension.manager.ExtensionPoint.app
    functionSourceFile: jupyter_server.extension.manager
    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: 67
    functionName: jupyter_server.extension.manager.ExtensionPoint.config
    functionSourceFile: jupyter_server.extension.manager
    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: 77
    functionName: jupyter_server.extension.manager.ExtensionPoint.module_name
    functionSourceFile: jupyter_server.extension.manager
    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: 84
    functionName: jupyter_server.extension.manager.ExtensionPoint.name
    functionSourceFile: jupyter_server.extension.manager
    functionUses: 0
    functionsReached:
    - traitlets.Dict.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: 0
    functionLinenumber: 95
    functionName: jupyter_server.extension.manager.ExtensionPoint.module
    functionSourceFile: jupyter_server.extension.manager
    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: 99
    functionName: jupyter_server.extension.manager.ExtensionPoint._get_linker
    functionSourceFile: jupyter_server.extension.manager
    functionUses: 2
    functionsReached:
    - <builtin>.getattr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: jupyter_server.extension.manager.ExtensionPoint._get_linker.<lambda1>
    functionSourceFile: jupyter_server.extension.manager
    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: 113
    functionName: jupyter_server.extension.manager.ExtensionPoint._get_loader
    functionSourceFile: jupyter_server.extension.manager
    functionUses: 2
    functionsReached:
    - warnings.warn
    - jupyter_server.extension.utils.get_loader
    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 0x7fc4ac536a30>
    argNames:
    - obj
    - logger
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 23
    functionName: jupyter_server.extension.utils.get_loader
    functionSourceFile: jupyter_server.extension.utils
    functionUses: 3
    functionsReached:
    - warnings.warn
    linkageType: pythonLinkage
    raised:
    - ExtensionLoadingError
    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: 3
    functionLinenumber: 121
    functionName: jupyter_server.extension.manager.ExtensionPoint.validate
    functionSourceFile: jupyter_server.extension.manager
    functionUses: 0
    functionsReached:
    - jupyter_server.extension.utils.get_loader
    - jupyter_server.extension.manager.ExtensionPoint._get_linker
    - jupyter_server.extension.manager.ExtensionPoint._get_loader
    - warnings.warn
    - <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
    - serverapp
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 131
    functionName: jupyter_server.extension.manager.ExtensionPoint.link
    functionSourceFile: jupyter_server.extension.manager
    functionUses: 0
    functionsReached:
    - jupyter_server.extension.manager.ExtensionPoint._get_linker
    - <builtin>.getattr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - serverapp
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 143
    functionName: jupyter_server.extension.manager.ExtensionPoint.load
    functionSourceFile: jupyter_server.extension.manager
    functionUses: 0
    functionsReached:
    - jupyter_server.extension.manager.ExtensionPoint._get_loader
    - warnings.warn
    - jupyter_server.extension.utils.get_loader
    linkageType: 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: jupyter_server.extension.manager.ExtensionPackage
    functionSourceFile: jupyter_server.extension.manager
    functionUses: 0
    functionsReached:
    - traitlets.List
    - traitlets.Unicode
    - traitlets.default
    - traitlets.Bool
    - traitlets.Dict
    - traitlets.Any
    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: 177
    functionName: jupyter_server.extension.manager.ExtensionPackage._load_version
    functionSourceFile: jupyter_server.extension.manager
    functionUses: 0
    functionsReached:
    - <builtin>.getattr
    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: 188
    functionName: jupyter_server.extension.manager.ExtensionPackage._load_metadata
    functionSourceFile: jupyter_server.extension.manager
    functionUses: 13
    functionsReached:
    - traitlets.config.LoggingConfigurable.log.debug
    - traitlets.config.LoggingConfigurable.log.warning
    - module._jupyter_server_extension_points
    - time.perf_counter
    - jupyter_server.extension.utils.get_metadata
    - traitlets.HasTraits.__init__
    - module._jupyter_server_extension_paths
    - importlib.import_module
    linkageType: pythonLinkage
    raised:
    - ExtensionModuleNotFound
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 4
    IfCount: 3
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7fc4ab5ee3a0>
    argNames:
    - package_name
    - logger
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 53
    functionName: jupyter_server.extension.utils.get_metadata
    functionSourceFile: jupyter_server.extension.utils
    functionUses: 14
    functionsReached:
    - traitlets.config.LoggingConfigurable.log.warning
    - module._jupyter_server_extension_points
    - time.perf_counter
    - traitlets.config.LoggingConfigurable.log.debug
    - module._jupyter_server_extension_paths
    - importlib.import_module
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: extension.validate
    functionSourceFile: <builtin>
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - point_name
    - serverapp
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 212
    functionName: jupyter_server.extension.manager.ExtensionPackage.link_point
    functionSourceFile: jupyter_server.extension.manager
    functionUses: 1
    functionsReached:
    - traitlets.Dict.get
    - point.link
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: point.link
    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
    - point_name
    - serverapp
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 219
    functionName: jupyter_server.extension.manager.ExtensionPackage.load_point
    functionSourceFile: jupyter_server.extension.manager
    functionUses: 1
    functionsReached:
    - traitlets.config.LoggingConfigurable.load
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: traitlets.config.LoggingConfigurable.load
    functionSourceFile: traitlets
    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
    - serverapp
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 224
    functionName: jupyter_server.extension.manager.ExtensionPackage.link_all_points
    functionSourceFile: jupyter_server.extension.manager
    functionUses: 0
    functionsReached:
    - jupyter_server.extension.manager.ExtensionPackage.link_point
    - traitlets.Dict.get
    - point.link
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - serverapp
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 229
    functionName: jupyter_server.extension.manager.ExtensionPackage.load_all_points
    functionSourceFile: jupyter_server.extension.manager
    functionUses: 0
    functionsReached:
    - jupyter_server.extension.manager.ExtensionPackage.load_point
    - traitlets.config.LoggingConfigurable.load
    linkageType: 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: jupyter_server.extension.manager.ExtensionManager
    functionSourceFile: jupyter_server.extension.manager
    functionUses: 0
    functionsReached:
    - traitlets.Instance
    - traitlets.observe
    - traitlets.default
    - traitlets.Dict
    - traitlets.Any
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 7
    functionLinenumber: 247
    functionName: jupyter_server.extension.manager.ExtensionManager._load_default_config_manager
    functionSourceFile: jupyter_server.extension.manager
    functionUses: 0
    functionsReached:
    - json.load
    - traitlets.config.LoggingConfigurable.log.warning
    - <builtin>.sorted
    - new.items
    - jupyter_server.extension.manager.ExtensionManager._load_config_manager
    - jupyter_server.extension.manager.ExtensionManager.from_jpserver_extensions
    - module._jupyter_server_extension_paths
    - importlib.import_module
    - data.get
    - traitlets.Dict.items
    - <builtin>.super
    - jupyter_server.extension.manager.ExtensionPackage.__init__
    - jupyter_server.config_manager.BaseJSONConfigManager.get
    - traitlets.HasTraits.__init__
    - traitlets.config.LoggingConfigurable.log.debug
    - jupyter_server.services.config.manager.ConfigManager.get
    - <builtin>.open
    - glob.glob
    - jupyter_server.config_manager.BaseJSONConfigManager.file_name
    - jupyter_server.extension.manager.ExtensionPackage._load_metadata
    - os.path.join
    - module._jupyter_server_extension_points
    - <builtin>.isinstance
    - target.pop
    - os.path.isfile
    - traitlets.config.LoggingConfigurable.__init__
    - jupyter_server.extension.manager.ExtensionManager.add_extension
    - jupyter_server.extension.config.ExtensionConfigManager.get_jpserver_extensions
    - time.perf_counter
    - jupyter_server.extension.utils.get_metadata
    - jupyter_server.config_manager.BaseJSONConfigManager.directory
    - jupyter_server.config_manager.recursive_update
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - config_manager
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 307
    functionName: jupyter_server.extension.manager.ExtensionManager._load_config_manager
    functionSourceFile: jupyter_server.extension.manager
    functionUses: 2
    functionsReached:
    - json.load
    - traitlets.config.LoggingConfigurable.log.warning
    - <builtin>.sorted
    - new.items
    - jupyter_server.extension.manager.ExtensionManager.from_jpserver_extensions
    - module._jupyter_server_extension_paths
    - importlib.import_module
    - traitlets.Dict.items
    - data.get
    - <builtin>.super
    - jupyter_server.extension.manager.ExtensionPackage.__init__
    - jupyter_server.config_manager.BaseJSONConfigManager.get
    - traitlets.HasTraits.__init__
    - traitlets.config.LoggingConfigurable.log.debug
    - jupyter_server.services.config.manager.ConfigManager.get
    - <builtin>.open
    - glob.glob
    - jupyter_server.config_manager.BaseJSONConfigManager.file_name
    - jupyter_server.extension.manager.ExtensionPackage._load_metadata
    - os.path.join
    - module._jupyter_server_extension_points
    - <builtin>.isinstance
    - target.pop
    - os.path.isfile
    - traitlets.config.LoggingConfigurable.__init__
    - jupyter_server.extension.manager.ExtensionManager.add_extension
    - jupyter_server.extension.config.ExtensionConfigManager.get_jpserver_extensions
    - time.perf_counter
    - jupyter_server.extension.utils.get_metadata
    - jupyter_server.config_manager.BaseJSONConfigManager.directory
    - jupyter_server.config_manager.recursive_update
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - change
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 7
    functionLinenumber: 253
    functionName: jupyter_server.extension.manager.ExtensionManager._config_manager_changed
    functionSourceFile: jupyter_server.extension.manager
    functionUses: 0
    functionsReached:
    - json.load
    - traitlets.config.LoggingConfigurable.log.warning
    - <builtin>.sorted
    - new.items
    - jupyter_server.extension.manager.ExtensionManager._load_config_manager
    - jupyter_server.extension.manager.ExtensionManager.from_jpserver_extensions
    - module._jupyter_server_extension_paths
    - importlib.import_module
    - traitlets.Dict.items
    - data.get
    - <builtin>.super
    - jupyter_server.extension.manager.ExtensionPackage.__init__
    - jupyter_server.config_manager.BaseJSONConfigManager.get
    - traitlets.HasTraits.__init__
    - traitlets.config.LoggingConfigurable.log.debug
    - jupyter_server.services.config.manager.ConfigManager.get
    - <builtin>.open
    - glob.glob
    - jupyter_server.config_manager.BaseJSONConfigManager.file_name
    - jupyter_server.extension.manager.ExtensionPackage._load_metadata
    - os.path.join
    - module._jupyter_server_extension_points
    - <builtin>.isinstance
    - target.pop
    - os.path.isfile
    - traitlets.config.LoggingConfigurable.__init__
    - jupyter_server.extension.manager.ExtensionManager.add_extension
    - jupyter_server.extension.config.ExtensionConfigManager.get_jpserver_extensions
    - time.perf_counter
    - jupyter_server.extension.utils.get_metadata
    - jupyter_server.config_manager.BaseJSONConfigManager.directory
    - jupyter_server.config_manager.recursive_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: 1
    functionLinenumber: 269
    functionName: jupyter_server.extension.manager.ExtensionManager.sorted_extensions
    functionSourceFile: jupyter_server.extension.manager
    functionUses: 0
    functionsReached:
    - traitlets.Dict.items
    - <builtin>.sorted
    - <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: traitlets.Dict.items
    functionSourceFile: traitlets
    functionUses: 15
    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: 286
    functionName: jupyter_server.extension.manager.ExtensionManager.extension_apps
    functionSourceFile: jupyter_server.extension.manager
    functionUses: 0
    functionsReached:
    - traitlets.Dict.items
    - extension.extension_points.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: extension.extension_points.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: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 294
    functionName: jupyter_server.extension.manager.ExtensionManager.extension_points
    functionSourceFile: jupyter_server.extension.manager
    functionUses: 0
    functionsReached:
    - traitlets.Dict.values
    - value.extension_points.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.extension_points.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: 2
    argDefaultValues: []
    argNames:
    - self
    - config_manager
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 302
    functionName: jupyter_server.extension.manager.ExtensionManager.from_config_manager
    functionSourceFile: jupyter_server.extension.manager
    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 0x7fc4ab72aa30>
    argNames:
    - self
    - extension_name
    - enabled
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 317
    functionName: jupyter_server.extension.manager.ExtensionManager.add_extension
    functionSourceFile: jupyter_server.extension.manager
    functionUses: 6
    functionsReached:
    - jupyter_server.extension.manager.ExtensionPackage._load_metadata
    - traitlets.config.LoggingConfigurable.log.warning
    - traitlets.config.LoggingConfigurable.log.debug
    - <builtin>.super
    - jupyter_server.extension.manager.ExtensionPackage.__init__
    - module._jupyter_server_extension_points
    - time.perf_counter
    - jupyter_server.extension.utils.get_metadata
    - traitlets.HasTraits.__init__
    - module._jupyter_server_extension_paths
    - importlib.import_module
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 338
    functionName: jupyter_server.extension.manager.ExtensionManager.link_extension
    functionSourceFile: jupyter_server.extension.manager
    functionUses: 3
    functionsReached:
    - traitlets.Dict.get
    - traitlets.config.LoggingConfigurable.log.info
    - extension.link_all_points
    - traitlets.config.LoggingConfigurable.log.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: extension.link_all_points
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 353
    functionName: jupyter_server.extension.manager.ExtensionManager.load_extension
    functionSourceFile: jupyter_server.extension.manager
    functionUses: 3
    functionsReached:
    - traitlets.Dict.get
    - traitlets.config.LoggingConfigurable.log.info
    - extension.load_all_points
    - traitlets.config.LoggingConfigurable.log.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: extension.load_all_points
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 4
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - name
    - apps
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 369
    functionName: jupyter_server.extension.manager.ExtensionManager.stop_extension
    functionSourceFile: jupyter_server.extension.manager
    functionUses: 0
    functionsReached:
    - traitlets.config.LoggingConfigurable.log.debug
    - app.stop_extension
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.stop_extension
    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.starmap
    functionSourceFile: itertools
    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: tornado.gen.multi
    functionSourceFile: tornado
    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.current_activity
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: jupyter_server.extension.utils
    functionSourceFile: jupyter_server.extension.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: time.perf_counter
    functionSourceFile: time
    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: module._jupyter_server_extension_points
    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: module._jupyter_server_extension_paths
    functionSourceFile: <builtin>
    functionUses: 15
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - name
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 108
    functionName: jupyter_server.extension.utils.validate_extension
    functionSourceFile: jupyter_server.extension.utils
    functionUses: 0
    functionsReached:
    - jupyter_server.extension.manager.ExtensionPackage._load_metadata
    - traitlets.config.LoggingConfigurable.log.warning
    - traitlets.config.LoggingConfigurable.log.debug
    - <builtin>.super
    - jupyter_server.extension.manager.ExtensionPackage.__init__
    - module._jupyter_server_extension_points
    - time.perf_counter
    - jupyter_server.extension.utils.get_metadata
    - traitlets.HasTraits.__init__
    - module._jupyter_server_extension_paths
    - importlib.import_module
    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: jupyter_server.extension.config
    functionSourceFile: jupyter_server.extension.config
    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: data.get
    functionSourceFile: <builtin>
    functionUses: 9
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 4
    argDefaultValues:
    - <ast.Name object at 0x7fc4abfec430>
    - <ast.Constant object at 0x7fc4ab5b2cd0>
    argNames:
    - self
    - name
    - section_name
    - include_root
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 19
    functionName: jupyter_server.extension.config.ExtensionConfigManager.enabled
    functionSourceFile: jupyter_server.extension.config
    functionUses: 0
    functionsReached:
    - json.load
    - jupyter_server.config_manager.BaseJSONConfigManager.file_name
    - os.path.isfile
    - os.path.join
    - traitlets.config.LoggingConfigurable.__init__
    - traitlets.config.LoggingConfigurable.log.debug
    - data.get
    - <builtin>.sorted
    - new.items
    - jupyter_server.config_manager.BaseJSONConfigManager.get
    - jupyter_server.extension.config.ExtensionConfigManager.get_jpserver_extensions
    - jupyter_server.config_manager.BaseJSONConfigManager.directory
    - <builtin>.isinstance
    - target.pop
    - jupyter_server.services.config.manager.ConfigManager.get
    - jupyter_server.config_manager.recursive_update
    - <builtin>.open
    - glob.glob
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: jupyter_server.extension
    functionSourceFile: jupyter_server.extension
    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: jupyter_server.auth.logout
    functionSourceFile: jupyter_server.auth.logout
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 11
    functionName: jupyter_server.auth.logout.LogoutHandler.get
    functionSourceFile: jupyter_server.auth.logout
    functionUses: 0
    functionsReached:
    - jupyter_server.base.handlers.JupyterHandler.render_template
    - template.render
    - ns.update
    - tornado.web.RequestHandler.write
    - jupyter_server.base.handlers.JupyterHandler.get_template
    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: jupyter_server.services.contents.filemanager
    functionSourceFile: jupyter_server.services.contents.filemanager
    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: jupyter_server.services.contents.filemanager.FileContentsManager
    functionSourceFile: jupyter_server.services.contents.filemanager
    functionUses: 0
    functionsReached:
    - traitlets.Int
    - traitlets.Unicode
    - traitlets.validate
    - traitlets.default
    - traitlets.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: traitlets.Int
    functionSourceFile: traitlets
    functionUses: 4
    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: 53
    functionName: jupyter_server.services.contents.filemanager.FileContentsManager._default_root_dir
    functionSourceFile: jupyter_server.services.contents.filemanager
    functionUses: 0
    functionsReached:
    - os.getcwd
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - proposal
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 59
    functionName: jupyter_server.services.contents.filemanager.FileContentsManager._validate_root_dir
    functionSourceFile: jupyter_server.services.contents.filemanager
    functionUses: 0
    functionsReached:
    - os.path.abspath
    - os.path.isabs
    - os.path.isdir
    linkageType: pythonLinkage
    raised:
    - TraitError
    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: 69
    functionName: jupyter_server.services.contents.filemanager.FileContentsManager._default_preferred_dir
    functionSourceFile: jupyter_server.services.contents.filemanager
    functionUses: 0
    functionsReached:
    - pathlib.Path.relative_to
    - pathlib.Path
    - warnings.warn
    linkageType: pythonLinkage
    raised:
    - TraitError
    returnType: N/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.relative_to
    functionSourceFile: pathlib
    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
    - proposal
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 93
    functionName: jupyter_server.services.contents.filemanager.FileContentsManager._validate_preferred_dir
    functionSourceFile: jupyter_server.services.contents.filemanager
    functionUses: 0
    functionsReached:
    - jupyter_server.utils.to_api_path
    - typing.NewType
    - os_path.startswith
    - <builtin>.super
    - os_path.strip
    - <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: 99
    functionName: jupyter_server.services.contents.filemanager.FileContentsManager._checkpoints_class_default
    functionSourceFile: jupyter_server.services.contents.filemanager
    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: 121
    functionName: jupyter_server.services.contents.filemanager.FileContentsManager._files_handler_class_default
    functionSourceFile: jupyter_server.services.contents.filemanager
    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: 125
    functionName: jupyter_server.services.contents.filemanager.FileContentsManager._files_handler_params_default
    functionSourceFile: jupyter_server.services.contents.filemanager
    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
    - path
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 128
    functionName: jupyter_server.services.contents.filemanager.FileContentsManager.is_hidden
    functionSourceFile: jupyter_server.services.contents.filemanager
    functionUses: 30
    functionsReached:
    - jupyter_server.services.contents.filemanager.FileContentsManager.is_hidden
    - typing.NewType
    - os.path.join
    - jupyter_server.utils.to_os_path
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.is_hidden
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - os.path.abspath
    - os.lstat
    - os.path.splitdrive
    - path.strip
    - os.path.normpath
    - <builtin>.str
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - path
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 250
    functionName: jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    functionSourceFile: jupyter_server.services.contents.fileio
    functionUses: 73
    functionsReached:
    - typing.NewType
    - os.path.join
    - jupyter_server.utils.to_os_path
    - os.path.abspath
    - os.lstat
    - os.path.splitdrive
    - os.path.normpath
    - <builtin>.str
    linkageType: pythonLinkage
    raised:
    - HTTPError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - path
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 1083
    functionName: jupyter_server.services.contents.filemanager.AsyncFileContentsManager.is_hidden
    functionSourceFile: jupyter_server.services.contents.filemanager
    functionUses: 38
    functionsReached:
    - typing.NewType
    - os.path.join
    - jupyter_server.utils.to_os_path
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.is_hidden
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - os.path.abspath
    - os.lstat
    - os.path.splitdrive
    - path.strip
    - os.path.normpath
    - <builtin>.str
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - path
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 146
    functionName: jupyter_server.services.contents.filemanager.FileContentsManager.is_writable
    functionSourceFile: jupyter_server.services.contents.filemanager
    functionUses: 31
    functionsReached:
    - typing.NewType
    - os.path.join
    - jupyter_server.utils.to_os_path
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - os.access
    - os.path.abspath
    - os.lstat
    - os.path.splitdrive
    - path.strip
    - os.path.normpath
    - <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: os.access
    functionSourceFile: os
    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:
    - self
    - path
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 168
    functionName: jupyter_server.services.contents.filemanager.FileContentsManager.file_exists
    functionSourceFile: jupyter_server.services.contents.filemanager
    functionUses: 0
    functionsReached:
    - os.path.isfile
    - typing.NewType
    - os.path.join
    - jupyter_server.utils.to_os_path
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - os.path.abspath
    - os.lstat
    - os.path.splitdrive
    - path.strip
    - os.path.normpath
    - <builtin>.str
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - path
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 187
    functionName: jupyter_server.services.contents.filemanager.FileContentsManager.dir_exists
    functionSourceFile: jupyter_server.services.contents.filemanager
    functionUses: 2
    functionsReached:
    - typing.NewType
    - os.path.join
    - jupyter_server.utils.to_os_path
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - os.path.abspath
    - os.lstat
    - os.path.splitdrive
    - os.path.isdir
    - path.strip
    - os.path.normpath
    - <builtin>.str
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - path
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 207
    functionName: jupyter_server.services.contents.filemanager.FileContentsManager.exists
    functionSourceFile: jupyter_server.services.contents.filemanager
    functionUses: 23
    functionsReached:
    - typing.NewType
    - os.path.join
    - jupyter_server.utils.to_os_path
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - os.path.abspath
    - os.lstat
    - os.path.splitdrive
    - jupyter_server.services.contents.filemanager.FileContentsManager.exists
    - path.strip
    - os.path.normpath
    - <builtin>.str
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 5
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - path
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 226
    functionName: jupyter_server.services.contents.filemanager.FileContentsManager._base_model
    functionSourceFile: jupyter_server.services.contents.filemanager
    functionUses: 26
    functionsReached:
    - jupyter_server.services.contents.filemanager.FileContentsManager.is_hidden
    - jupyter_server._tz.utcfromtimestamp
    - typing.NewType
    - os.path.join
    - jupyter_server.utils.to_os_path
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.is_hidden
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - datetime.datetime.fromtimestamp
    - os.access
    - jupyter_server.services.contents.filemanager.FileContentsManager.is_writable
    - os.lstat
    - os.path.abspath
    - os.path.splitdrive
    - path.strip
    - path.rsplit
    - os.path.normpath
    - datetime.datetime
    - <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: os.lstat
    functionSourceFile: os
    functionUses: 74
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: 27
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 12
    ICount: 8
    IfCount: 8
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7fc4ab5eea30>
    argNames:
    - self
    - path
    - content
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 10
    functionLinenumber: 276
    functionName: jupyter_server.services.contents.filemanager.FileContentsManager._dir_model
    functionSourceFile: jupyter_server.services.contents.filemanager
    functionUses: 5
    functionsReached:
    - jupyter_server.services.contents.fileio.FileManagerMixin._read_notebook
    - os.lstat
    - jupyter_server.services.contents.filemanager.FileContentsManager.exists
    - nbformat.validate
    - jupyter_server.services.contents.fileio.AsyncFileManagerMixin._read_notebook
    - validation_error.get
    - jupyter_server.services.contents.filemanager.FileContentsManager._dir_model
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._notebook_model
    - path.strip
    - jupyter_server.services.contents.filemanager.FileContentsManager.get
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.is_hidden
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.get
    - stat.S_ISDIR
    - model.update
    - h.update
    - jupyter_server.services.contents.fileio.FileManagerMixin.perm_to_403
    - os.path.isfile
    - jupyter_server.services.contents.manager.ContentsManager.should_list
    - f.read
    - jupyter_core.paths.is_file_hidden
    - jupyter_server.services.contents.fileio.FileManagerMixin._read_file
    - os.replace
    - jupyter_server.services.contents.filemanager.FileContentsManager._notebook_model
    - <builtin>.any
    - jupyter_server.services.contents.fileio.async_replace_file
    - <builtin>.len
    - jupyter_server.services.contents.filemanager.FileContentsManager.is_hidden
    - jupyter_server.services.contents.fileio.FileManagerMixin.open
    - stat.S_ISLNK
    - os_path.startswith
    - h.hexdigest
    - os_path.strip
    - os.path.splitdrive
    - <builtin>.str
    - os.path.abspath
    - <builtin>.isinstance
    - os.path.isdir
    - jupyter_server.services.contents.manager.ContentsManager.mark_trusted_cells
    - path.endswith
    - nbformat.reads
    - os.access
    - functools.partial
    - path.rsplit
    - typing.NewType
    - datetime.datetime.fromtimestamp
    - jupyter_server.services.contents.filemanager.FileContentsManager._base_model
    - jupyter_server.services.contents.filemanager.FileContentsManager.is_writable
    - traitlets.Instance.mark_cells
    - datetime.datetime
    - jupyter_server._tz.utcfromtimestamp
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._file_model
    - jupyter_server.services.contents.manager.ContentsManager.validate_notebook_model
    - anyio.to_thread.run_sync
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._dir_model
    - json.dumps
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - jupyter_server.utils.to_api_path
    - base64.encodebytes
    - os.path.exists
    - jupyter_server.services.contents.fileio.replace_file
    - traitlets.Instance.check_signature
    - base64.encodebytes.decode
    - jupyter_server.services.contents.manager.ContentsManager.emit
    - jupyter_server.utils.to_os_path
    - os.path.normpath
    - fnmatch.fnmatch
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_hash
    - hashlib.new
    - jupyter_server.services.contents.fileio.path_to_intermediate
    - os.listdir
    - os.path.join
    - jupyter_server.services.contents.filemanager.FileContentsManager._file_model
    - jupyter_server.services.contents.fileio.path_to_invalid
    - os.path.split
    - mimetypes.guess_type
    - contents.append
    - jupyter_server.services.contents.fileio.AsyncFileManagerMixin._read_file
    - bcontent.decode
    - stat.S_ISREG
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: stat.S_ISLNK
    functionSourceFile: stat
    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: stat.S_ISREG
    functionSourceFile: stat
    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: stat.S_ISDIR
    functionSourceFile: stat
    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: jupyter_core.paths.is_file_hidden
    functionSourceFile: jupyter_core
    functionUses: 22
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 9
    ICount: 3
    IfCount: 6
    argCount: 6
    argDefaultValues:
    - <ast.Constant object at 0x7fc4ad8d9430>
    - <ast.Constant object at 0x7fc4ad8d9400>
    - <ast.Constant object at 0x7fc4ad8d93d0>
    - <ast.Constant object at 0x7fc4ad8d93a0>
    argNames:
    - self
    - path
    - content
    - type
    - format
    - require_hash
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 9
    functionLinenumber: 410
    functionName: jupyter_server.services.contents.filemanager.FileContentsManager.get
    functionSourceFile: jupyter_server.services.contents.filemanager
    functionUses: 5
    functionsReached:
    - jupyter_server.services.contents.fileio.FileManagerMixin._read_notebook
    - os.lstat
    - jupyter_server.services.contents.filemanager.FileContentsManager.exists
    - nbformat.validate
    - jupyter_server.services.contents.fileio.AsyncFileManagerMixin._read_notebook
    - validation_error.get
    - jupyter_server.services.contents.filemanager.FileContentsManager._dir_model
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._notebook_model
    - path.strip
    - jupyter_server.services.contents.filemanager.FileContentsManager.get
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.is_hidden
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.get
    - stat.S_ISDIR
    - model.update
    - h.update
    - jupyter_server.services.contents.fileio.FileManagerMixin.perm_to_403
    - os.path.isfile
    - jupyter_server.services.contents.manager.ContentsManager.should_list
    - f.read
    - jupyter_core.paths.is_file_hidden
    - jupyter_server.services.contents.fileio.FileManagerMixin._read_file
    - os.replace
    - jupyter_server.services.contents.filemanager.FileContentsManager._notebook_model
    - <builtin>.any
    - jupyter_server.services.contents.fileio.async_replace_file
    - <builtin>.len
    - jupyter_server.services.contents.filemanager.FileContentsManager.is_hidden
    - jupyter_server.services.contents.fileio.FileManagerMixin.open
    - stat.S_ISLNK
    - os_path.startswith
    - h.hexdigest
    - os_path.strip
    - os.path.splitdrive
    - <builtin>.str
    - os.path.abspath
    - <builtin>.isinstance
    - os.path.isdir
    - jupyter_server.services.contents.manager.ContentsManager.mark_trusted_cells
    - path.endswith
    - nbformat.reads
    - os.access
    - functools.partial
    - path.rsplit
    - typing.NewType
    - datetime.datetime.fromtimestamp
    - jupyter_server.services.contents.filemanager.FileContentsManager._base_model
    - jupyter_server.services.contents.filemanager.FileContentsManager.is_writable
    - traitlets.Instance.mark_cells
    - datetime.datetime
    - jupyter_server._tz.utcfromtimestamp
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._file_model
    - jupyter_server.services.contents.manager.ContentsManager.validate_notebook_model
    - anyio.to_thread.run_sync
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._dir_model
    - json.dumps
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - jupyter_server.utils.to_api_path
    - base64.encodebytes
    - os.path.exists
    - jupyter_server.services.contents.fileio.replace_file
    - traitlets.Instance.check_signature
    - base64.encodebytes.decode
    - jupyter_server.services.contents.manager.ContentsManager.emit
    - jupyter_server.utils.to_os_path
    - os.path.normpath
    - fnmatch.fnmatch
    - hashlib.new
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_hash
    - jupyter_server.services.contents.fileio.path_to_intermediate
    - os.listdir
    - os.path.join
    - jupyter_server.services.contents.filemanager.FileContentsManager._file_model
    - jupyter_server.services.contents.fileio.path_to_invalid
    - os.path.split
    - mimetypes.guess_type
    - contents.append
    - jupyter_server.services.contents.fileio.AsyncFileManagerMixin._read_file
    - bcontent.decode
    - stat.S_ISREG
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: contents.append
    functionSourceFile: <builtin>
    functionUses: 22
    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 0x7fc4ad8a5ee0>
    - <ast.Constant object at 0x7fc4ad8a5eb0>
    - <ast.Constant object at 0x7fc4ad8a5e80>
    argNames:
    - self
    - path
    - content
    - format
    - require_hash
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 340
    functionName: jupyter_server.services.contents.filemanager.FileContentsManager._file_model
    functionSourceFile: jupyter_server.services.contents.filemanager
    functionUses: 6
    functionsReached:
    - base64.encodebytes.decode
    - typing.NewType
    - jupyter_server.utils.to_os_path
    - datetime.datetime.fromtimestamp
    - jupyter_server.services.contents.filemanager.FileContentsManager._base_model
    - os.lstat
    - jupyter_server.services.contents.filemanager.FileContentsManager.is_writable
    - <builtin>.len
    - os.path.normpath
    - datetime.datetime
    - jupyter_server.services.contents.filemanager.FileContentsManager.is_hidden
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_hash
    - jupyter_server.services.contents.fileio.FileManagerMixin.open
    - hashlib.new
    - jupyter_server._tz.utcfromtimestamp
    - os_path.startswith
    - h.hexdigest
    - os_path.strip
    - os.path.splitdrive
    - path.strip
    - <builtin>.str
    - os.path.join
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.is_hidden
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - os.path.abspath
    - model.update
    - h.update
    - jupyter_server.services.contents.fileio.FileManagerMixin.perm_to_403
    - os.path.isfile
    - jupyter_server.utils.to_api_path
    - mimetypes.guess_type
    - base64.encodebytes
    - f.read
    - os.access
    - jupyter_server.services.contents.fileio.FileManagerMixin._read_file
    - bcontent.decode
    - path.rsplit
    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 0x7fc4abb99a60>
    argNames:
    - self
    - os_path
    - format
    - raw
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 353
    functionName: jupyter_server.services.contents.fileio.FileManagerMixin._read_file
    functionSourceFile: jupyter_server.services.contents.fileio
    functionUses: 11
    functionsReached:
    - os.path.isfile
    - base64.encodebytes.decode
    - jupyter_server.utils.to_api_path
    - typing.NewType
    - os_path.startswith
    - base64.encodebytes
    - f.read
    - os_path.strip
    - bcontent.decode
    - <builtin>.len
    - jupyter_server.services.contents.fileio.FileManagerMixin.perm_to_403
    - jupyter_server.services.contents.fileio.FileManagerMixin.open
    linkageType: pythonLinkage
    raised:
    - HTTPError
    returnType: N/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.update
    functionSourceFile: <builtin>
    functionUses: 26
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - byte_content
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 334
    functionName: jupyter_server.services.contents.fileio.FileManagerMixin._get_hash
    functionSourceFile: jupyter_server.services.contents.fileio
    functionUses: 26
    functionsReached:
    - h.update
    - h.hexdigest
    - hashlib.new
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 4
    IfCount: 3
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7fc4ad8a8970>
    - <ast.Constant object at 0x7fc4ad8a8940>
    argNames:
    - self
    - path
    - content
    - require_hash
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 380
    functionName: jupyter_server.services.contents.filemanager.FileContentsManager._notebook_model
    functionSourceFile: jupyter_server.services.contents.filemanager
    functionUses: 6
    functionsReached:
    - traitlets.Instance.check_signature
    - typing.NewType
    - jupyter_server.services.contents.fileio.FileManagerMixin._read_notebook
    - base64.encodebytes.decode
    - jupyter_server.utils.to_os_path
    - datetime.datetime.fromtimestamp
    - jupyter_server.services.contents.filemanager.FileContentsManager._base_model
    - os.lstat
    - jupyter_server.services.contents.filemanager.FileContentsManager.is_writable
    - nbformat.validate
    - <builtin>.len
    - os.path.normpath
    - traitlets.Instance.mark_cells
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_hash
    - jupyter_server.services.contents.filemanager.FileContentsManager.is_hidden
    - datetime.datetime
    - jupyter_server.services.contents.fileio.FileManagerMixin.open
    - jupyter_server.services.contents.fileio.path_to_intermediate
    - jupyter_server._tz.utcfromtimestamp
    - validation_error.get
    - os_path.startswith
    - hashlib.new
    - h.hexdigest
    - os_path.strip
    - os.path.splitdrive
    - path.strip
    - jupyter_server.services.contents.manager.ContentsManager.validate_notebook_model
    - <builtin>.str
    - os.path.join
    - json.dumps
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.is_hidden
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - os.path.abspath
    - <builtin>.isinstance
    - jupyter_server.services.contents.fileio.path_to_invalid
    - jupyter_server.services.contents.manager.ContentsManager.mark_trusted_cells
    - model.update
    - os.path.split
    - h.update
    - jupyter_server.services.contents.fileio.FileManagerMixin.perm_to_403
    - os.path.isfile
    - jupyter_server.utils.to_api_path
    - nbformat.reads
    - base64.encodebytes
    - f.read
    - os.access
    - os.replace
    - jupyter_server.services.contents.fileio.FileManagerMixin._read_file
    - os.path.exists
    - jupyter_server.services.contents.fileio.replace_file
    - bcontent.decode
    - path.rsplit
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 5
    argDefaultValues:
    - <ast.Constant object at 0x7fc4ab08b670>
    - <ast.Constant object at 0x7fc4ab08b790>
    - <ast.Constant object at 0x7fc4ab08bf40>
    argNames:
    - self
    - os_path
    - as_version
    - capture_validation_error
    - raw
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 288
    functionName: jupyter_server.services.contents.fileio.FileManagerMixin._read_notebook
    functionSourceFile: jupyter_server.services.contents.fileio
    functionUses: 8
    functionsReached:
    - base64.encodebytes.decode
    - typing.NewType
    - jupyter_server.services.contents.fileio.FileManagerMixin._read_notebook
    - <builtin>.len
    - jupyter_server.services.contents.fileio.FileManagerMixin.open
    - jupyter_server.services.contents.fileio.path_to_intermediate
    - os_path.startswith
    - os_path.strip
    - os.path.join
    - jupyter_server.services.contents.fileio.path_to_invalid
    - os.path.split
    - jupyter_server.services.contents.fileio.FileManagerMixin.perm_to_403
    - os.path.isfile
    - jupyter_server.utils.to_api_path
    - nbformat.reads
    - base64.encodebytes
    - f.read
    - os.replace
    - jupyter_server.services.contents.fileio.FileManagerMixin._read_file
    - os.path.exists
    - jupyter_server.services.contents.fileio.replace_file
    - bcontent.decode
    linkageType: pythonLinkage
    raised:
    - HTTPError
    returnType: N/A
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 12
    ICount: 8
    IfCount: 8
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7fc4ad7885e0>
    argNames:
    - self
    - path
    - content
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 8
    functionLinenumber: 746
    functionName: jupyter_server.services.contents.filemanager.AsyncFileContentsManager._dir_model
    functionSourceFile: jupyter_server.services.contents.filemanager
    functionUses: 21
    functionsReached:
    - <builtin>.any
    - base64.encodebytes.decode
    - typing.NewType
    - traitlets.Instance.check_signature
    - jupyter_server.services.contents.manager.ContentsManager.emit
    - jupyter_server.utils.to_os_path
    - datetime.datetime.fromtimestamp
    - jupyter_server.services.contents.filemanager.FileContentsManager._base_model
    - os.lstat
    - jupyter_server.services.contents.filemanager.FileContentsManager.is_writable
    - jupyter_server.services.contents.fileio.async_replace_file
    - jupyter_server.services.contents.filemanager.FileContentsManager.exists
    - nbformat.validate
    - <builtin>.len
    - os.path.normpath
    - jupyter_server.services.contents.fileio.AsyncFileManagerMixin._read_notebook
    - fnmatch.fnmatch
    - datetime.datetime
    - jupyter_server.services.contents.fileio.FileManagerMixin.open
    - jupyter_server.services.contents.filemanager.FileContentsManager.is_hidden
    - traitlets.Instance.mark_cells
    - stat.S_ISLNK
    - jupyter_server._tz.utcfromtimestamp
    - jupyter_server.services.contents.fileio.path_to_intermediate
    - validation_error.get
    - os_path.startswith
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_hash
    - h.hexdigest
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._file_model
    - os_path.strip
    - hashlib.new
    - os.path.splitdrive
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._notebook_model
    - path.strip
    - jupyter_server.services.contents.manager.ContentsManager.validate_notebook_model
    - anyio.to_thread.run_sync
    - <builtin>.str
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._dir_model
    - os.path.join
    - json.dumps
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.is_hidden
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.get
    - os.path.abspath
    - <builtin>.isinstance
    - jupyter_server.services.contents.fileio.path_to_invalid
    - os.path.isdir
    - stat.S_ISDIR
    - model.update
    - jupyter_server.services.contents.manager.ContentsManager.mark_trusted_cells
    - path.endswith
    - os.path.split
    - jupyter_server.services.contents.fileio.FileManagerMixin.perm_to_403
    - h.update
    - os.path.isfile
    - jupyter_server.utils.to_api_path
    - mimetypes.guess_type
    - contents.append
    - base64.encodebytes
    - jupyter_server.services.contents.manager.ContentsManager.should_list
    - os.access
    - jupyter_core.paths.is_file_hidden
    - jupyter_server.services.contents.fileio.AsyncFileManagerMixin._read_file
    - os.path.exists
    - bcontent.decode
    - functools.partial
    - path.rsplit
    - stat.S_ISREG
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 4
    IfCount: 3
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7fc4ad784d60>
    - <ast.Constant object at 0x7fc4ad784d30>
    argNames:
    - self
    - path
    - content
    - require_hash
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 851
    functionName: jupyter_server.services.contents.filemanager.AsyncFileContentsManager._notebook_model
    functionSourceFile: jupyter_server.services.contents.filemanager
    functionUses: 22
    functionsReached:
    - base64.encodebytes.decode
    - typing.NewType
    - traitlets.Instance.check_signature
    - jupyter_server.utils.to_os_path
    - datetime.datetime.fromtimestamp
    - jupyter_server.services.contents.filemanager.FileContentsManager._base_model
    - os.lstat
    - jupyter_server.services.contents.filemanager.FileContentsManager.is_writable
    - jupyter_server.services.contents.fileio.async_replace_file
    - nbformat.validate
    - <builtin>.len
    - os.path.normpath
    - jupyter_server.services.contents.fileio.AsyncFileManagerMixin._read_notebook
    - traitlets.Instance.mark_cells
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_hash
    - jupyter_server.services.contents.filemanager.FileContentsManager.is_hidden
    - datetime.datetime
    - jupyter_server.services.contents.fileio.FileManagerMixin.open
    - hashlib.new
    - jupyter_server._tz.utcfromtimestamp
    - validation_error.get
    - jupyter_server.services.contents.fileio.path_to_intermediate
    - os_path.startswith
    - h.hexdigest
    - os_path.strip
    - os.path.splitdrive
    - path.strip
    - jupyter_server.services.contents.manager.ContentsManager.validate_notebook_model
    - anyio.to_thread.run_sync
    - <builtin>.str
    - os.path.join
    - json.dumps
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.is_hidden
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - os.path.abspath
    - <builtin>.isinstance
    - jupyter_server.services.contents.fileio.path_to_invalid
    - jupyter_server.services.contents.manager.ContentsManager.mark_trusted_cells
    - model.update
    - os.path.split
    - h.update
    - jupyter_server.services.contents.fileio.FileManagerMixin.perm_to_403
    - os.path.isfile
    - jupyter_server.utils.to_api_path
    - base64.encodebytes
    - os.access
    - jupyter_server.services.contents.fileio.AsyncFileManagerMixin._read_file
    - os.path.exists
    - bcontent.decode
    - functools.partial
    - path.rsplit
    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 0x7fc4ad7783d0>
    - <ast.Constant object at 0x7fc4ad7783a0>
    - <ast.Constant object at 0x7fc4ad778370>
    argNames:
    - self
    - path
    - content
    - format
    - require_hash
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 811
    functionName: jupyter_server.services.contents.filemanager.AsyncFileContentsManager._file_model
    functionSourceFile: jupyter_server.services.contents.filemanager
    functionUses: 22
    functionsReached:
    - base64.encodebytes.decode
    - typing.NewType
    - jupyter_server.utils.to_os_path
    - datetime.datetime.fromtimestamp
    - jupyter_server.services.contents.filemanager.FileContentsManager._base_model
    - os.lstat
    - jupyter_server.services.contents.filemanager.FileContentsManager.is_writable
    - <builtin>.len
    - os.path.normpath
    - datetime.datetime
    - jupyter_server.services.contents.filemanager.FileContentsManager.is_hidden
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_hash
    - jupyter_server.services.contents.fileio.FileManagerMixin.open
    - hashlib.new
    - jupyter_server._tz.utcfromtimestamp
    - os_path.startswith
    - h.hexdigest
    - os_path.strip
    - os.path.splitdrive
    - path.strip
    - anyio.to_thread.run_sync
    - <builtin>.str
    - os.path.join
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.is_hidden
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - os.path.abspath
    - model.update
    - h.update
    - jupyter_server.services.contents.fileio.FileManagerMixin.perm_to_403
    - os.path.isfile
    - jupyter_server.utils.to_api_path
    - mimetypes.guess_type
    - base64.encodebytes
    - os.access
    - jupyter_server.services.contents.fileio.AsyncFileManagerMixin._read_file
    - bcontent.decode
    - path.rsplit
    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 0x7fc4ad8d2520>
    argNames:
    - self
    - os_path
    - model
    - path
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 464
    functionName: jupyter_server.services.contents.filemanager.FileContentsManager._save_directory
    functionSourceFile: jupyter_server.services.contents.filemanager
    functionUses: 1
    functionsReached:
    - typing.NewType
    - jupyter_server.utils.to_os_path
    - os.lstat
    - <builtin>.len
    - os.path.normpath
    - jupyter_server.services.contents.filemanager.FileContentsManager.is_hidden
    - os_path.startswith
    - os_path.strip
    - os.path.splitdrive
    - path.strip
    - <builtin>.str
    - os.mkdir
    - os.path.join
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.is_hidden
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - os.path.abspath
    - os.path.isdir
    - jupyter_server.services.contents.fileio.FileManagerMixin.perm_to_403
    - jupyter_server.utils.to_api_path
    - os.path.exists
    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 0x7fc4acf99040>
    argNames:
    - self
    - os_path
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 227
    functionName: jupyter_server.services.contents.fileio.FileManagerMixin.perm_to_403
    functionSourceFile: jupyter_server.services.contents.fileio
    functionUses: 67
    functionsReached:
    - jupyter_server.utils.to_api_path
    - typing.NewType
    - os_path.startswith
    - os_path.strip
    - <builtin>.len
    linkageType: pythonLinkage
    raised:
    - HTTPError
    returnType: N/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.mkdir
    functionSourceFile: os
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 9
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 14
    ICount: 12
    IfCount: 9
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7fc4ad8d87f0>
    argNames:
    - self
    - model
    - path
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 8
    functionLinenumber: 476
    functionName: jupyter_server.services.contents.filemanager.FileContentsManager.save
    functionSourceFile: jupyter_server.services.contents.filemanager
    functionUses: 0
    functionsReached:
    - jupyter_server.services.contents.fileio.FileManagerMixin._read_notebook
    - os.path.islink
    - os.lstat
    - jupyter_server.services.contents.filemanager.FileContentsManager.exists
    - nbformat.validate
    - jupyter_server.services.contents.fileio.AsyncFileManagerMixin._read_notebook
    - validation_error.get
    - jupyter_server.services.contents.filemanager.FileContentsManager._dir_model
    - jupyter_server.services.contents.filemanager.FileContentsManager._save_directory
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._notebook_model
    - path.strip
    - jupyter_server.services.contents.filemanager.FileContentsManager.get
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.is_hidden
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.get
    - stat.S_ISDIR
    - model.update
    - h.update
    - jupyter_server.services.contents.fileio.FileManagerMixin.perm_to_403
    - os.path.isfile
    - jupyter_server.services.contents.manager.ContentsManager.should_list
    - f.read
    - jupyter_server.services.contents.fileio.FileManagerMixin._save_file
    - jupyter_core.paths.is_file_hidden
    - jupyter_server.services.contents.fileio.FileManagerMixin._read_file
    - os.replace
    - jupyter_server.services.contents.filemanager.FileContentsManager._notebook_model
    - <builtin>.any
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._save_directory
    - jupyter_server.services.contents.fileio._simple_writing
    - kwargs.setdefault
    - jupyter_server.services.contents.fileio.async_replace_file
    - <builtin>.len
    - jupyter_server.services.contents.filemanager.FileContentsManager.is_hidden
    - jupyter_server.services.contents.fileio.FileManagerMixin.open
    - stat.S_ISLNK
    - traitlets.Instance.create_checkpoint
    - traitlets.Instance.check_cells
    - os_path.startswith
    - h.hexdigest
    - os_path.strip
    - os.path.splitdrive
    - <builtin>.open
    - <builtin>.str
    - os.mkdir
    - os.path.abspath
    - <builtin>.isinstance
    - os.path.isdir
    - jupyter_server.services.contents.manager.ContentsManager.mark_trusted_cells
    - path.endswith
    - nbformat.reads
    - jupyter_server.services.contents.manager.ContentsManager.check_and_sign
    - fileobj.close
    - os.access
    - functools.partial
    - path.rsplit
    - typing.NewType
    - datetime.datetime.fromtimestamp
    - jupyter_server.services.contents.filemanager.FileContentsManager._base_model
    - jupyter_server.services.contents.filemanager.FileContentsManager.is_writable
    - traitlets.Instance.mark_cells
    - datetime.datetime
    - traitlets.Instance.sign
    - jupyter_server._tz.utcfromtimestamp
    - nbformat.write
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._file_model
    - base64.decodebytes
    - jupyter_server.services.contents.manager.ContentsManager.validate_notebook_model
    - anyio.to_thread.run_sync
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._dir_model
    - f.write
    - json.dumps
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - jupyter_server.services.contents.manager.ContentsManager.run_post_save_hooks
    - jupyter_server.services.contents.fileio.FileManagerMixin.atomic_writing
    - jupyter_server.utils.to_api_path
    - traitlets.Instance.list_checkpoints
    - base64.encodebytes
    - os.path.exists
    - jupyter_server.services.contents.fileio.replace_file
    - os.path.dirname
    - nbformat.v4.new_notebook.encode
    - traitlets.Instance.check_signature
    - base64.encodebytes.decode
    - jupyter_server.services.contents.manager.ContentsManager.run_pre_save_hooks
    - jupyter_server.services.contents.manager.ContentsManager.emit
    - jupyter_server.utils.to_os_path
    - os.path.normpath
    - os.readlink
    - jupyter_server.services.contents.fileio.FileManagerMixin._save_notebook
    - hashlib.new
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_hash
    - fnmatch.fnmatch
    - jupyter_server.services.contents.fileio.path_to_intermediate
    - jupyter_server.services.contents.manager.ContentsManager.create_checkpoint
    - os.listdir
    - os.path.join
    - jupyter_server.services.contents.filemanager.FileContentsManager._file_model
    - jupyter_server.services.contents.fileio.path_to_invalid
    - os.path.split
    - model.get
    - mimetypes.guess_type
    - contents.append
    - nbformat.from_dict
    - jupyter_server.services.contents.fileio.AsyncFileManagerMixin._read_file
    - bcontent.decode
    - stat.S_ISREG
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: nbformat.from_dict
    functionSourceFile: nbformat
    functionUses: 11
    functionsReached: []
    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 0x7fc4abb9c8e0>
    argNames:
    - self
    - os_path
    - nb
    - capture_validation_error
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 324
    functionName: jupyter_server.services.contents.fileio.FileManagerMixin._save_notebook
    functionSourceFile: jupyter_server.services.contents.fileio
    functionUses: 2
    functionsReached:
    - jupyter_server.utils.to_api_path
    - typing.NewType
    - os.path.join
    - kwargs.setdefault
    - jupyter_server.services.contents.fileio._simple_writing
    - os.path.islink
    - os.readlink
    - os_path.startswith
    - nbformat.write
    - fileobj.close
    - os_path.strip
    - os.path.dirname
    - <builtin>.len
    - jupyter_server.services.contents.fileio.FileManagerMixin.atomic_writing
    - <builtin>.open
    - jupyter_server.services.contents.fileio.FileManagerMixin.perm_to_403
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    IfCount: 2
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - os_path
    - content
    - format
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 413
    functionName: jupyter_server.services.contents.fileio.FileManagerMixin._save_file
    functionSourceFile: jupyter_server.services.contents.fileio
    functionUses: 2
    functionsReached:
    - jupyter_server.utils.to_api_path
    - f.write
    - os.path.join
    - kwargs.setdefault
    - jupyter_server.services.contents.fileio._simple_writing
    - os.path.islink
    - os.readlink
    - typing.NewType
    - os_path.startswith
    - <builtin>.open
    - base64.decodebytes
    - fileobj.close
    - os_path.strip
    - os.path.dirname
    - <builtin>.len
    - nbformat.v4.new_notebook.encode
    - jupyter_server.services.contents.fileio.FileManagerMixin.atomic_writing
    - jupyter_server.services.contents.fileio.FileManagerMixin.perm_to_403
    linkageType: pythonLinkage
    raised:
    - HTTPError
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 3
    IfCount: 3
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7fc4ad77ec40>
    argNames:
    - self
    - os_path
    - model
    - path
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 928
    functionName: jupyter_server.services.contents.filemanager.AsyncFileContentsManager._save_directory
    functionSourceFile: jupyter_server.services.contents.filemanager
    functionUses: 9
    functionsReached:
    - typing.NewType
    - jupyter_server.utils.to_os_path
    - os.lstat
    - <builtin>.len
    - os.path.normpath
    - os_path.startswith
    - os_path.strip
    - os.path.splitdrive
    - path.strip
    - anyio.to_thread.run_sync
    - <builtin>.str
    - os.path.join
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.is_hidden
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - os.path.abspath
    - os.path.isdir
    - jupyter_server.services.contents.fileio.FileManagerMixin.perm_to_403
    - jupyter_server.utils.to_api_path
    - os.path.exists
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 11
    ICount: 7
    IfCount: 7
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - path
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 528
    functionName: jupyter_server.services.contents.filemanager.FileContentsManager.delete_file
    functionSourceFile: jupyter_server.services.contents.filemanager
    functionUses: 0
    functionsReached:
    - typing.NewType
    - jupyter_server.utils.to_os_path
    - jupyter_server.services.contents.filemanager.FileContentsManager.is_writable
    - os.lstat
    - jupyter_server.services.contents.filemanager.FileContentsManager.exists
    - <builtin>.len
    - os.path.normpath
    - jupyter_server.services.contents.filemanager.FileContentsManager.is_hidden
    - os_path.startswith
    - jupyter_server.services.contents.filemanager.FileContentsManager.delete_file.is_non_empty_dir
    - shutil.rmtree
    - os_path.strip
    - os.path.splitdrive
    - path.strip
    - <builtin>.set
    - <builtin>.getattr
    - os.listdir
    - <builtin>.str
    - os.path.join
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.is_hidden
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - os.path.abspath
    - os.path.isdir
    - jupyter_server.services.contents.fileio.FileManagerMixin.perm_to_403
    - jupyter_server.utils.to_api_path
    - os.unlink
    - os.access
    - send2trash.send2trash
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - os_path
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 541
    functionName: jupyter_server.services.contents.filemanager.FileContentsManager.delete_file.is_non_empty_dir
    functionSourceFile: jupyter_server.services.contents.filemanager
    functionUses: 1
    functionsReached:
    - <builtin>.set
    - <builtin>.getattr
    - os.listdir
    - os.path.isdir
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: send2trash.send2trash
    functionSourceFile: send2trash
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 2
    IfCount: 3
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - old_path
    - new_path
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 578
    functionName: jupyter_server.services.contents.filemanager.FileContentsManager.rename_file
    functionSourceFile: jupyter_server.services.contents.filemanager
    functionUses: 0
    functionsReached:
    - typing.NewType
    - jupyter_server.utils.to_os_path
    - os.lstat
    - <builtin>.len
    - os.path.normpath
    - jupyter_server.services.contents.filemanager.FileContentsManager.is_hidden
    - new_path.strip
    - os_path.startswith
    - os.path.samefile
    - os_path.strip
    - os.path.splitdrive
    - path.strip
    - <builtin>.str
    - os.path.join
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.is_hidden
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - os.path.abspath
    - old_path.strip
    - jupyter_server.services.contents.fileio.FileManagerMixin.perm_to_403
    - path.lower
    - jupyter_server.utils.to_api_path
    - shutil.move
    - os.stat
    - os.path.exists
    - jupyter_server.utils.samefile_simple
    - other_path.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_path.strip
    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: new_path.strip
    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.samefile
    functionSourceFile: os
    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: shutil.move
    functionSourceFile: shutil
    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: 606
    functionName: jupyter_server.services.contents.filemanager.FileContentsManager.info_string
    functionSourceFile: jupyter_server.services.contents.filemanager
    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.Constant object at 0x7fc4ad8ad0d0>
    argNames:
    - self
    - path
    - model
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 610
    functionName: jupyter_server.services.contents.filemanager.FileContentsManager.get_kernel_path
    functionSourceFile: jupyter_server.services.contents.filemanager
    functionUses: 0
    functionsReached:
    - <builtin>.str
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.dir_exists
    - typing.NewType
    - os.path.join
    - jupyter_server.utils.to_os_path
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - os.path.abspath
    - os.lstat
    - os.path.splitdrive
    - os.path.isdir
    - path.strip
    - path.rsplit
    - jupyter_server.services.contents.filemanager.FileContentsManager.dir_exists
    - os.path.normpath
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 2
    IfCount: 5
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7fc4ad8dda30>
    argNames:
    - self
    - from_path
    - to_path
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 10
    functionLinenumber: 617
    functionName: jupyter_server.services.contents.filemanager.FileContentsManager.copy
    functionSourceFile: jupyter_server.services.contents.filemanager
    functionUses: 0
    functionsReached:
    - jupyter_server.services.contents.fileio.FileManagerMixin._read_notebook
    - subprocess.run
    - shutil.copytree
    - os.lstat
    - jupyter_server.services.contents.filemanager.FileContentsManager.exists
    - nbformat.validate
    - jupyter_server.services.contents.fileio.AsyncFileManagerMixin._read_notebook
    - validation_error.get
    - <builtin>.super
    - copy_pat.sub
    - jupyter_server.services.contents.filemanager.FileContentsManager._dir_model
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._notebook_model
    - path.strip
    - to_path_original.strip
    - jupyter_server.services.contents.filemanager.FileContentsManager.get
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.is_hidden
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.get
    - from_path.strip
    - stat.S_ISDIR
    - model.update
    - jupyter_server.services.contents.filemanager.FileContentsManager.dir_exists
    - h.update
    - jupyter_server.services.contents.filemanager.FileContentsManager._get_dir_size
    - jupyter_server.services.contents.fileio.FileManagerMixin.perm_to_403
    - os.path.isfile
    - jupyter_server.services.contents.manager.ContentsManager.should_list
    - f.read
    - jupyter_core.paths.is_file_hidden
    - jupyter_server.services.contents.fileio.FileManagerMixin._read_file
    - os.replace
    - jupyter_server.services.contents.filemanager.FileContentsManager._notebook_model
    - <builtin>.any
    - jupyter_server.services.contents.fileio.async_replace_file
    - <builtin>.len
    - jupyter_server.services.contents.filemanager.FileContentsManager.is_hidden
    - jupyter_server.services.contents.fileio.FileManagerMixin.open
    - stat.S_ISLNK
    - os_path.startswith
    - h.hexdigest
    - to_path.strip
    - os_path.strip
    - os.path.splitdrive
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._get_dir_size
    - <builtin>.str
    - os.path.abspath
    - <builtin>.isinstance
    - platform.system
    - os.path.isdir
    - jupyter_server.services.contents.manager.ContentsManager.mark_trusted_cells
    - path.endswith
    - nbformat.reads
    - os.access
    - functools.partial
    - path.rsplit
    - typing.NewType
    - datetime.datetime.fromtimestamp
    - jupyter_server.services.contents.filemanager.FileContentsManager._base_model
    - jupyter_server.services.contents.filemanager.FileContentsManager.is_writable
    - traitlets.config.configurable.LoggingConfigurable.strip
    - traitlets.Instance.mark_cells
    - datetime.datetime
    - jupyter_server._tz.utcfromtimestamp
    - jupyter_server.services.contents.filemanager.FileContentsManager.check_folder_size
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._file_model
    - jupyter_server.services.contents.manager.ContentsManager.validate_notebook_model
    - anyio.to_thread.run_sync
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._dir_model
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.dir_exists
    - json.dumps
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._copy_dir
    - jupyter_server.utils.to_api_path
    - <builtin>.int
    - base64.encodebytes
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.check_folder_size
    - os.path.exists
    - jupyter_server.services.contents.fileio.replace_file
    - traitlets.Instance.check_signature
    - base64.encodebytes.decode
    - jupyter_server.services.contents.manager.ContentsManager.emit
    - jupyter_server.utils.to_os_path
    - jupyter_server.services.contents.filemanager.FileContentsManager._copy_dir
    - os.path.normpath
    - fnmatch.fnmatch
    - hashlib.new
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_hash
    - jupyter_server.services.contents.fileio.path_to_intermediate
    - os.listdir
    - os.path.join
    - jupyter_server.services.contents.filemanager.FileContentsManager._file_model
    - jupyter_server.services.contents.fileio.path_to_invalid
    - os.path.split
    - mimetypes.guess_type
    - contents.append
    - jupyter_server.services.contents.fileio.AsyncFileManagerMixin._read_file
    - bcontent.decode
    - stat.S_ISREG
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - path
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 1161
    functionName: jupyter_server.services.contents.filemanager.AsyncFileContentsManager.check_folder_size
    functionSourceFile: jupyter_server.services.contents.filemanager
    functionUses: 2
    functionsReached:
    - typing.NewType
    - os.path.join
    - jupyter_server.utils.to_os_path
    - subprocess.run
    - <builtin>.int
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - os.path.abspath
    - os.lstat
    - os.path.splitdrive
    - platform.system
    - os.path.normpath
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._get_dir_size
    - <builtin>.str
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - path
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 680
    functionName: jupyter_server.services.contents.filemanager.FileContentsManager.check_folder_size
    functionSourceFile: jupyter_server.services.contents.filemanager
    functionUses: 1
    functionsReached:
    - typing.NewType
    - os.path.join
    - jupyter_server.utils.to_os_path
    - subprocess.run
    - <builtin>.int
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - os.path.abspath
    - os.lstat
    - os.path.splitdrive
    - platform.system
    - os.path.normpath
    - jupyter_server.services.contents.filemanager.FileContentsManager._get_dir_size
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._get_dir_size
    - <builtin>.str
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 3
    IfCount: 0
    argCount: 5
    argDefaultValues: []
    argNames:
    - self
    - from_path
    - to_path_original
    - to_name
    - to_path
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 10
    functionLinenumber: 661
    functionName: jupyter_server.services.contents.filemanager.FileContentsManager._copy_dir
    functionSourceFile: jupyter_server.services.contents.filemanager
    functionUses: 1
    functionsReached:
    - jupyter_server.services.contents.fileio.FileManagerMixin._read_notebook
    - shutil.copytree
    - os.lstat
    - jupyter_server.services.contents.filemanager.FileContentsManager.exists
    - nbformat.validate
    - jupyter_server.services.contents.fileio.AsyncFileManagerMixin._read_notebook
    - validation_error.get
    - jupyter_server.services.contents.filemanager.FileContentsManager._dir_model
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._notebook_model
    - path.strip
    - to_path_original.strip
    - jupyter_server.services.contents.filemanager.FileContentsManager.get
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.is_hidden
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.get
    - from_path.strip
    - stat.S_ISDIR
    - model.update
    - h.update
    - jupyter_server.services.contents.fileio.FileManagerMixin.perm_to_403
    - os.path.isfile
    - jupyter_server.services.contents.manager.ContentsManager.should_list
    - f.read
    - jupyter_core.paths.is_file_hidden
    - jupyter_server.services.contents.fileio.FileManagerMixin._read_file
    - os.replace
    - jupyter_server.services.contents.filemanager.FileContentsManager._notebook_model
    - <builtin>.any
    - jupyter_server.services.contents.fileio.async_replace_file
    - <builtin>.len
    - jupyter_server.services.contents.filemanager.FileContentsManager.is_hidden
    - jupyter_server.services.contents.fileio.FileManagerMixin.open
    - stat.S_ISLNK
    - os_path.startswith
    - h.hexdigest
    - os_path.strip
    - os.path.splitdrive
    - <builtin>.str
    - os.path.abspath
    - <builtin>.isinstance
    - os.path.isdir
    - jupyter_server.services.contents.manager.ContentsManager.mark_trusted_cells
    - path.endswith
    - nbformat.reads
    - os.access
    - functools.partial
    - path.rsplit
    - typing.NewType
    - datetime.datetime.fromtimestamp
    - jupyter_server.services.contents.filemanager.FileContentsManager._base_model
    - jupyter_server.services.contents.filemanager.FileContentsManager.is_writable
    - traitlets.Instance.mark_cells
    - datetime.datetime
    - jupyter_server._tz.utcfromtimestamp
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._file_model
    - jupyter_server.services.contents.manager.ContentsManager.validate_notebook_model
    - anyio.to_thread.run_sync
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._dir_model
    - json.dumps
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - jupyter_server.utils.to_api_path
    - base64.encodebytes
    - os.path.exists
    - jupyter_server.services.contents.fileio.replace_file
    - traitlets.Instance.check_signature
    - base64.encodebytes.decode
    - jupyter_server.services.contents.manager.ContentsManager.emit
    - jupyter_server.utils.to_os_path
    - os.path.normpath
    - fnmatch.fnmatch
    - hashlib.new
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_hash
    - jupyter_server.services.contents.fileio.path_to_intermediate
    - os.listdir
    - os.path.join
    - jupyter_server.services.contents.filemanager.FileContentsManager._file_model
    - jupyter_server.services.contents.fileio.path_to_invalid
    - os.path.split
    - mimetypes.guess_type
    - contents.append
    - jupyter_server.services.contents.fileio.AsyncFileManagerMixin._read_file
    - bcontent.decode
    - stat.S_ISREG
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 3
    IfCount: 0
    argCount: 5
    argDefaultValues: []
    argNames:
    - self
    - from_path
    - to_path_original
    - to_name
    - to_path
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 8
    functionLinenumber: 1140
    functionName: jupyter_server.services.contents.filemanager.AsyncFileContentsManager._copy_dir
    functionSourceFile: jupyter_server.services.contents.filemanager
    functionUses: 2
    functionsReached:
    - <builtin>.any
    - base64.encodebytes.decode
    - typing.NewType
    - traitlets.Instance.check_signature
    - jupyter_server.services.contents.manager.ContentsManager.emit
    - jupyter_server.utils.to_os_path
    - shutil.copytree
    - datetime.datetime.fromtimestamp
    - jupyter_server.services.contents.filemanager.FileContentsManager._base_model
    - os.lstat
    - traitlets.config.configurable.LoggingConfigurable.strip
    - jupyter_server.services.contents.filemanager.FileContentsManager.is_writable
    - jupyter_server.services.contents.fileio.async_replace_file
    - jupyter_server.services.contents.filemanager.FileContentsManager.exists
    - nbformat.validate
    - <builtin>.len
    - os.path.normpath
    - jupyter_server.services.contents.fileio.AsyncFileManagerMixin._read_notebook
    - traitlets.Instance.mark_cells
    - datetime.datetime
    - jupyter_server.services.contents.filemanager.FileContentsManager.is_hidden
    - jupyter_server.services.contents.fileio.FileManagerMixin.open
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_hash
    - stat.S_ISLNK
    - jupyter_server._tz.utcfromtimestamp
    - jupyter_server.services.contents.fileio.path_to_intermediate
    - validation_error.get
    - os_path.startswith
    - hashlib.new
    - h.hexdigest
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._file_model
    - os_path.strip
    - os.path.splitdrive
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._notebook_model
    - path.strip
    - to_path_original.strip
    - jupyter_server.services.contents.manager.ContentsManager.validate_notebook_model
    - anyio.to_thread.run_sync
    - <builtin>.str
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._dir_model
    - os.path.join
    - json.dumps
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.is_hidden
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.get
    - os.path.abspath
    - <builtin>.isinstance
    - jupyter_server.services.contents.fileio.path_to_invalid
    - os.path.isdir
    - stat.S_ISDIR
    - model.update
    - jupyter_server.services.contents.manager.ContentsManager.mark_trusted_cells
    - path.endswith
    - os.path.split
    - jupyter_server.services.contents.fileio.FileManagerMixin.perm_to_403
    - h.update
    - os.path.isfile
    - jupyter_server.utils.to_api_path
    - mimetypes.guess_type
    - contents.append
    - base64.encodebytes
    - jupyter_server.services.contents.manager.ContentsManager.should_list
    - os.access
    - jupyter_core.paths.is_file_hidden
    - jupyter_server.services.contents.fileio.AsyncFileManagerMixin._read_file
    - os.path.exists
    - bcontent.decode
    - functools.partial
    - path.rsplit
    - stat.S_ISREG
    - 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: to_path_original.strip
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    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 0x7fc4ad7a0400>
    argNames:
    - self
    - path
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 699
    functionName: jupyter_server.services.contents.filemanager.FileContentsManager._get_dir_size
    functionSourceFile: jupyter_server.services.contents.filemanager
    functionUses: 2
    functionsReached:
    - subprocess.run
    - platform.system
    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 0x7fc4ac8b8a00>
    argNames:
    - self
    - path
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1180
    functionName: jupyter_server.services.contents.filemanager.AsyncFileContentsManager._get_dir_size
    functionSourceFile: jupyter_server.services.contents.filemanager
    functionUses: 4
    functionsReached:
    - subprocess.run
    - platform.system
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: platform.system
    functionSourceFile: platform
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: subprocess.run
    functionSourceFile: subprocess
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - size
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 726
    functionName: jupyter_server.services.contents.filemanager.FileContentsManager._human_readable_size
    functionSourceFile: jupyter_server.services.contents.filemanager
    functionUses: 0
    functionsReached:
    - <builtin>.int
    - math.log2
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.log2
    functionSourceFile: math
    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: jupyter_server.services.contents.filemanager.AsyncFileContentsManager
    functionSourceFile: jupyter_server.services.contents.filemanager
    functionUses: 0
    functionsReached:
    - traitlets.default
    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: 743
    functionName: jupyter_server.services.contents.filemanager.AsyncFileContentsManager._checkpoints_class_default
    functionSourceFile: jupyter_server.services.contents.filemanager
    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: anyio.to_thread.run_sync
    functionSourceFile: anyio
    functionUses: 54
    functionsReached: []
    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 0x7fc4abb80eb0>
    argNames:
    - self
    - os_path
    - format
    - raw
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 498
    functionName: jupyter_server.services.contents.fileio.AsyncFileManagerMixin._read_file
    functionSourceFile: jupyter_server.services.contents.fileio
    functionUses: 27
    functionsReached:
    - os.path.isfile
    - base64.encodebytes.decode
    - jupyter_server.utils.to_api_path
    - typing.NewType
    - os_path.startswith
    - base64.encodebytes
    - os_path.strip
    - bcontent.decode
    - <builtin>.len
    - anyio.to_thread.run_sync
    - jupyter_server.services.contents.fileio.FileManagerMixin.perm_to_403
    - jupyter_server.services.contents.fileio.FileManagerMixin.open
    linkageType: pythonLinkage
    raised:
    - HTTPError
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 5
    argDefaultValues:
    - <ast.Constant object at 0x7fc4abb8dd90>
    - <ast.Constant object at 0x7fc4abb8dd60>
    - <ast.Constant object at 0x7fc4abb8dd30>
    argNames:
    - self
    - os_path
    - as_version
    - capture_validation_error
    - raw
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 445
    functionName: jupyter_server.services.contents.fileio.AsyncFileManagerMixin._read_notebook
    functionSourceFile: jupyter_server.services.contents.fileio
    functionUses: 24
    functionsReached:
    - base64.encodebytes.decode
    - typing.NewType
    - jupyter_server.services.contents.fileio.async_replace_file
    - <builtin>.len
    - jupyter_server.services.contents.fileio.AsyncFileManagerMixin._read_notebook
    - jupyter_server.services.contents.fileio.FileManagerMixin.open
    - jupyter_server.services.contents.fileio.path_to_intermediate
    - os_path.startswith
    - os_path.strip
    - anyio.to_thread.run_sync
    - os.path.join
    - jupyter_server.services.contents.fileio.path_to_invalid
    - os.path.split
    - jupyter_server.services.contents.fileio.FileManagerMixin.perm_to_403
    - os.path.isfile
    - jupyter_server.utils.to_api_path
    - base64.encodebytes
    - os.path.exists
    - jupyter_server.services.contents.fileio.AsyncFileManagerMixin._read_file
    - bcontent.decode
    - functools.partial
    linkageType: pythonLinkage
    raised:
    - HTTPError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7fc4abb886d0>
    argNames:
    - self
    - os_path
    - nb
    - capture_validation_error
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 485
    functionName: jupyter_server.services.contents.fileio.AsyncFileManagerMixin._save_notebook
    functionSourceFile: jupyter_server.services.contents.fileio
    functionUses: 9
    functionsReached:
    - jupyter_server.utils.to_api_path
    - typing.NewType
    - os.path.join
    - kwargs.setdefault
    - jupyter_server.services.contents.fileio._simple_writing
    - <builtin>.open
    - os.path.islink
    - os.readlink
    - os_path.startswith
    - fileobj.close
    - os_path.strip
    - os.path.dirname
    - functools.partial
    - <builtin>.len
    - anyio.to_thread.run_sync
    - jupyter_server.services.contents.fileio.FileManagerMixin.atomic_writing
    - jupyter_server.services.contents.fileio.FileManagerMixin.perm_to_403
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    IfCount: 2
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - os_path
    - content
    - format
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 555
    functionName: jupyter_server.services.contents.fileio.AsyncFileManagerMixin._save_file
    functionSourceFile: jupyter_server.services.contents.fileio
    functionUses: 9
    functionsReached:
    - jupyter_server.utils.to_api_path
    - typing.NewType
    - os.path.join
    - kwargs.setdefault
    - jupyter_server.services.contents.fileio._simple_writing
    - <builtin>.open
    - os.path.islink
    - os.readlink
    - os_path.startswith
    - base64.decodebytes
    - fileobj.close
    - os_path.strip
    - anyio.to_thread.run_sync
    - os.path.dirname
    - <builtin>.len
    - nbformat.v4.new_notebook.encode
    - jupyter_server.services.contents.fileio.FileManagerMixin.atomic_writing
    - jupyter_server.services.contents.fileio.FileManagerMixin.perm_to_403
    linkageType: pythonLinkage
    raised:
    - HTTPError
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - os_path
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1001
    functionName: jupyter_server.services.contents.filemanager.AsyncFileContentsManager.delete_file.is_non_empty_dir
    functionSourceFile: jupyter_server.services.contents.filemanager
    functionUses: 3
    functionsReached:
    - <builtin>.set
    - <builtin>.getattr
    - anyio.to_thread.run_sync
    - os.path.isdir
    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 0x7fc4ac8b2700>
    argNames:
    - self
    - path
    - model
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 1089
    functionName: jupyter_server.services.contents.filemanager.AsyncFileContentsManager.get_kernel_path
    functionSourceFile: jupyter_server.services.contents.filemanager
    functionUses: 0
    functionsReached:
    - <builtin>.str
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.dir_exists
    - typing.NewType
    - os.path.join
    - jupyter_server.utils.to_os_path
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - os.path.abspath
    - os.lstat
    - os.path.splitdrive
    - os.path.isdir
    - path.strip
    - path.rsplit
    - os.path.normpath
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 2
    IfCount: 5
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7fc4ac8b2dc0>
    argNames:
    - self
    - from_path
    - to_path
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 8
    functionLinenumber: 1096
    functionName: jupyter_server.services.contents.filemanager.AsyncFileContentsManager.copy
    functionSourceFile: jupyter_server.services.contents.filemanager
    functionUses: 0
    functionsReached:
    - os.path.islink
    - subprocess.run
    - shutil.copytree
    - os.lstat
    - jupyter_server.services.contents.filemanager.FileContentsManager.exists
    - nbformat.validate
    - jupyter_server.services.contents.fileio.AsyncFileManagerMixin._read_notebook
    - validation_error.get
    - <builtin>.super
    - copy_pat.sub
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._notebook_model
    - path.strip
    - to_path_original.strip
    - jupyter_server.services.contents.manager.AsyncContentsManager.create_checkpoint
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.is_hidden
    - jupyter_server.services.contents.manager.AsyncContentsManager.get
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.get
    - stat.S_ISDIR
    - model.update
    - h.update
    - jupyter_server.services.contents.fileio.FileManagerMixin.perm_to_403
    - os.path.isfile
    - jupyter_server.services.contents.manager.ContentsManager.should_list
    - jupyter_core.paths.is_file_hidden
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.file_exists
    - <builtin>.any
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._save_directory
    - jupyter_server.services.contents.fileio._simple_writing
    - kwargs.setdefault
    - jupyter_core.utils.ensure_async
    - jupyter_server.services.contents.fileio.async_replace_file
    - <builtin>.len
    - jupyter_server.services.contents.filemanager.FileContentsManager.is_hidden
    - jupyter_server.services.contents.fileio.FileManagerMixin.open
    - stat.S_ISLNK
    - traitlets.Instance.create_checkpoint
    - traitlets.Instance.check_cells
    - os_path.startswith
    - jupyter_server.services.contents.manager.AsyncContentsManager.save
    - h.hexdigest
    - to_path.strip
    - os_path.strip
    - traitlets.Unicode.partition
    - os.path.splitdrive
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._get_dir_size
    - <builtin>.open
    - <builtin>.str
    - os.path.abspath
    - <builtin>.isinstance
    - platform.system
    - os.path.isdir
    - jupyter_server.services.contents.manager.ContentsManager.mark_trusted_cells
    - itertools.count
    - path.endswith
    - to_path.rsplit
    - jupyter_server.services.contents.manager.ContentsManager.check_and_sign
    - jupyter_server.services.contents.manager.AsyncContentsManager.file_exists
    - fileobj.close
    - os.access
    - functools.partial
    - path.rsplit
    - jupyter_server.services.contents.manager.AsyncContentsManager.exists
    - jupyter_server.services.contents.fileio.AsyncFileManagerMixin._save_notebook
    - typing.NewType
    - datetime.datetime.fromtimestamp
    - jupyter_server.services.contents.filemanager.FileContentsManager._base_model
    - base64.b64decode
    - jupyter_server.services.contents.filemanager.FileContentsManager.is_writable
    - traitlets.config.configurable.LoggingConfigurable.strip
    - model.pop
    - traitlets.Instance.mark_cells
    - datetime.datetime
    - traitlets.Instance.sign
    - jupyter_server._tz.utcfromtimestamp
    - jupyter_server.services.contents.manager.AsyncContentsManager.dir_exists
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._file_model
    - base64.decodebytes
    - jupyter_server.services.contents.largefilemanager.AsyncLargeFileManager._save_large_file
    - jupyter_server.services.contents.manager.ContentsManager.validate_notebook_model
    - anyio.to_thread.run_sync
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._dir_model
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.dir_exists
    - json.dumps
    - traitlets.Unicode.rpartition
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - jupyter_server.services.contents.manager.ContentsManager.run_post_save_hooks
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._copy_dir
    - jupyter_server.services.contents.fileio.FileManagerMixin.atomic_writing
    - jupyter_server.services.contents.manager.AsyncContentsManager.increment_filename
    - jupyter_server.services.contents.fileio.AsyncFileManagerMixin._save_file
    - jupyter_server.utils.to_api_path
    - traitlets.Instance.list_checkpoints
    - base64.encodebytes
    - <builtin>.int
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.check_folder_size
    - os.path.exists
    - os.path.dirname
    - jupyter_server.services.contents.manager.AsyncContentsManager.copy
    - nbformat.v4.new_notebook.encode
    - base64.encodebytes.decode
    - traitlets.Instance.check_signature
    - jupyter_server.services.contents.manager.ContentsManager.run_pre_save_hooks
    - jupyter_server.services.contents.manager.ContentsManager.emit
    - jupyter_server.utils.to_os_path
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.copy
    - os.path.normpath
    - os.readlink
    - fnmatch.fnmatch
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_hash
    - hashlib.new
    - jupyter_server.services.contents.fileio.path_to_intermediate
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.save
    - os.path.join
    - jupyter_server.services.contents.largefilemanager.AsyncLargeFileManager.save
    - jupyter_server.services.contents.fileio.path_to_invalid
    - os.path.split
    - model.get
    - mimetypes.guess_type
    - contents.append
    - nbformat.from_dict
    - jupyter_server.services.contents.fileio.AsyncFileManagerMixin._read_file
    - bcontent.decode
    - stat.S_ISREG
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - size
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1207
    functionName: jupyter_server.services.contents.filemanager.AsyncFileContentsManager._human_readable_size
    functionSourceFile: jupyter_server.services.contents.filemanager
    functionUses: 0
    functionsReached:
    - <builtin>.int
    - math.log2
    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: jupyter_server.services.contents.filecheckpoints
    functionSourceFile: jupyter_server.services.contents.filecheckpoints
    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: jupyter_server.services.contents.filecheckpoints.FileCheckpoints
    functionSourceFile: jupyter_server.services.contents.filecheckpoints
    functionUses: 0
    functionsReached:
    - traitlets.Unicode
    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: 45
    functionName: jupyter_server.services.contents.filecheckpoints.FileCheckpoints._root_dir_default
    functionSourceFile: jupyter_server.services.contents.filecheckpoints
    functionUses: 0
    functionsReached:
    - os.getcwd
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - contents_mgr
    - path
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 51
    functionName: jupyter_server.services.contents.filecheckpoints.FileCheckpoints.create_checkpoint
    functionSourceFile: jupyter_server.services.contents.filecheckpoints
    functionUses: 0
    functionsReached:
    - typing.NewType
    - os.path.splitext
    - jupyter_server.utils.to_os_path
    - parent.strip
    - datetime.datetime.fromtimestamp
    - os.lstat
    - jupyter_server.services.contents.filecheckpoints.FileCheckpoints.checkpoint_path
    - shutil.copyfile
    - <builtin>.len
    - os.path.normpath
    - jupyter_server._tz.utcfromtimestamp
    - os_path.startswith
    - jupyter_core.utils.ensure_dir_exists
    - jupyter_server.services.contents.fileio.copy2_safe
    - os_path.strip
    - os.path.splitdrive
    - path.strip
    - jupyter_server.services.contents.fileio.FileManagerMixin._copy
    - jupyter_server.services.contents.filecheckpoints.FileCheckpoints.checkpoint_model
    - <builtin>.str
    - log.debug
    - os.path.join
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - shutil.copystat
    - os.path.abspath
    - jupyter_server.services.contents.fileio.FileManagerMixin.perm_to_403
    - jupyter_server.utils.to_api_path
    - contents_mgr._get_os_path
    - os.stat
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: contents_mgr._get_os_path
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - checkpoint_id
    - path
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 104
    functionName: jupyter_server.services.contents.filecheckpoints.FileCheckpoints.checkpoint_path
    functionSourceFile: jupyter_server.services.contents.filecheckpoints
    functionUses: 18
    functionsReached:
    - typing.NewType
    - jupyter_server.utils.to_api_path
    - os.path.splitext
    - os.path.join
    - jupyter_server.utils.to_os_path
    - os_path.startswith
    - jupyter_core.utils.ensure_dir_exists
    - parent.strip
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - os_path.strip
    - os.path.abspath
    - os.lstat
    - os.path.splitdrive
    - path.strip
    - <builtin>.len
    - os.path.normpath
    - jupyter_server.services.contents.fileio.FileManagerMixin.perm_to_403
    - <builtin>.str
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - src
    - dest
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 243
    functionName: jupyter_server.services.contents.fileio.FileManagerMixin._copy
    functionSourceFile: jupyter_server.services.contents.fileio
    functionUses: 2
    functionsReached:
    - shutil.copystat
    - jupyter_server.services.contents.fileio.copy2_safe
    - log.debug
    - shutil.copyfile
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - checkpoint_id
    - os_path
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 118
    functionName: jupyter_server.services.contents.filecheckpoints.FileCheckpoints.checkpoint_model
    functionSourceFile: jupyter_server.services.contents.filecheckpoints
    functionUses: 4
    functionsReached:
    - os.stat
    - jupyter_server._tz.utcfromtimestamp
    - datetime.datetime.fromtimestamp
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - contents_mgr
    - checkpoint_id
    - path
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 59
    functionName: jupyter_server.services.contents.filecheckpoints.FileCheckpoints.restore_checkpoint
    functionSourceFile: jupyter_server.services.contents.filecheckpoints
    functionUses: 0
    functionsReached:
    - typing.NewType
    - os.path.splitext
    - jupyter_server.utils.to_os_path
    - parent.strip
    - os.lstat
    - jupyter_server.services.contents.filecheckpoints.FileCheckpoints.checkpoint_path
    - shutil.copyfile
    - <builtin>.len
    - os.path.normpath
    - os_path.startswith
    - jupyter_core.utils.ensure_dir_exists
    - jupyter_server.services.contents.fileio.copy2_safe
    - os_path.strip
    - os.path.splitdrive
    - path.strip
    - jupyter_server.services.contents.fileio.FileManagerMixin._copy
    - <builtin>.str
    - log.debug
    - os.path.join
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - shutil.copystat
    - os.path.abspath
    - jupyter_server.services.contents.fileio.FileManagerMixin.perm_to_403
    - jupyter_server.utils.to_api_path
    - contents_mgr._get_os_path
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - checkpoint_id
    - old_path
    - new_path
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 66
    functionName: jupyter_server.services.contents.filecheckpoints.FileCheckpoints.rename_checkpoint
    functionSourceFile: jupyter_server.services.contents.filecheckpoints
    functionUses: 0
    functionsReached:
    - typing.NewType
    - os.path.splitext
    - jupyter_server.utils.to_os_path
    - parent.strip
    - os.lstat
    - jupyter_server.services.contents.filecheckpoints.FileCheckpoints.checkpoint_path
    - <builtin>.len
    - os.path.normpath
    - os_path.startswith
    - jupyter_core.utils.ensure_dir_exists
    - os_path.strip
    - os.path.splitdrive
    - path.strip
    - <builtin>.str
    - os.path.join
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - os.path.abspath
    - jupyter_server.services.contents.fileio.FileManagerMixin.perm_to_403
    - os.path.isfile
    - jupyter_server.utils.to_api_path
    - shutil.move
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 4
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - checkpoint_id
    - path
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 79
    functionName: jupyter_server.services.contents.filecheckpoints.FileCheckpoints.delete_checkpoint
    functionSourceFile: jupyter_server.services.contents.filecheckpoints
    functionUses: 0
    functionsReached:
    - typing.NewType
    - os.path.splitext
    - jupyter_server.utils.to_os_path
    - parent.strip
    - os.lstat
    - jupyter_server.services.contents.filecheckpoints.FileCheckpoints.checkpoint_path
    - <builtin>.len
    - os.path.normpath
    - os_path.startswith
    - jupyter_core.utils.ensure_dir_exists
    - os_path.strip
    - os.path.splitdrive
    - path.strip
    - <builtin>.str
    - os.path.join
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - jupyter_server.services.contents.filecheckpoints.FileCheckpoints.no_such_checkpoint
    - os.path.abspath
    - jupyter_server.services.contents.fileio.FileManagerMixin.perm_to_403
    - os.path.isfile
    - jupyter_server.utils.to_api_path
    - os.unlink
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - path
    - checkpoint_id
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 129
    functionName: jupyter_server.services.contents.filecheckpoints.FileCheckpoints.no_such_checkpoint
    functionSourceFile: ''
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - HTTPError
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - path
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 90
    functionName: jupyter_server.services.contents.filecheckpoints.FileCheckpoints.list_checkpoints
    functionSourceFile: jupyter_server.services.contents.filecheckpoints
    functionUses: 0
    functionsReached:
    - typing.NewType
    - os.path.splitext
    - jupyter_server.utils.to_os_path
    - parent.strip
    - datetime.datetime.fromtimestamp
    - os.lstat
    - jupyter_server.services.contents.filecheckpoints.FileCheckpoints.checkpoint_path
    - <builtin>.len
    - os.path.normpath
    - jupyter_server._tz.utcfromtimestamp
    - os_path.startswith
    - jupyter_core.utils.ensure_dir_exists
    - os_path.strip
    - os.path.splitdrive
    - path.strip
    - jupyter_server.services.contents.filecheckpoints.FileCheckpoints.checkpoint_model
    - <builtin>.str
    - os.path.join
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - os.path.abspath
    - jupyter_server.services.contents.fileio.FileManagerMixin.perm_to_403
    - os.path.isfile
    - jupyter_server.utils.to_api_path
    - os.stat
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.strip
    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: jupyter_core.utils.ensure_dir_exists
    functionSourceFile: jupyter_core
    functionUses: 19
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - contents_mgr
    - path
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 134
    functionName: jupyter_server.services.contents.filecheckpoints.AsyncFileCheckpoints.create_checkpoint
    functionSourceFile: jupyter_server.services.contents.filecheckpoints
    functionUses: 0
    functionsReached:
    - typing.NewType
    - os.path.splitext
    - jupyter_server.utils.to_os_path
    - parent.strip
    - datetime.datetime.fromtimestamp
    - os.lstat
    - jupyter_server.services.contents.filecheckpoints.FileCheckpoints.checkpoint_path
    - <builtin>.len
    - os.path.normpath
    - jupyter_server._tz.utcfromtimestamp
    - os_path.startswith
    - jupyter_core.utils.ensure_dir_exists
    - jupyter_server.services.contents.fileio.AsyncFileManagerMixin._copy
    - os_path.strip
    - os.path.splitdrive
    - path.strip
    - anyio.to_thread.run_sync
    - <builtin>.str
    - jupyter_server.services.contents.fileio.async_copy2_safe
    - os.path.join
    - log.debug
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - os.path.abspath
    - jupyter_server.services.contents.fileio.FileManagerMixin.perm_to_403
    - jupyter_server.utils.to_api_path
    - contents_mgr._get_os_path
    - jupyter_server.services.contents.filecheckpoints.AsyncFileCheckpoints.checkpoint_model
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - src
    - dest
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 438
    functionName: jupyter_server.services.contents.fileio.AsyncFileManagerMixin._copy
    functionSourceFile: jupyter_server.services.contents.fileio
    functionUses: 2
    functionsReached:
    - log.debug
    - anyio.to_thread.run_sync
    - jupyter_server.services.contents.fileio.async_copy2_safe
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - checkpoint_id
    - os_path
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 148
    functionName: jupyter_server.services.contents.filecheckpoints.AsyncFileCheckpoints.checkpoint_model
    functionSourceFile: jupyter_server.services.contents.filecheckpoints
    functionUses: 4
    functionsReached:
    - jupyter_server._tz.utcfromtimestamp
    - anyio.to_thread.run_sync
    - datetime.datetime.fromtimestamp
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - contents_mgr
    - checkpoint_id
    - path
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 142
    functionName: jupyter_server.services.contents.filecheckpoints.AsyncFileCheckpoints.restore_checkpoint
    functionSourceFile: jupyter_server.services.contents.filecheckpoints
    functionUses: 0
    functionsReached:
    - typing.NewType
    - os.path.splitext
    - jupyter_server.utils.to_os_path
    - parent.strip
    - os.lstat
    - jupyter_server.services.contents.filecheckpoints.FileCheckpoints.checkpoint_path
    - <builtin>.len
    - os.path.normpath
    - os_path.startswith
    - jupyter_core.utils.ensure_dir_exists
    - jupyter_server.services.contents.fileio.AsyncFileManagerMixin._copy
    - os_path.strip
    - os.path.splitdrive
    - path.strip
    - anyio.to_thread.run_sync
    - <builtin>.str
    - log.debug
    - jupyter_server.services.contents.fileio.async_copy2_safe
    - os.path.join
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - os.path.abspath
    - jupyter_server.services.contents.fileio.FileManagerMixin.perm_to_403
    - jupyter_server.utils.to_api_path
    - contents_mgr._get_os_path
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - checkpoint_id
    - old_path
    - new_path
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 159
    functionName: jupyter_server.services.contents.filecheckpoints.AsyncFileCheckpoints.rename_checkpoint
    functionSourceFile: jupyter_server.services.contents.filecheckpoints
    functionUses: 0
    functionsReached:
    - typing.NewType
    - os.path.splitext
    - jupyter_server.utils.to_os_path
    - parent.strip
    - os.lstat
    - jupyter_server.services.contents.filecheckpoints.FileCheckpoints.checkpoint_path
    - <builtin>.len
    - os.path.normpath
    - os_path.startswith
    - jupyter_core.utils.ensure_dir_exists
    - os_path.strip
    - os.path.splitdrive
    - path.strip
    - anyio.to_thread.run_sync
    - <builtin>.str
    - os.path.join
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - os.path.abspath
    - jupyter_server.services.contents.fileio.FileManagerMixin.perm_to_403
    - os.path.isfile
    - jupyter_server.utils.to_api_path
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 4
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - checkpoint_id
    - path
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 172
    functionName: jupyter_server.services.contents.filecheckpoints.AsyncFileCheckpoints.delete_checkpoint
    functionSourceFile: jupyter_server.services.contents.filecheckpoints
    functionUses: 0
    functionsReached:
    - typing.NewType
    - os.path.splitext
    - jupyter_server.utils.to_os_path
    - parent.strip
    - os.lstat
    - jupyter_server.services.contents.filecheckpoints.FileCheckpoints.checkpoint_path
    - <builtin>.len
    - os.path.normpath
    - os_path.startswith
    - jupyter_core.utils.ensure_dir_exists
    - os_path.strip
    - os.path.splitdrive
    - path.strip
    - anyio.to_thread.run_sync
    - <builtin>.str
    - os.path.join
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - jupyter_server.services.contents.filecheckpoints.FileCheckpoints.no_such_checkpoint
    - os.path.abspath
    - jupyter_server.services.contents.fileio.FileManagerMixin.perm_to_403
    - os.path.isfile
    - jupyter_server.utils.to_api_path
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - path
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 183
    functionName: jupyter_server.services.contents.filecheckpoints.AsyncFileCheckpoints.list_checkpoints
    functionSourceFile: jupyter_server.services.contents.filecheckpoints
    functionUses: 0
    functionsReached:
    - typing.NewType
    - os.path.splitext
    - jupyter_server.utils.to_os_path
    - parent.strip
    - datetime.datetime.fromtimestamp
    - os.lstat
    - jupyter_server.services.contents.filecheckpoints.FileCheckpoints.checkpoint_path
    - <builtin>.len
    - os.path.normpath
    - jupyter_server._tz.utcfromtimestamp
    - os_path.startswith
    - jupyter_core.utils.ensure_dir_exists
    - os_path.strip
    - os.path.splitdrive
    - path.strip
    - anyio.to_thread.run_sync
    - <builtin>.str
    - os.path.join
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - os.path.abspath
    - jupyter_server.services.contents.fileio.FileManagerMixin.perm_to_403
    - os.path.isfile
    - jupyter_server.utils.to_api_path
    - jupyter_server.services.contents.filecheckpoints.AsyncFileCheckpoints.checkpoint_model
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 3
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - content
    - format
    - path
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 203
    functionName: jupyter_server.services.contents.filecheckpoints.GenericFileCheckpoints.create_file_checkpoint
    functionSourceFile: jupyter_server.services.contents.filecheckpoints
    functionUses: 0
    functionsReached:
    - typing.NewType
    - os.path.splitext
    - kwargs.setdefault
    - jupyter_server.services.contents.fileio._simple_writing
    - os.path.islink
    - jupyter_server.utils.to_os_path
    - parent.strip
    - datetime.datetime.fromtimestamp
    - os.lstat
    - jupyter_server.services.contents.filecheckpoints.FileCheckpoints.checkpoint_path
    - <builtin>.len
    - os.path.normpath
    - os.readlink
    - jupyter_server._tz.utcfromtimestamp
    - os_path.startswith
    - jupyter_core.utils.ensure_dir_exists
    - base64.decodebytes
    - os_path.strip
    - os.path.splitdrive
    - path.strip
    - <builtin>.open
    - jupyter_server.services.contents.filecheckpoints.FileCheckpoints.checkpoint_model
    - <builtin>.str
    - f.write
    - os.path.join
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - os.path.abspath
    - jupyter_server.services.contents.fileio.FileManagerMixin.perm_to_403
    - jupyter_server.services.contents.fileio.FileManagerMixin.atomic_writing
    - jupyter_server.utils.to_api_path
    - fileobj.close
    - jupyter_server.services.contents.fileio.FileManagerMixin._save_file
    - os.stat
    - os.path.dirname
    - nbformat.v4.new_notebook.encode
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 3
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - nb
    - path
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 216
    functionName: jupyter_server.services.contents.filecheckpoints.GenericFileCheckpoints.create_notebook_checkpoint
    functionSourceFile: jupyter_server.services.contents.filecheckpoints
    functionUses: 0
    functionsReached:
    - typing.NewType
    - os.path.splitext
    - kwargs.setdefault
    - jupyter_server.utils.to_os_path
    - jupyter_server.services.contents.fileio._simple_writing
    - os.path.islink
    - parent.strip
    - datetime.datetime.fromtimestamp
    - os.lstat
    - jupyter_server.services.contents.filecheckpoints.FileCheckpoints.checkpoint_path
    - <builtin>.len
    - os.path.normpath
    - jupyter_server.services.contents.fileio.FileManagerMixin._save_notebook
    - os.readlink
    - jupyter_server._tz.utcfromtimestamp
    - os_path.startswith
    - jupyter_core.utils.ensure_dir_exists
    - nbformat.write
    - os_path.strip
    - os.path.splitdrive
    - path.strip
    - jupyter_server.services.contents.filecheckpoints.FileCheckpoints.checkpoint_model
    - <builtin>.open
    - <builtin>.str
    - os.path.join
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - os.path.abspath
    - jupyter_server.services.contents.fileio.FileManagerMixin.perm_to_403
    - jupyter_server.services.contents.fileio.FileManagerMixin.atomic_writing
    - jupyter_server.utils.to_api_path
    - fileobj.close
    - os.stat
    - os.path.dirname
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - checkpoint_id
    - path
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 229
    functionName: jupyter_server.services.contents.filecheckpoints.GenericFileCheckpoints.get_notebook_checkpoint
    functionSourceFile: jupyter_server.services.contents.filecheckpoints
    functionUses: 0
    functionsReached:
    - base64.encodebytes.decode
    - typing.NewType
    - jupyter_server.services.contents.fileio.FileManagerMixin._read_notebook
    - os.path.splitext
    - jupyter_server.utils.to_os_path
    - parent.strip
    - os.lstat
    - jupyter_server.services.contents.filecheckpoints.FileCheckpoints.checkpoint_path
    - <builtin>.len
    - os.path.normpath
    - jupyter_server.services.contents.fileio.FileManagerMixin.open
    - jupyter_server.services.contents.fileio.path_to_intermediate
    - os_path.startswith
    - jupyter_core.utils.ensure_dir_exists
    - os_path.strip
    - os.path.splitdrive
    - path.strip
    - <builtin>.str
    - os.path.join
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - jupyter_server.services.contents.filecheckpoints.FileCheckpoints.no_such_checkpoint
    - os.path.abspath
    - jupyter_server.services.contents.fileio.path_to_invalid
    - os.path.split
    - jupyter_server.services.contents.fileio.FileManagerMixin.perm_to_403
    - os.path.isfile
    - jupyter_server.utils.to_api_path
    - nbformat.reads
    - base64.encodebytes
    - f.read
    - os.replace
    - jupyter_server.services.contents.fileio.FileManagerMixin._read_file
    - os.path.exists
    - jupyter_server.services.contents.fileio.replace_file
    - bcontent.decode
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - checkpoint_id
    - path
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 246
    functionName: jupyter_server.services.contents.filecheckpoints.GenericFileCheckpoints.get_file_checkpoint
    functionSourceFile: jupyter_server.services.contents.filecheckpoints
    functionUses: 0
    functionsReached:
    - base64.encodebytes.decode
    - typing.NewType
    - os.path.splitext
    - jupyter_server.utils.to_os_path
    - parent.strip
    - os.lstat
    - jupyter_server.services.contents.filecheckpoints.FileCheckpoints.checkpoint_path
    - <builtin>.len
    - os.path.normpath
    - jupyter_server.services.contents.fileio.FileManagerMixin.open
    - os_path.startswith
    - jupyter_core.utils.ensure_dir_exists
    - os_path.strip
    - os.path.splitdrive
    - path.strip
    - <builtin>.str
    - os.path.join
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - jupyter_server.services.contents.filecheckpoints.FileCheckpoints.no_such_checkpoint
    - os.path.abspath
    - jupyter_server.services.contents.fileio.FileManagerMixin.perm_to_403
    - os.path.isfile
    - jupyter_server.utils.to_api_path
    - base64.encodebytes
    - f.read
    - jupyter_server.services.contents.fileio.FileManagerMixin._read_file
    - bcontent.decode
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 3
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - content
    - format
    - path
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 269
    functionName: jupyter_server.services.contents.filecheckpoints.AsyncGenericFileCheckpoints.create_file_checkpoint
    functionSourceFile: jupyter_server.services.contents.filecheckpoints
    functionUses: 0
    functionsReached:
    - typing.NewType
    - os.path.splitext
    - kwargs.setdefault
    - jupyter_server.utils.to_os_path
    - jupyter_server.services.contents.fileio._simple_writing
    - os.path.islink
    - parent.strip
    - datetime.datetime.fromtimestamp
    - os.lstat
    - jupyter_server.services.contents.filecheckpoints.FileCheckpoints.checkpoint_path
    - <builtin>.len
    - os.path.normpath
    - os.readlink
    - jupyter_server._tz.utcfromtimestamp
    - os_path.startswith
    - jupyter_core.utils.ensure_dir_exists
    - base64.decodebytes
    - os_path.strip
    - os.path.splitdrive
    - path.strip
    - anyio.to_thread.run_sync
    - <builtin>.open
    - <builtin>.str
    - os.path.join
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - os.path.abspath
    - jupyter_server.services.contents.fileio.FileManagerMixin.perm_to_403
    - jupyter_server.services.contents.fileio.FileManagerMixin.atomic_writing
    - jupyter_server.services.contents.fileio.AsyncFileManagerMixin._save_file
    - jupyter_server.utils.to_api_path
    - fileobj.close
    - os.path.dirname
    - jupyter_server.services.contents.filecheckpoints.AsyncFileCheckpoints.checkpoint_model
    - nbformat.v4.new_notebook.encode
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 3
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - nb
    - path
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 282
    functionName: jupyter_server.services.contents.filecheckpoints.AsyncGenericFileCheckpoints.create_notebook_checkpoint
    functionSourceFile: jupyter_server.services.contents.filecheckpoints
    functionUses: 0
    functionsReached:
    - jupyter_server.services.contents.fileio.AsyncFileManagerMixin._save_notebook
    - typing.NewType
    - os.path.splitext
    - kwargs.setdefault
    - jupyter_server.utils.to_os_path
    - jupyter_server.services.contents.fileio._simple_writing
    - os.path.islink
    - parent.strip
    - datetime.datetime.fromtimestamp
    - os.lstat
    - jupyter_server.services.contents.filecheckpoints.FileCheckpoints.checkpoint_path
    - <builtin>.len
    - os.path.normpath
    - os.readlink
    - jupyter_server._tz.utcfromtimestamp
    - os_path.startswith
    - jupyter_core.utils.ensure_dir_exists
    - os_path.strip
    - os.path.splitdrive
    - path.strip
    - anyio.to_thread.run_sync
    - <builtin>.open
    - <builtin>.str
    - os.path.join
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - os.path.abspath
    - jupyter_server.services.contents.fileio.FileManagerMixin.perm_to_403
    - jupyter_server.services.contents.fileio.FileManagerMixin.atomic_writing
    - jupyter_server.utils.to_api_path
    - fileobj.close
    - os.path.dirname
    - functools.partial
    - jupyter_server.services.contents.filecheckpoints.AsyncFileCheckpoints.checkpoint_model
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - checkpoint_id
    - path
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 295
    functionName: jupyter_server.services.contents.filecheckpoints.AsyncGenericFileCheckpoints.get_notebook_checkpoint
    functionSourceFile: jupyter_server.services.contents.filecheckpoints
    functionUses: 0
    functionsReached:
    - base64.encodebytes.decode
    - typing.NewType
    - os.path.splitext
    - jupyter_server.utils.to_os_path
    - parent.strip
    - os.lstat
    - jupyter_server.services.contents.fileio.async_replace_file
    - jupyter_server.services.contents.filecheckpoints.FileCheckpoints.checkpoint_path
    - <builtin>.len
    - jupyter_server.services.contents.fileio.AsyncFileManagerMixin._read_notebook
    - os.path.normpath
    - jupyter_server.services.contents.fileio.FileManagerMixin.open
    - jupyter_server.services.contents.fileio.path_to_intermediate
    - os_path.startswith
    - jupyter_core.utils.ensure_dir_exists
    - os_path.strip
    - os.path.splitdrive
    - path.strip
    - anyio.to_thread.run_sync
    - <builtin>.str
    - os.path.join
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - jupyter_server.services.contents.filecheckpoints.FileCheckpoints.no_such_checkpoint
    - os.path.abspath
    - jupyter_server.services.contents.fileio.path_to_invalid
    - os.path.split
    - jupyter_server.services.contents.fileio.FileManagerMixin.perm_to_403
    - os.path.isfile
    - jupyter_server.utils.to_api_path
    - base64.encodebytes
    - os.path.exists
    - jupyter_server.services.contents.fileio.AsyncFileManagerMixin._read_file
    - bcontent.decode
    - functools.partial
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - checkpoint_id
    - path
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 312
    functionName: jupyter_server.services.contents.filecheckpoints.AsyncGenericFileCheckpoints.get_file_checkpoint
    functionSourceFile: jupyter_server.services.contents.filecheckpoints
    functionUses: 0
    functionsReached:
    - base64.encodebytes.decode
    - typing.NewType
    - os.path.splitext
    - jupyter_server.utils.to_os_path
    - parent.strip
    - os.lstat
    - jupyter_server.services.contents.filecheckpoints.FileCheckpoints.checkpoint_path
    - <builtin>.len
    - os.path.normpath
    - jupyter_server.services.contents.fileio.FileManagerMixin.open
    - os_path.startswith
    - jupyter_core.utils.ensure_dir_exists
    - os_path.strip
    - os.path.splitdrive
    - path.strip
    - anyio.to_thread.run_sync
    - <builtin>.str
    - os.path.join
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - jupyter_server.services.contents.filecheckpoints.FileCheckpoints.no_such_checkpoint
    - os.path.abspath
    - jupyter_server.services.contents.fileio.FileManagerMixin.perm_to_403
    - os.path.isfile
    - jupyter_server.utils.to_api_path
    - base64.encodebytes
    - jupyter_server.services.contents.fileio.AsyncFileManagerMixin._read_file
    - bcontent.decode
    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: jupyter_server.services.contents.fileio
    functionSourceFile: jupyter_server.services.contents.fileio
    functionUses: 0
    functionsReached:
    - contextlib.contextmanager
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - src
    - dst
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 27
    functionName: jupyter_server.services.contents.fileio.replace_file
    functionSourceFile: jupyter_server.services.contents.fileio
    functionUses: 10
    functionsReached:
    - os.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: os.replace
    functionSourceFile: os
    functionUses: 11
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - src
    - dst
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 32
    functionName: jupyter_server.services.contents.fileio.async_replace_file
    functionSourceFile: jupyter_server.services.contents.fileio
    functionUses: 25
    functionsReached:
    - anyio.to_thread.run_sync
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 4
    IfCount: 1
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7fc4abb95310>
    argNames:
    - src
    - dst
    - log
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 37
    functionName: jupyter_server.services.contents.fileio.copy2_safe
    functionSourceFile: jupyter_server.services.contents.fileio
    functionUses: 4
    functionsReached:
    - shutil.copystat
    - log.debug
    - shutil.copyfile
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.copyfile
    functionSourceFile: shutil
    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: shutil.copystat
    functionSourceFile: shutil
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 4
    IfCount: 1
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7fc4abb81640>
    argNames:
    - src
    - dst
    - log
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 50
    functionName: jupyter_server.services.contents.fileio.async_copy2_safe
    functionSourceFile: jupyter_server.services.contents.fileio
    functionUses: 3
    functionsReached:
    - anyio.to_thread.run_sync
    - log.debug
    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: 63
    functionName: jupyter_server.services.contents.fileio.path_to_intermediate
    functionSourceFile: jupyter_server.services.contents.fileio
    functionUses: 29
    functionsReached:
    - os.path.split
    - 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: os.path.split
    functionSourceFile: os
    functionUses: 33
    functionsReached: []
    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: 71
    functionName: jupyter_server.services.contents.fileio.path_to_invalid
    functionSourceFile: jupyter_server.services.contents.fileio
    functionUses: 28
    functionsReached:
    - os.path.split
    - os.path.join
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 10
    IfCount: 4
    argCount: 5
    argDefaultValues:
    - <ast.Constant object at 0x7fc4aa74a100>
    - <ast.Constant object at 0x7fc4aa74a160>
    - <ast.Constant object at 0x7fc4aa74a190>
    argNames:
    - path
    - text
    - encoding
    - log
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 78
    functionName: jupyter_server.services.contents.fileio.atomic_writing
    functionSourceFile: jupyter_server.services.contents.fileio
    functionUses: 0
    functionsReached:
    - kwargs.setdefault
    - os.path.islink
    - shutil.copyfile
    - fileobj.flush
    - os.readlink
    - jupyter_server.services.contents.fileio.path_to_intermediate
    - jupyter_server.services.contents.fileio.copy2_safe
    - fileobj.fileno
    - os.remove
    - <builtin>.open
    - log.debug
    - os.path.join
    - shutil.copystat
    - os.path.split
    - os.path.isfile
    - os.fsync
    - fileobj.close
    - os.replace
    - jupyter_server.services.contents.fileio.replace_file
    - 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: os.readlink
    functionSourceFile: os
    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: fileobj.close
    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: fileobj.flush
    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: fileobj.fileno
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: os.fsync
    functionSourceFile: os
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    IfCount: 2
    argCount: 5
    argDefaultValues:
    - <ast.Constant object at 0x7fc4abffb160>
    - <ast.Constant object at 0x7fc4abffb130>
    - <ast.Constant object at 0x7fc4abffb790>
    argNames:
    - path
    - text
    - encoding
    - log
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 135
    functionName: jupyter_server.services.contents.fileio._simple_writing
    functionSourceFile: jupyter_server.services.contents.fileio
    functionUses: 18
    functionsReached:
    - os.path.join
    - kwargs.setdefault
    - os.path.islink
    - fileobj.close
    - os.path.dirname
    - os.readlink
    - <builtin>.open
    linkageType: 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: jupyter_server.services.contents.fileio.FileManagerMixin
    functionSourceFile: jupyter_server.services.contents.fileio
    functionUses: 0
    functionsReached:
    - traitlets.Enum
    - traitlets.Bool
    - 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: traitlets.Enum
    functionSourceFile: traitlets
    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
    - os_path
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 207
    functionName: jupyter_server.services.contents.fileio.FileManagerMixin.open
    functionSourceFile: jupyter_server.services.contents.fileio
    functionUses: 34
    functionsReached:
    - jupyter_server.utils.to_api_path
    - typing.NewType
    - os_path.startswith
    - os_path.strip
    - <builtin>.len
    - jupyter_server.services.contents.fileio.FileManagerMixin.perm_to_403
    - jupyter_server.services.contents.fileio.FileManagerMixin.open
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - os_path
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 213
    functionName: jupyter_server.services.contents.fileio.FileManagerMixin.atomic_writing
    functionSourceFile: jupyter_server.services.contents.fileio
    functionUses: 17
    functionsReached:
    - jupyter_server.utils.to_api_path
    - typing.NewType
    - os.path.join
    - kwargs.setdefault
    - jupyter_server.services.contents.fileio._simple_writing
    - os.path.islink
    - os_path.startswith
    - fileobj.close
    - os_path.strip
    - os.path.dirname
    - jupyter_server.services.contents.fileio.FileManagerMixin.atomic_writing
    - <builtin>.len
    - os.readlink
    - <builtin>.open
    - jupyter_server.services.contents.fileio.FileManagerMixin.perm_to_403
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: nbformat.reads
    functionSourceFile: nbformat
    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: nbformat.write
    functionSourceFile: nbformat
    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: bcontent.decode
    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: base64.encodebytes.decode
    functionSourceFile: base64
    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: nbformat.v4.new_notebook.encode
    functionSourceFile: nbformat
    functionUses: 17
    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: jupyter_server.gateway.connections
    functionSourceFile: jupyter_server.gateway.connections
    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: jupyter_server.gateway.connections.GatewayWebSocketConnection
    functionSourceFile: jupyter_server.gateway.connections
    functionUses: 0
    functionsReached:
    - traitlets.Unicode
    - traitlets.Bool
    - traitlets.Instance
    - traitlets.Int
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 4
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 39
    functionName: jupyter_server.gateway.connections.GatewayWebSocketConnection.connect
    functionSourceFile: jupyter_server.gateway.connections
    functionUses: 0
    functionsReached:
    - tornado.ioloop.IOLoop.current
    - typing.cast.add_done_callback
    - typing.cast
    - loop.add_future
    - traitlets.Instance.add_done_callback
    - tornado.escape.url_escape
    - tornado.httpclient.HTTPRequest
    - tornado.websocket.websocket_connect
    - traitlets.config.SingletonConfigurable.instance
    - s.strip
    - jupyter_server.utils.url_path_join
    - traitlets.config.LoggingConfigurable.log.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: 0
    functionLinenumber: -1
    functionName: tornado.websocket.websocket_connect
    functionSourceFile: tornado
    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: traitlets.Instance.add_done_callback
    functionSourceFile: traitlets
    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.cast.add_done_callback
    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: 4
    functionLinenumber: -1
    functionName: jupyter_server.gateway.connections.GatewayWebSocketConnection.connect.<lambda1>
    functionSourceFile: jupyter_server.gateway.connections
    functionUses: 0
    functionsReached:
    - summary.append
    - traitlets.config.LoggingConfigurable.log.warning
    - traitlets.config.LoggingConfigurable.log.error
    - message.decode
    - tornado.escape.json_decode
    - jupyter_server.gateway.connections.GatewayWebSocketConnection.handle_outgoing_message
    - <builtin>.min
    - asyncio.sleep
    - traitlets.config.LoggingConfigurable.log.debug
    - traitlets.config.SingletonConfigurable.instance
    - tornado.ioloop.IOLoop.current
    - tornado.escape.utf8
    - random.randint
    - loop.spawn_callback
    - traitlets.config.LoggingConfigurable.log.isEnabledFor
    - <builtin>.isinstance
    - jupyter_server.gateway.connections.GatewayWebSocketConnection._get_message_summary
    - traitlets.config.LoggingConfigurable.log.info
    - traitlets.Instance.read_message
    - traitlets.Instance.write_message
    - jupyter_server.gateway.connections.GatewayWebSocketConnection._read_messages
    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: 3
    functionLinenumber: 87
    functionName: jupyter_server.gateway.connections.GatewayWebSocketConnection._read_messages
    functionSourceFile: jupyter_server.gateway.connections
    functionUses: 1
    functionsReached:
    - summary.append
    - traitlets.config.LoggingConfigurable.log.warning
    - traitlets.config.LoggingConfigurable.log.error
    - message.decode
    - tornado.escape.json_decode
    - jupyter_server.gateway.connections.GatewayWebSocketConnection.handle_outgoing_message
    - <builtin>.min
    - asyncio.sleep
    - traitlets.config.LoggingConfigurable.log.debug
    - traitlets.config.SingletonConfigurable.instance
    - tornado.ioloop.IOLoop.current
    - tornado.escape.utf8
    - loop.spawn_callback
    - traitlets.config.LoggingConfigurable.log.isEnabledFor
    - <builtin>.isinstance
    - jupyter_server.gateway.connections.GatewayWebSocketConnection._get_message_summary
    - traitlets.config.LoggingConfigurable.log.info
    - traitlets.Instance.read_message
    - traitlets.Instance.write_message
    - random.randint
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: loop.add_future
    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: []
    argNames:
    - self
    - fut
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 60
    functionName: jupyter_server.gateway.connections.GatewayWebSocketConnection._connection_done
    functionSourceFile: jupyter_server.gateway.connections
    functionUses: 0
    functionsReached:
    - traitlets.config.LoggingConfigurable.log.debug
    - traitlets.config.LoggingConfigurable.log.warning
    - fut.result
    - traitlets.config.SingletonConfigurable.instance
    - fut.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: fut.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: fut.result
    functionSourceFile: <builtin>
    functionUses: 2
    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: 1
    functionLinenumber: 76
    functionName: jupyter_server.gateway.connections.GatewayWebSocketConnection.disconnect
    functionSourceFile: jupyter_server.gateway.connections
    functionUses: 0
    functionsReached:
    - typing.cast.cancel
    - traitlets.Instance.done
    - traitlets.Instance.cancel
    - traitlets.config.LoggingConfigurable.log.debug
    - traitlets.Instance.close
    - typing.cast.done
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: traitlets.Instance.close
    functionSourceFile: traitlets
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: traitlets.Instance.done
    functionSourceFile: traitlets
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: typing.cast.done
    functionSourceFile: typing
    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: traitlets.Instance.cancel
    functionSourceFile: traitlets
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.cancel
    functionSourceFile: typing
    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: traitlets.Instance.read_message
    functionSourceFile: traitlets
    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: message.decode
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - incoming_msg
    - args
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 132
    functionName: jupyter_server.gateway.connections.GatewayWebSocketConnection.handle_outgoing_message
    functionSourceFile: jupyter_server.gateway.connections
    functionUses: 2
    functionsReached:
    - tornado.escape.json_decode
    - summary.append
    - tornado.escape.utf8
    - traitlets.Instance.write_message
    - traitlets.config.LoggingConfigurable.log.isEnabledFor
    - jupyter_server.gateway.connections.GatewayWebSocketConnection._get_message_summary
    - traitlets.config.LoggingConfigurable.log.debug
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: loop.spawn_callback
    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: traitlets.Instance.write_message
    functionSourceFile: traitlets
    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: traitlets.config.LoggingConfigurable.log.isEnabledFor
    functionSourceFile: traitlets
    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: tornado.escape.utf8
    functionSourceFile: tornado
    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: tornado.escape.json_decode
    functionSourceFile: tornado
    functionUses: 13
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - message
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 162
    functionName: jupyter_server.gateway.connections.GatewayWebSocketConnection._get_message_summary
    functionSourceFile: jupyter_server.gateway.connections
    functionUses: 3
    functionsReached:
    - summary.append
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - message
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 145
    functionName: jupyter_server.gateway.connections.GatewayWebSocketConnection.handle_incoming_message
    functionSourceFile: jupyter_server.gateway.connections
    functionUses: 1
    functionsReached:
    - tornado.ioloop.IOLoop.current
    - traitlets.config.LoggingConfigurable.log.error
    - jupyter_server.gateway.connections.GatewayWebSocketConnection._write_message
    - traitlets.Instance.write_message
    - loop.add_future
    linkageType: 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: jupyter_server.gateway.connections.GatewayWebSocketConnection.handle_incoming_message.<lambda1>
    functionSourceFile: jupyter_server.gateway.connections
    functionUses: 0
    functionsReached:
    - tornado.ioloop.IOLoop.current
    - traitlets.config.LoggingConfigurable.log.error
    - jupyter_server.gateway.connections.GatewayWebSocketConnection._write_message
    - jupyter_server.gateway.connections.GatewayWebSocketConnection.handle_incoming_message
    - traitlets.Instance.write_message
    - loop.add_future
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - message
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 153
    functionName: jupyter_server.gateway.connections.GatewayWebSocketConnection._write_message
    functionSourceFile: jupyter_server.gateway.connections
    functionUses: 2
    functionsReached:
    - traitlets.config.LoggingConfigurable.log.error
    - traitlets.Instance.write_message
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: summary.append
    functionSourceFile: <builtin>
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: jupyter_server.gateway.gateway_client
    functionSourceFile: jupyter_server.gateway.gateway_client
    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: jupyter_server.gateway.gateway_client.GatewayTokenRenewerBase
    functionSourceFile: jupyter_server.gateway.gateway_client
    functionUses: 0
    functionsReached:
    - abc.abstractmethod
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 5
    argDefaultValues: []
    argNames:
    - self
    - auth_header_key
    - auth_scheme
    - auth_token
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 61
    functionName: jupyter_server.gateway.gateway_client.GatewayTokenRenewerBase.get_token
    functionSourceFile: jupyter_server.gateway.gateway_client
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 5
    argDefaultValues: []
    argNames:
    - self
    - auth_header_key
    - auth_scheme
    - auth_token
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 79
    functionName: jupyter_server.gateway.gateway_client.NoOpTokenRenewer.get_token
    functionSourceFile: jupyter_server.gateway.gateway_client
    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: jupyter_server.gateway.gateway_client.GatewayClient
    functionSourceFile: jupyter_server.gateway.gateway_client
    functionUses: 0
    functionsReached:
    - traitlets.Instance.tag
    - traitlets.Type
    - traitlets.Int
    - <builtin>.list
    - traitlets.Instance
    - <builtin>.int
    - traitlets.Unicode
    - traitlets.observe
    - traitlets.Float
    - traitlets.validate
    - traitlets.default
    - traitlets.Bool
    - os.environ.get
    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: 101
    functionName: jupyter_server.gateway.gateway_client.GatewayClient._default_event_logger
    functionSourceFile: jupyter_server.gateway.gateway_client
    functionUses: 0
    functionsReached:
    - <builtin>.hasattr
    - jupyter_events.EventLogger.register_event_schema
    - traitlets.config.SingletonConfigurable.log.info
    - jupyter_events.EventLogger
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: traitlets.config.SingletonConfigurable.log.info
    functionSourceFile: traitlets
    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
    - data
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 113
    functionName: jupyter_server.gateway.gateway_client.GatewayClient.emit
    functionSourceFile: jupyter_server.gateway.gateway_client
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 131
    functionName: jupyter_server.gateway.gateway_client.GatewayClient._url_default
    functionSourceFile: jupyter_server.gateway.gateway_client
    functionUses: 0
    functionsReached:
    - 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:
    - self
    - proposal
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 135
    functionName: jupyter_server.gateway.gateway_client.GatewayClient._url_validate
    functionSourceFile: jupyter_server.gateway.gateway_client
    functionUses: 0
    functionsReached:
    - <builtin>.len
    - jupyter_server.gateway.gateway_client.GatewayClient.emit
    - <builtin>.str
    linkageType: pythonLinkage
    raised:
    - TraitError
    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: 156
    functionName: jupyter_server.gateway.gateway_client.GatewayClient._ws_url_default
    functionSourceFile: jupyter_server.gateway.gateway_client
    functionUses: 0
    functionsReached:
    - traitlets.Unicode.lower
    - 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: traitlets.Unicode.lower
    functionSourceFile: traitlets
    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
    - proposal
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 163
    functionName: jupyter_server.gateway.gateway_client.GatewayClient._ws_url_validate
    functionSourceFile: jupyter_server.gateway.gateway_client
    functionUses: 0
    functionsReached:
    - <builtin>.len
    - jupyter_server.gateway.gateway_client.GatewayClient.emit
    - <builtin>.str
    linkageType: pythonLinkage
    raised:
    - TraitError
    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: 181
    functionName: jupyter_server.gateway.gateway_client.GatewayClient._kernels_endpoint_default
    functionSourceFile: jupyter_server.gateway.gateway_client
    functionUses: 0
    functionsReached:
    - os.environ.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 193
    functionName: jupyter_server.gateway.gateway_client.GatewayClient._kernelspecs_endpoint_default
    functionSourceFile: jupyter_server.gateway.gateway_client
    functionUses: 0
    functionsReached:
    - os.environ.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 208
    functionName: jupyter_server.gateway.gateway_client.GatewayClient._kernelspecs_resource_endpoint_default
    functionSourceFile: jupyter_server.gateway.gateway_client
    functionUses: 0
    functionsReached:
    - os.environ.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 224
    functionName: jupyter_server.gateway.gateway_client.GatewayClient._connect_timeout_default
    functionSourceFile: jupyter_server.gateway.gateway_client
    functionUses: 0
    functionsReached:
    - os.environ.get
    - <builtin>.float
    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: 236
    functionName: jupyter_server.gateway.gateway_client.GatewayClient._request_timeout_default
    functionSourceFile: jupyter_server.gateway.gateway_client
    functionUses: 0
    functionsReached:
    - os.environ.get
    - <builtin>.float
    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: 249
    functionName: jupyter_server.gateway.gateway_client.GatewayClient._client_key_default
    functionSourceFile: jupyter_server.gateway.gateway_client
    functionUses: 0
    functionsReached:
    - os.environ.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 262
    functionName: jupyter_server.gateway.gateway_client.GatewayClient._client_cert_default
    functionSourceFile: jupyter_server.gateway.gateway_client
    functionUses: 0
    functionsReached:
    - os.environ.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 275
    functionName: jupyter_server.gateway.gateway_client.GatewayClient._ca_certs_default
    functionSourceFile: jupyter_server.gateway.gateway_client
    functionUses: 0
    functionsReached:
    - os.environ.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 288
    functionName: jupyter_server.gateway.gateway_client.GatewayClient._http_user_default
    functionSourceFile: jupyter_server.gateway.gateway_client
    functionUses: 0
    functionsReached:
    - os.environ.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 301
    functionName: jupyter_server.gateway.gateway_client.GatewayClient._http_pwd_default
    functionSourceFile: jupyter_server.gateway.gateway_client
    functionUses: 0
    functionsReached:
    - os.environ.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 316
    functionName: jupyter_server.gateway.gateway_client.GatewayClient._headers_default
    functionSourceFile: jupyter_server.gateway.gateway_client
    functionUses: 0
    functionsReached:
    - os.environ.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 335
    functionName: jupyter_server.gateway.gateway_client.GatewayClient._auth_header_key_default
    functionSourceFile: jupyter_server.gateway.gateway_client
    functionUses: 0
    functionsReached:
    - os.environ.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 352
    functionName: jupyter_server.gateway.gateway_client.GatewayClient._auth_token_default
    functionSourceFile: jupyter_server.gateway.gateway_client
    functionUses: 0
    functionsReached:
    - os.environ.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 365
    functionName: jupyter_server.gateway.gateway_client.GatewayClient._auth_scheme_default
    functionSourceFile: jupyter_server.gateway.gateway_client
    functionUses: 0
    functionsReached:
    - os.environ.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 378
    functionName: jupyter_server.gateway.gateway_client.GatewayClient._validate_cert_default
    functionSourceFile: jupyter_server.gateway.gateway_client
    functionUses: 0
    functionsReached:
    - os.environ.get
    - <builtin>.bool
    - <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: 1
    functionLinenumber: 396
    functionName: jupyter_server.gateway.gateway_client.GatewayClient._allowed_envs_default
    functionSourceFile: jupyter_server.gateway.gateway_client
    functionUses: 0
    functionsReached:
    - os.environ.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 420
    functionName: jupyter_server.gateway.gateway_client.GatewayClient._gateway_retry_interval_default
    functionSourceFile: jupyter_server.gateway.gateway_client
    functionUses: 0
    functionsReached:
    - os.environ.get
    - <builtin>.float
    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: 438
    functionName: jupyter_server.gateway.gateway_client.GatewayClient._gateway_retry_interval_max_default
    functionSourceFile: jupyter_server.gateway.gateway_client
    functionUses: 0
    functionsReached:
    - os.environ.get
    - <builtin>.float
    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: 456
    functionName: jupyter_server.gateway.gateway_client.GatewayClient._gateway_retry_max_default
    functionSourceFile: jupyter_server.gateway.gateway_client
    functionUses: 0
    functionsReached:
    - <builtin>.int
    - os.environ.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 470
    functionName: jupyter_server.gateway.gateway_client.GatewayClient._gateway_token_renewer_class_default
    functionSourceFile: jupyter_server.gateway.gateway_client
    functionUses: 0
    functionsReached:
    - os.environ.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 486
    functionName: jupyter_server.gateway.gateway_client.GatewayClient._launch_timeout_pad_default
    functionSourceFile: jupyter_server.gateway.gateway_client
    functionUses: 0
    functionsReached:
    - os.environ.get
    - <builtin>.float
    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: 505
    functionName: jupyter_server.gateway.gateway_client.GatewayClient._accept_cookies_default
    functionSourceFile: jupyter_server.gateway.gateway_client
    functionUses: 0
    functionsReached:
    - os.environ.get
    - <builtin>.bool
    - <builtin>.str
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - change
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 518
    functionName: jupyter_server.gateway.gateway_client.GatewayClient._deprecated_trait
    functionSourceFile: jupyter_server.gateway.gateway_client
    functionUses: 0
    functionsReached:
    - <builtin>.setattr
    - <builtin>.getattr
    - traitlets.config.SingletonConfigurable.log.warning
    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: 534
    functionName: jupyter_server.gateway.gateway_client.GatewayClient.gateway_enabled
    functionSourceFile: jupyter_server.gateway.gateway_client
    functionUses: 0
    functionsReached:
    - <builtin>.len
    - <builtin>.bool
    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: 544
    functionName: jupyter_server.gateway.gateway_client.GatewayClient.__init__
    functionSourceFile: jupyter_server.gateway.gateway_client
    functionUses: 0
    functionsReached:
    - <builtin>.super
    - traitlets.Type
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 12
    ICount: 2
    IfCount: 8
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 553
    functionName: jupyter_server.gateway.gateway_client.GatewayClient.init_connection_args
    functionSourceFile: jupyter_server.gateway.gateway_client
    functionUses: 1
    functionsReached:
    - json.loads
    - <builtin>.int
    - <builtin>.float
    - <builtin>.str
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 6
    IfCount: 5
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 591
    functionName: jupyter_server.gateway.gateway_client.GatewayClient.load_connection_args
    functionSourceFile: jupyter_server.gateway.gateway_client
    functionUses: 0
    functionsReached:
    - kwargs.setdefault
    - <builtin>.len
    - <builtin>.float
    - <builtin>.next
    - traitlets.config.SingletonConfigurable._cookies.pop
    - traitlets.config.SingletonConfigurable.log.error
    - datetime.datetime.now
    - expired_keys.append
    - <builtin>.str
    - given_value.update
    - traitlets.config.SingletonConfigurable._cookies.items
    - jupyter_server.gateway.gateway_client.GatewayClient.init_connection_args
    - connection_args.get
    - <builtin>.isinstance
    - header_key.lower
    - jupyter_server.gateway.gateway_client.GatewayClient._clear_expired_cookies
    - morsel.get
    - jupyter_server.gateway.gateway_client.GatewayClient._update_cookie_header
    - expired_timedelta.total_seconds
    - json.loads
    - <builtin>.int
    - headers.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: traitlets.config.SingletonConfigurable.log.error
    functionSourceFile: traitlets
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: given_value.update
    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
    - connection_args
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 663
    functionName: jupyter_server.gateway.gateway_client.GatewayClient._update_cookie_header
    functionSourceFile: jupyter_server.gateway.gateway_client
    functionUses: 1
    functionsReached:
    - <builtin>.next
    - expired_timedelta.total_seconds
    - traitlets.config.SingletonConfigurable._cookies.items
    - traitlets.config.SingletonConfigurable._cookies.pop
    - morsel.get
    - connection_args.get
    - headers.get
    - datetime.datetime.now
    - header_key.lower
    - jupyter_server.gateway.gateway_client.GatewayClient._clear_expired_cookies
    - expired_keys.append
    - <builtin>.float
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - cookie
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 632
    functionName: jupyter_server.gateway.gateway_client.GatewayClient.update_cookies
    functionSourceFile: jupyter_server.gateway.gateway_client
    functionUses: 0
    functionsReached:
    - email.utils.parsedate_to_datetime.total_seconds
    - cookie.items
    - datetime.datetime.now
    - item.get
    - email.utils.parsedate_to_datetime
    - <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: cookie.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: item.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: email.utils.parsedate_to_datetime
    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.parsedate_to_datetime.total_seconds
    functionSourceFile: email
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 647
    functionName: jupyter_server.gateway.gateway_client.GatewayClient._clear_expired_cookies
    functionSourceFile: jupyter_server.gateway.gateway_client
    functionUses: 2
    functionsReached:
    - expired_timedelta.total_seconds
    - traitlets.config.SingletonConfigurable._cookies.items
    - traitlets.config.SingletonConfigurable._cookies.pop
    - datetime.datetime.now
    - morsel.get
    - expired_keys.append
    - <builtin>.float
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: traitlets.config.SingletonConfigurable._cookies.items
    functionSourceFile: traitlets
    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: morsel.get
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: expired_timedelta.total_seconds
    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: expired_keys.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: traitlets.config.SingletonConfigurable._cookies.pop
    functionSourceFile: traitlets
    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: connection_args.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: header_key.lower
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.next
    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: headers.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: 1
    functionLinenumber: -1
    functionName: jupyter_server.gateway.gateway_client.RetryableHTTPClient
    functionSourceFile: jupyter_server.gateway.gateway_client
    functionUses: 0
    functionsReached:
    - <builtin>.max
    - <builtin>.min
    - <builtin>.int
    - os.getenv
    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: 705
    functionName: jupyter_server.gateway.gateway_client.RetryableHTTPClient.__init__
    functionSourceFile: jupyter_server.gateway.gateway_client
    functionUses: 13
    functionsReached:
    - tornado.httpclient.AsyncHTTPClient
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - endpoint
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 710
    functionName: jupyter_server.gateway.gateway_client.RetryableHTTPClient.fetch
    functionSourceFile: jupyter_server.gateway.gateway_client
    functionUses: 13
    functionsReached:
    - <builtin>.any
    - jupyter_server.gateway.gateway_client.RetryableHTTPClient._is_retryable
    - asyncio.sleep
    - jupyter_server.gateway.gateway_client.RetryableHTTPClient._fetch
    - logging.getLogger
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - endpoint
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 718
    functionName: jupyter_server.gateway.gateway_client.RetryableHTTPClient._fetch
    functionSourceFile: jupyter_server.gateway.gateway_client
    functionUses: 14
    functionsReached:
    - <builtin>.any
    - jupyter_server.gateway.gateway_client.RetryableHTTPClient._is_retryable
    - asyncio.sleep
    - jupyter_server.gateway.gateway_client.RetryableHTTPClient._fetch
    - logging.getLogger
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 2
    IfCount: 5
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - method
    - exception
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 736
    functionName: jupyter_server.gateway.gateway_client.RetryableHTTPClient._is_retryable
    functionSourceFile: jupyter_server.gateway.gateway_client
    functionUses: 15
    functionsReached:
    - <builtin>.any
    - <builtin>.isinstance
    - asyncio.sleep
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 9
    IfCount: 3
    argCount: 2
    argDefaultValues: []
    argNames:
    - endpoint
    - kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 758
    functionName: jupyter_server.gateway.gateway_client.gateway_request
    functionSourceFile: jupyter_server.gateway.gateway_client
    functionUses: 12
    functionsReached:
    - <builtin>.any
    - jupyter_server.gateway.gateway_client.RetryableHTTPClient._is_retryable
    - jupyter_server.gateway.gateway_client.RetryableHTTPClient.fetch
    - http.cookies.SimpleCookie
    - error_payload.get
    - asyncio.sleep
    - jupyter_server.gateway.gateway_client.RetryableHTTPClient._fetch
    - jupyter_server.gateway.gateway_client.RetryableHTTPClient.__init__
    - traitlets.config.SingletonConfigurable.instance
    - response.headers.get
    - <builtin>.isinstance
    - gateway_client.load_connection_args
    - e.response.body.decode
    - gateway_client.update_cookies
    - json.loads
    - gateway_client.emit
    - logging.getLogger
    - cookie.load
    - tornado.httpclient.AsyncHTTPClient
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: gateway_client.load_connection_args
    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: gateway_client.emit
    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: error_payload.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: e.response.body.decode
    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: response.headers.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: http.cookies.SimpleCookie
    functionSourceFile: http
    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: cookie.load
    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: gateway_client.update_cookies
    functionSourceFile: <builtin>
    functionUses: 13
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 3
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: jupyter_server.gateway.managers
    functionSourceFile: jupyter_server.gateway.managers
    functionUses: 0
    functionsReached:
    - KernelClientABC.register
    - KernelManagerABC.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: jupyter_server.gateway.managers.GatewayMappingKernelManager
    functionSourceFile: jupyter_server.gateway.managers
    functionUses: 0
    functionsReached:
    - traitlets.default
    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: 44
    functionName: jupyter_server.gateway.managers.GatewayMappingKernelManager._default_kernel_manager_class
    functionSourceFile: jupyter_server.gateway.managers
    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: 48
    functionName: jupyter_server.gateway.managers.GatewayMappingKernelManager._default_shared_context
    functionSourceFile: jupyter_server.gateway.managers
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 51
    functionName: jupyter_server.gateway.managers.GatewayMappingKernelManager.__init__
    functionSourceFile: jupyter_server.gateway.managers
    functionUses: 0
    functionsReached:
    - traitlets.config.SingletonConfigurable.instance
    - <builtin>.super
    - s.strip
    - jupyter_server.utils.url_path_join
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - kernel_id
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 58
    functionName: jupyter_server.gateway.managers.GatewayMappingKernelManager.remove_kernel
    functionSourceFile: jupyter_server.gateway.managers
    functionUses: 2
    functionsReached:
    - traitlets.Dict.pop
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    IfCount: 2
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - kernel_id
    - path
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 65
    functionName: jupyter_server.gateway.managers.GatewayMappingKernelManager.start_kernel
    functionSourceFile: jupyter_server.gateway.managers
    functionUses: 0
    functionsReached:
    - tornado.ioloop.IOLoop.current
    - traitlets.utils.importstring.import_item
    - <builtin>.str
    - jupyter_server.services.kernels.kernelmanager.MappingKernelManager.initialize_culler
    - tornado.ioloop.PeriodicCallback.start
    - jupyter_server.services.kernels.kernelmanager.MappingKernelManager.cwd_for_path
    - kwargs.setdefault
    - jupyter_server.utils.to_os_path
    - jupyter_client.multikernelmanager.MultiKernelManager._create_kernel_manager_factory.create_kernel_manager
    - os.path.join
    - zmq.Context
    - tornado.ioloop.PeriodicCallback
    - km.start_kernel
    - os.path.dirname
    - os.path.isdir
    - os.path.normpath
    - jupyter_client.multikernelmanager.MultiKernelManager._context_default
    - traitlets.Any
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - kernel_id
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 93
    functionName: jupyter_server.gateway.managers.GatewayMappingKernelManager.kernel_model
    functionSourceFile: jupyter_server.gateway.managers
    functionUses: 0
    functionsReached:
    - jupyter_client.multikernelmanager.MultiKernelManager.get_kernel
    - <builtin>.str
    - jupyter_client.multikernelmanager.MultiKernelManager._check_kernel_id
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 7
    IfCount: 3
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 108
    functionName: jupyter_server.gateway.managers.GatewayMappingKernelManager.list_kernels
    functionSourceFile: jupyter_server.gateway.managers
    functionUses: 1
    functionsReached:
    - <builtin>.any
    - jupyter_server.gateway.gateway_client.RetryableHTTPClient._is_retryable
    - kernel_models.values
    - jupyter_server.gateway.gateway_client.RetryableHTTPClient.fetch
    - http.cookies.SimpleCookie
    - tornado.escape.json_decode
    - error_payload.get
    - asyncio.sleep
    - jupyter_server.gateway.gateway_client.RetryableHTTPClient._fetch
    - <builtin>.list
    - jupyter_server.gateway.gateway_client.RetryableHTTPClient.__init__
    - culled_ids.append
    - traitlets.config.SingletonConfigurable.instance
    - response.headers.get
    - traitlets.Dict.copy
    - <builtin>.isinstance
    - gateway_client.load_connection_args
    - our_kernels.items
    - e.response.body.decode
    - gateway_client.update_cookies
    - json.loads
    - jupyter_server.gateway.gateway_client.gateway_request
    - gateway_client.emit
    - logging.getLogger
    - cookie.load
    - traitlets.Dict.pop
    - tornado.httpclient.AsyncHTTPClient
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: our_kernels.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: culled_ids.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: kernel_models.values
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    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 0x7fc4aa74ad00>
    - <ast.Constant object at 0x7fc4aa74a1c0>
    argNames:
    - self
    - kernel_id
    - now
    - restart
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 160
    functionName: jupyter_server.gateway.managers.GatewayMappingKernelManager.shutdown_kernel
    functionSourceFile: jupyter_server.gateway.managers
    functionUses: 0
    functionsReached:
    - jupyter_client.multikernelmanager.MultiKernelManager.get_kernel
    - jupyter_client.multikernelmanager.MultiKernelManager._check_kernel_id
    - jupyter_core.utils.ensure_async
    - traitlets.config.LoggingConfigurable.shutdown_kernel
    - jupyter_server.gateway.managers.GatewayMappingKernelManager.remove_kernel
    - traitlets.Dict.pop
    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 0x7fc4ab3790d0>
    argNames:
    - self
    - kernel_id
    - now
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 176
    functionName: jupyter_server.gateway.managers.GatewayMappingKernelManager.restart_kernel
    functionSourceFile: jupyter_server.gateway.managers
    functionUses: 0
    functionsReached:
    - jupyter_client.multikernelmanager.MultiKernelManager.get_kernel
    - traitlets.config.LoggingConfigurable.restart_kernel
    - jupyter_core.utils.ensure_async
    - jupyter_client.multikernelmanager.MultiKernelManager._check_kernel_id
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - kernel_id
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 187
    functionName: jupyter_server.gateway.managers.GatewayMappingKernelManager.interrupt_kernel
    functionSourceFile: jupyter_server.gateway.managers
    functionUses: 0
    functionsReached:
    - jupyter_client.multikernelmanager.MultiKernelManager.get_kernel
    - traitlets.config.LoggingConfigurable.interrupt_kernel
    - jupyter_core.utils.ensure_async
    - jupyter_client.multikernelmanager.MultiKernelManager._check_kernel_id
    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 0x7fc4ab5ee460>
    argNames:
    - self
    - now
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 198
    functionName: jupyter_server.gateway.managers.GatewayMappingKernelManager.shutdown_all
    functionSourceFile: jupyter_server.gateway.managers
    functionUses: 0
    functionsReached:
    - jupyter_client.multikernelmanager.MultiKernelManager.get_kernel
    - <builtin>.list
    - jupyter_client.multikernelmanager.MultiKernelManager._check_kernel_id
    - jupyter_core.utils.ensure_async
    - traitlets.config.LoggingConfigurable.shutdown_kernel
    - jupyter_server.gateway.managers.GatewayMappingKernelManager.remove_kernel
    - traitlets.Dict.pop
    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: 6
    functionLinenumber: 206
    functionName: jupyter_server.gateway.managers.GatewayMappingKernelManager.cull_kernels
    functionSourceFile: jupyter_server.gateway.managers
    functionUses: 0
    functionsReached:
    - <builtin>.any
    - jupyter_server.gateway.gateway_client.RetryableHTTPClient._is_retryable
    - kernel_models.values
    - jupyter_server.gateway.gateway_client.RetryableHTTPClient.fetch
    - http.cookies.SimpleCookie
    - tornado.escape.json_decode
    - error_payload.get
    - asyncio.sleep
    - jupyter_server.gateway.gateway_client.RetryableHTTPClient._fetch
    - <builtin>.super
    - <builtin>.list
    - jupyter_server.gateway.gateway_client.RetryableHTTPClient.__init__
    - culled_ids.append
    - traitlets.config.SingletonConfigurable.instance
    - response.headers.get
    - traitlets.Dict.copy
    - <builtin>.isinstance
    - gateway_client.load_connection_args
    - our_kernels.items
    - e.response.body.decode
    - gateway_client.update_cookies
    - jupyter_server.gateway.managers.GatewayMappingKernelManager.list_kernels
    - json.loads
    - jupyter_server.gateway.gateway_client.gateway_request
    - gateway_client.emit
    - logging.getLogger
    - cookie.load
    - traitlets.Dict.pop
    - tornado.httpclient.AsyncHTTPClient
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 215
    functionName: jupyter_server.gateway.managers.GatewayKernelSpecManager.__init__
    functionSourceFile: jupyter_server.gateway.managers
    functionUses: 0
    functionsReached:
    - <builtin>.super
    - s.strip
    - traitlets.config.SingletonConfigurable.instance
    - jupyter_server.gateway.managers.GatewayKernelSpecManager._get_endpoint_for_user_filter
    - jupyter_server.utils.url_path_join
    - 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:
    - default_endpoint
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 229
    functionName: jupyter_server.gateway.managers.GatewayKernelSpecManager._get_endpoint_for_user_filter
    functionSourceFile: jupyter_server.gateway.managers
    functionUses: 1
    functionsReached:
    - os.environ.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 2
    IfCount: 3
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - kernel_specs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 236
    functionName: jupyter_server.gateway.managers.GatewayKernelSpecManager._replace_path_kernelspec_resources
    functionSourceFile: jupyter_server.gateway.managers
    functionUses: 2
    functionsReached:
    - str.rsplit
    - traitlets.config.LoggingConfigurable.log.debug
    - <builtin>.len
    - s.strip
    - jupyter_server.utils.url_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: str.rsplit
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7fc4aae21d00>
    argNames:
    - self
    - kernel_name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 261
    functionName: jupyter_server.gateway.managers.GatewayKernelSpecManager._get_kernelspecs_endpoint_url
    functionSourceFile: jupyter_server.gateway.managers
    functionUses: 3
    functionsReached:
    - tornado.escape.url_escape
    - jupyter_server.utils.url_path_join
    - s.strip
    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: 6
    functionLinenumber: 272
    functionName: jupyter_server.gateway.managers.GatewayKernelSpecManager.get_all_specs
    functionSourceFile: jupyter_server.gateway.managers
    functionUses: 0
    functionsReached:
    - <builtin>.any
    - jupyter_server.gateway.gateway_client.RetryableHTTPClient._is_retryable
    - jupyter_server.gateway.managers.GatewayKernelSpecManager._get_kernelspecs_endpoint_url
    - jupyter_server.gateway.managers.GatewayKernelSpecManager.list_kernel_specs
    - jupyter_server.gateway.gateway_client.RetryableHTTPClient.fetch
    - <builtin>.len
    - jupyter_server.utils.url_path_join
    - http.cookies.SimpleCookie
    - tornado.escape.json_decode
    - error_payload.get
    - asyncio.sleep
    - jupyter_server.gateway.gateway_client.RetryableHTTPClient._fetch
    - jupyter_server.gateway.gateway_client.RetryableHTTPClient.__init__
    - traitlets.config.LoggingConfigurable.log.debug
    - traitlets.config.SingletonConfigurable.instance
    - jupyter_server.gateway.managers.GatewayKernelSpecManager._replace_path_kernelspec_resources
    - response.headers.get
    - tornado.escape.url_escape
    - s.strip
    - str.rsplit
    - <builtin>.isinstance
    - gateway_client.load_connection_args
    - traitlets.config.LoggingConfigurable.log.info
    - e.response.body.decode
    - gateway_client.update_cookies
    - fetched_kspecs.get
    - json.loads
    - jupyter_server.gateway.gateway_client.gateway_request
    - gateway_client.emit
    - logging.getLogger
    - cookie.load
    - tornado.httpclient.AsyncHTTPClient
    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: 5
    functionLinenumber: 294
    functionName: jupyter_server.gateway.managers.GatewayKernelSpecManager.list_kernel_specs
    functionSourceFile: jupyter_server.gateway.managers
    functionUses: 1
    functionsReached:
    - <builtin>.any
    - jupyter_server.gateway.gateway_client.RetryableHTTPClient._is_retryable
    - jupyter_server.gateway.managers.GatewayKernelSpecManager._get_kernelspecs_endpoint_url
    - jupyter_server.gateway.gateway_client.RetryableHTTPClient.fetch
    - <builtin>.len
    - jupyter_server.utils.url_path_join
    - http.cookies.SimpleCookie
    - tornado.escape.json_decode
    - error_payload.get
    - asyncio.sleep
    - jupyter_server.gateway.gateway_client.RetryableHTTPClient._fetch
    - jupyter_server.gateway.gateway_client.RetryableHTTPClient.__init__
    - traitlets.config.LoggingConfigurable.log.debug
    - traitlets.config.SingletonConfigurable.instance
    - response.headers.get
    - jupyter_server.gateway.managers.GatewayKernelSpecManager._replace_path_kernelspec_resources
    - tornado.escape.url_escape
    - s.strip
    - str.rsplit
    - <builtin>.isinstance
    - gateway_client.load_connection_args
    - e.response.body.decode
    - gateway_client.update_cookies
    - json.loads
    - jupyter_server.gateway.gateway_client.gateway_request
    - gateway_client.emit
    - logging.getLogger
    - cookie.load
    - tornado.httpclient.AsyncHTTPClient
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: fetched_kspecs.get
    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
    - kernel_name
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 303
    functionName: jupyter_server.gateway.managers.GatewayKernelSpecManager.get_kernel_spec
    functionSourceFile: jupyter_server.gateway.managers
    functionUses: 0
    functionsReached:
    - <builtin>.any
    - jupyter_server.gateway.gateway_client.RetryableHTTPClient._is_retryable
    - jupyter_server.gateway.managers.GatewayKernelSpecManager._get_kernelspecs_endpoint_url
    - jupyter_server.gateway.gateway_client.RetryableHTTPClient.fetch
    - jupyter_server.utils.url_path_join
    - http.cookies.SimpleCookie
    - tornado.escape.json_decode
    - error_payload.get
    - asyncio.sleep
    - jupyter_server.gateway.gateway_client.RetryableHTTPClient._fetch
    - jupyter_server.gateway.gateway_client.RetryableHTTPClient.__init__
    - traitlets.config.LoggingConfigurable.log.debug
    - traitlets.config.SingletonConfigurable.instance
    - response.headers.get
    - tornado.escape.url_escape
    - s.strip
    - <builtin>.str
    - <builtin>.isinstance
    - gateway_client.load_connection_args
    - e.response.body.decode
    - gateway_client.update_cookies
    - json.loads
    - jupyter_server.gateway.gateway_client.gateway_request
    - gateway_client.emit
    - logging.getLogger
    - cookie.load
    - tornado.httpclient.AsyncHTTPClient
    linkageType: pythonLinkage
    raised:
    - KeyError
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - kernel_name
    - path
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 328
    functionName: jupyter_server.gateway.managers.GatewayKernelSpecManager.get_kernel_spec_resource
    functionSourceFile: jupyter_server.gateway.managers
    functionUses: 0
    functionsReached:
    - <builtin>.any
    - jupyter_server.gateway.gateway_client.RetryableHTTPClient._is_retryable
    - jupyter_server.gateway.gateway_client.RetryableHTTPClient.fetch
    - jupyter_server.utils.url_path_join
    - http.cookies.SimpleCookie
    - error_payload.get
    - asyncio.sleep
    - jupyter_server.gateway.gateway_client.RetryableHTTPClient._fetch
    - jupyter_server.gateway.gateway_client.RetryableHTTPClient.__init__
    - traitlets.config.SingletonConfigurable.instance
    - traitlets.config.LoggingConfigurable.log.debug
    - response.headers.get
    - s.strip
    - <builtin>.str
    - <builtin>.isinstance
    - gateway_client.load_connection_args
    - e.response.body.decode
    - gateway_client.update_cookies
    - json.loads
    - jupyter_server.gateway.gateway_client.gateway_request
    - gateway_client.emit
    - logging.getLogger
    - cookie.load
    - tornado.httpclient.AsyncHTTPClient
    linkageType: 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: jupyter_server.gateway.managers.GatewaySessionManager
    functionSourceFile: jupyter_server.gateway.managers
    functionUses: 0
    functionsReached:
    - traitlets.Instance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - kernel_id
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 359
    functionName: jupyter_server.gateway.managers.GatewaySessionManager.kernel_culled
    functionSourceFile: jupyter_server.gateway.managers
    functionUses: 0
    functionsReached:
    - traitlets.Instance.get_kernel
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: traitlets.Instance.get_kernel
    functionSourceFile: traitlets
    functionUses: 1
    functionsReached: []
    linkageType: 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: jupyter_server.gateway.managers.GatewayKernelManager
    functionSourceFile: jupyter_server.gateway.managers
    functionUses: 0
    functionsReached:
    - jupyter_server.services.kernels.kernelmanager.emit_kernel_action_event
    - traitlets.DottedObjectName
    - functools.wraps
    - jupyter_server.services.kernels.kernelmanager.emit_kernel_action_event.wrap_method
    - traitlets.Type
    - traitlets.default
    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: 384
    functionName: jupyter_server.gateway.managers.GatewayKernelManager._default_cache_ports
    functionSourceFile: jupyter_server.gateway.managers
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 387
    functionName: jupyter_server.gateway.managers.GatewayKernelManager.__init__
    functionSourceFile: jupyter_server.gateway.managers
    functionUses: 0
    functionsReached:
    - <builtin>.super
    - datetime.datetime.now
    - traitlets.config.SingletonConfigurable.instance
    - jupyter_server._tz.utcnow
    - s.strip
    - jupyter_server.utils.url_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: 400
    functionName: jupyter_server.gateway.managers.GatewayKernelManager.has_kernel
    functionSourceFile: jupyter_server.gateway.managers
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 4
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 411
    functionName: jupyter_server.gateway.managers.GatewayKernelManager.client
    functionSourceFile: jupyter_server.gateway.managers
    functionUses: 0
    functionsReached:
    - traitlets.Instance.clone
    - info.update
    - jupyter_client.connect.ConnectionFileMixin.get_connection_info
    - traitlets.Type
    - kw.update
    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 0x7fc4aac0ba00>
    argNames:
    - self
    - model
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 427
    functionName: jupyter_server.gateway.managers.GatewayKernelManager.refresh_model
    functionSourceFile: jupyter_server.gateway.managers
    functionUses: 2
    functionsReached:
    - <builtin>.any
    - jupyter_server.gateway.gateway_client.RetryableHTTPClient._is_retryable
    - traitlets.config.LoggingConfigurable.log.warning
    - jupyter_server.gateway.gateway_client.RetryableHTTPClient.fetch
    - http.cookies.SimpleCookie
    - tornado.escape.json_decode
    - error_payload.get
    - datetime.datetime.strptime
    - asyncio.sleep
    - jupyter_server.gateway.gateway_client.RetryableHTTPClient._fetch
    - jupyter_server.gateway.gateway_client.RetryableHTTPClient.__init__
    - traitlets.config.LoggingConfigurable.log.debug
    - traitlets.config.SingletonConfigurable.instance
    - response.headers.get
    - <builtin>.isinstance
    - gateway_client.load_connection_args
    - e.response.body.decode
    - gateway_client.update_cookies
    - json.loads
    - jupyter_server.gateway.gateway_client.gateway_request
    - gateway_client.emit
    - <builtin>.int
    - logging.getLogger
    - cookie.load
    - tornado.httpclient.AsyncHTTPClient
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 5
    IfCount: 3
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 473
    functionName: jupyter_server.gateway.managers.GatewayKernelManager.start_kernel
    functionSourceFile: jupyter_server.gateway.managers
    functionUses: 0
    functionsReached:
    - kwargs.get
    - <builtin>.any
    - payload_envs.update
    - jupyter_server.gateway.gateway_client.RetryableHTTPClient._is_retryable
    - jupyter_server.gateway.managers.GatewayKernelManager.refresh_model
    - traitlets.config.LoggingConfigurable.log.warning
    - tornado.escape.json_encode
    - k.startswith
    - os.environ.copy
    - jupyter_server.gateway.gateway_client.RetryableHTTPClient.fetch
    - jupyter_server.utils.url_path_join
    - http.cookies.SimpleCookie
    - tornado.escape.json_decode
    - error_payload.get
    - datetime.datetime.strptime
    - asyncio.sleep
    - jupyter_server.gateway.gateway_client.RetryableHTTPClient._fetch
    - jupyter_server.gateway.gateway_client.RetryableHTTPClient.__init__
    - traitlets.config.SingletonConfigurable.instance
    - traitlets.config.LoggingConfigurable.log.debug
    - response.headers.get
    - tornado.escape.url_escape
    - s.strip
    - <builtin>.str
    - <builtin>.isinstance
    - gateway_client.load_connection_args
    - payload_envs.items
    - traitlets.config.LoggingConfigurable.log.info
    - e.response.body.decode
    - os.environ.get
    - gateway_client.update_cookies
    - kernel_env.get
    - json.loads
    - jupyter_server.gateway.gateway_client.gateway_request
    - gateway_client.emit
    - <builtin>.int
    - logging.getLogger
    - cookie.load
    - tornado.httpclient.AsyncHTTPClient
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: payload_envs.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: payload_envs.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: k.startswith
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: kernel_env.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: tornado.escape.json_encode
    functionSourceFile: tornado
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    IfCount: 2
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7fc4aac23760>
    - <ast.Constant object at 0x7fc4aac23730>
    argNames:
    - self
    - now
    - restart
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 527
    functionName: jupyter_server.gateway.managers.GatewayKernelManager.shutdown_kernel
    functionSourceFile: jupyter_server.gateway.managers
    functionUses: 0
    functionsReached:
    - <builtin>.any
    - jupyter_server.gateway.gateway_client.RetryableHTTPClient._is_retryable
    - jupyter_server.gateway.gateway_client.RetryableHTTPClient.fetch
    - http.cookies.SimpleCookie
    - error_payload.get
    - asyncio.sleep
    - jupyter_server.gateway.gateway_client.RetryableHTTPClient._fetch
    - jupyter_server.gateway.gateway_client.RetryableHTTPClient.__init__
    - traitlets.config.SingletonConfigurable.instance
    - traitlets.config.LoggingConfigurable.log.debug
    - response.headers.get
    - <builtin>.isinstance
    - gateway_client.load_connection_args
    - e.response.body.decode
    - gateway_client.update_cookies
    - json.loads
    - jupyter_server.gateway.gateway_client.gateway_request
    - gateway_client.emit
    - logging.getLogger
    - cookie.load
    - tornado.httpclient.AsyncHTTPClient
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - kw
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 544
    functionName: jupyter_server.gateway.managers.GatewayKernelManager.restart_kernel
    functionSourceFile: jupyter_server.gateway.managers
    functionUses: 0
    functionsReached:
    - <builtin>.any
    - jupyter_server.gateway.gateway_client.RetryableHTTPClient._is_retryable
    - tornado.escape.json_encode
    - jupyter_server.gateway.gateway_client.RetryableHTTPClient.fetch
    - http.cookies.SimpleCookie
    - error_payload.get
    - asyncio.sleep
    - jupyter_server.gateway.gateway_client.RetryableHTTPClient._fetch
    - jupyter_server.gateway.gateway_client.RetryableHTTPClient.__init__
    - traitlets.config.SingletonConfigurable.instance
    - traitlets.config.LoggingConfigurable.log.debug
    - response.headers.get
    - <builtin>.isinstance
    - gateway_client.load_connection_args
    - e.response.body.decode
    - gateway_client.update_cookies
    - json.loads
    - jupyter_server.gateway.gateway_client.gateway_request
    - gateway_client.emit
    - logging.getLogger
    - cookie.load
    - tornado.httpclient.AsyncHTTPClient
    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: 5
    functionLinenumber: 561
    functionName: jupyter_server.gateway.managers.GatewayKernelManager.interrupt_kernel
    functionSourceFile: jupyter_server.gateway.managers
    functionUses: 0
    functionsReached:
    - <builtin>.any
    - jupyter_server.gateway.gateway_client.RetryableHTTPClient._is_retryable
    - tornado.escape.json_encode
    - jupyter_server.gateway.gateway_client.RetryableHTTPClient.fetch
    - http.cookies.SimpleCookie
    - error_payload.get
    - asyncio.sleep
    - jupyter_server.gateway.gateway_client.RetryableHTTPClient._fetch
    - jupyter_server.gateway.gateway_client.RetryableHTTPClient.__init__
    - traitlets.config.SingletonConfigurable.instance
    - traitlets.config.LoggingConfigurable.log.debug
    - response.headers.get
    - <builtin>.isinstance
    - gateway_client.load_connection_args
    - e.response.body.decode
    - gateway_client.update_cookies
    - json.loads
    - jupyter_server.gateway.gateway_client.gateway_request
    - gateway_client.emit
    - logging.getLogger
    - cookie.load
    - tornado.httpclient.AsyncHTTPClient
    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: 6
    functionLinenumber: 575
    functionName: jupyter_server.gateway.managers.GatewayKernelManager.is_alive
    functionSourceFile: jupyter_server.gateway.managers
    functionUses: 0
    functionsReached:
    - <builtin>.any
    - jupyter_server.gateway.gateway_client.RetryableHTTPClient._is_retryable
    - jupyter_server.gateway.managers.GatewayKernelManager.refresh_model
    - traitlets.config.LoggingConfigurable.log.warning
    - jupyter_server.gateway.gateway_client.RetryableHTTPClient.fetch
    - http.cookies.SimpleCookie
    - tornado.escape.json_decode
    - error_payload.get
    - datetime.datetime.strptime
    - asyncio.sleep
    - jupyter_server.gateway.gateway_client.RetryableHTTPClient._fetch
    - jupyter_server.gateway.gateway_client.RetryableHTTPClient.__init__
    - traitlets.config.LoggingConfigurable.log.debug
    - traitlets.config.SingletonConfigurable.instance
    - response.headers.get
    - <builtin>.isinstance
    - gateway_client.load_connection_args
    - e.response.body.decode
    - gateway_client.update_cookies
    - json.loads
    - jupyter_server.gateway.gateway_client.gateway_request
    - gateway_client.emit
    - <builtin>.int
    - logging.getLogger
    - cookie.load
    - tornado.httpclient.AsyncHTTPClient
    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 0x7fc4aac2ba90>
    argNames:
    - self
    - restart
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 586
    functionName: jupyter_server.gateway.managers.GatewayKernelManager.cleanup_resources
    functionSourceFile: jupyter_server.gateway.managers
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - channel_name
    - channel_socket
    - log
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 599
    functionName: jupyter_server.gateway.managers.ChannelQueue.__init__
    functionSourceFile: jupyter_server.gateway.managers
    functionUses: 5
    functionsReached:
    - <builtin>.super
    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 0x7fc4aac2ee50>
    argNames:
    - self
    - timeout
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 607
    functionName: jupyter_server.gateway.managers.ChannelQueue._async_get
    functionSourceFile: jupyter_server.gateway.managers
    functionUses: 1
    functionsReached:
    - queue.Queue.get
    - time.monotonic
    - asyncio.sleep
    - <builtin>.float
    linkageType: pythonLinkage
    raised:
    - RuntimeError
    - 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: queue.Queue.get
    functionSourceFile: queue
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 3
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 627
    functionName: jupyter_server.gateway.managers.ChannelQueue.get_msg
    functionSourceFile: jupyter_server.gateway.managers
    functionUses: 0
    functionsReached:
    - kwargs.get
    - time.monotonic
    - asyncio.sleep
    - typing.cast
    - queue.Queue.task_done
    - traitlets.config.LoggingConfigurable.log.debug
    - queue.Queue.get
    - jupyter_server.gateway.managers.ChannelQueue._async_get
    - <builtin>.float
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: queue.Queue.task_done
    functionSourceFile: queue
    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
    - msg
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 639
    functionName: jupyter_server.gateway.managers.ChannelQueue.send
    functionSourceFile: jupyter_server.gateway.managers
    functionUses: 0
    functionsReached:
    - traitlets.config.LoggingConfigurable.log.debug
    - json.dumps
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - dt
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 650
    functionName: jupyter_server.gateway.managers.ChannelQueue.serialize_datetime
    functionSourceFile: jupyter_server.gateway.managers
    functionUses: 0
    functionsReached:
    - dt.timestamp
    - <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: dt.timestamp
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 656
    functionName: jupyter_server.gateway.managers.ChannelQueue.start
    functionSourceFile: jupyter_server.gateway.managers
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 3
    IfCount: 4
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 659
    functionName: jupyter_server.gateway.managers.ChannelQueue.stop
    functionSourceFile: jupyter_server.gateway.managers
    functionUses: 0
    functionsReached:
    - traitlets.config.LoggingConfigurable.log.warning
    - queue.Queue.qsize
    - queue.Queue.get_nowait
    - queue.Queue.empty
    - msgs.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: queue.Queue.empty
    functionSourceFile: queue
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: queue.Queue.qsize
    functionSourceFile: queue
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: queue.Queue.get_nowait
    functionSourceFile: queue
    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: 679
    functionName: jupyter_server.gateway.managers.ChannelQueue.is_alive
    functionSourceFile: jupyter_server.gateway.managers
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - kernel_id
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 720
    functionName: jupyter_server.gateway.managers.GatewayKernelClient.__init__
    functionSourceFile: jupyter_server.gateway.managers
    functionUses: 0
    functionsReached:
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 3
    IfCount: 0
    argCount: 6
    argDefaultValues:
    - <ast.Constant object at 0x7fc4aac11100>
    - <ast.Constant object at 0x7fc4aac110d0>
    - <ast.Constant object at 0x7fc4aac110a0>
    - <ast.Constant object at 0x7fc4aac11070>
    - <ast.Constant object at 0x7fc4aac11040>
    argNames:
    - self
    - shell
    - iopub
    - stdin
    - hb
    - control
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 733
    functionName: jupyter_server.gateway.managers.GatewayKernelClient.start_channels
    functionSourceFile: jupyter_server.gateway.managers
    functionUses: 0
    functionsReached:
    - <builtin>.super
    - jupyter_core.utils.ensure_async
    - threading.Thread
    - s.strip
    - websocket.create_connection
    - traitlets.config.SingletonConfigurable.instance
    - tornado.escape.url_escape
    - jupyter_server.utils.url_path_join
    - threading.Thread.start
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: websocket.create_connection
    functionSourceFile: websocket
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 6
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 768
    functionName: jupyter_server.gateway.managers.GatewayKernelClient.stop_channels
    functionSourceFile: jupyter_server.gateway.managers
    functionUses: 0
    functionsReached:
    - traitlets.config.LoggingConfigurable.log.debug
    - <builtin>.super
    - threading.Thread.join
    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: 790
    functionName: jupyter_server.gateway.managers.GatewayKernelClient.shell_channel
    functionSourceFile: jupyter_server.gateway.managers
    functionUses: 0
    functionsReached:
    - traitlets.config.LoggingConfigurable.log.debug
    - <builtin>.super
    - jupyter_server.gateway.managers.ChannelQueue.__init__
    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: 801
    functionName: jupyter_server.gateway.managers.GatewayKernelClient.iopub_channel
    functionSourceFile: jupyter_server.gateway.managers
    functionUses: 0
    functionsReached:
    - traitlets.config.LoggingConfigurable.log.debug
    - <builtin>.super
    - jupyter_server.gateway.managers.ChannelQueue.__init__
    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: 812
    functionName: jupyter_server.gateway.managers.GatewayKernelClient.stdin_channel
    functionSourceFile: jupyter_server.gateway.managers
    functionUses: 0
    functionsReached:
    - traitlets.config.LoggingConfigurable.log.debug
    - <builtin>.super
    - jupyter_server.gateway.managers.ChannelQueue.__init__
    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: 823
    functionName: jupyter_server.gateway.managers.GatewayKernelClient.hb_channel
    functionSourceFile: jupyter_server.gateway.managers
    functionUses: 0
    functionsReached:
    - traitlets.config.LoggingConfigurable.log.debug
    - <builtin>.super
    - jupyter_server.gateway.managers.ChannelQueue.__init__
    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: 834
    functionName: jupyter_server.gateway.managers.GatewayKernelClient.control_channel
    functionSourceFile: jupyter_server.gateway.managers
    functionUses: 0
    functionsReached:
    - traitlets.config.LoggingConfigurable.log.debug
    - <builtin>.super
    - jupyter_server.gateway.managers.ChannelQueue.__init__
    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: 1
    functionLinenumber: 844
    functionName: jupyter_server.gateway.managers.GatewayKernelClient._route_responses
    functionSourceFile: jupyter_server.gateway.managers
    functionUses: 0
    functionsReached:
    - traitlets.config.LoggingConfigurable.log.debug
    - tornado.escape.json_decode
    - tornado.escape.utf8
    - traitlets.config.LoggingConfigurable.log.warning
    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: jupyter_server.log
    functionSourceFile: jupyter_server.log
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 1
    IfCount: 3
    argCount: 1
    argDefaultValues: []
    argNames:
    - uri
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 22
    functionName: jupyter_server.log._scrub_uri
    functionSourceFile: jupyter_server.log
    functionUses: 1
    functionsReached:
    - urllib.parse.urlparse._replace
    - urllib.parse.urlparse.query.split
    - urllib.parse.urlunparse
    - s.partition
    - <builtin>.enumerate
    - urllib.parse.urlparse
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.query.split
    functionSourceFile: urllib
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: s.partition
    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.urlparse._replace
    functionSourceFile: urllib
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: urllib.parse.urlunparse
    functionSourceFile: urllib
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 9
    ICount: 4
    IfCount: 6
    argCount: 1
    argDefaultValues: []
    argNames:
    - handler
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 43
    functionName: jupyter_server.log.log_request
    functionSourceFile: jupyter_server.log
    functionUses: 0
    functionsReached:
    - handler.get_status
    - msg.format
    - <builtin>.type
    - urllib.parse.urlparse.query.split
    - s.partition
    - jupyter_server.prometheus.log_functions.prometheus_log_method
    - tornado.log.access_log.error
    - jupyter_server.log._scrub_uri
    - urllib.parse.urlparse._replace
    - json.dumps
    - handler.request.request_time
    - tornado.log.access_log.debug
    - <builtin>.isinstance
    - <builtin>.enumerate
    - notebook.prometheus.metrics.HTTP_REQUEST_DURATION_SECONDS.labels
    - request.headers.get
    - tornado.log.access_log.warning
    - prometheus_client.Histogram.labels
    - urllib.parse.urlunparse
    - tornado.log.access_log.info
    - urllib.parse.urlparse
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.get_status
    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: handler.request.request_time
    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: request.headers.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: tornado.log.access_log.debug
    functionSourceFile: tornado
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: tornado.log.access_log.error
    functionSourceFile: tornado
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: tornado.log.access_log.warning
    functionSourceFile: tornado
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: tornado.log.access_log.info
    functionSourceFile: tornado
    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:
    - handler
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 5
    functionName: jupyter_server.prometheus.log_functions.prometheus_log_method
    functionSourceFile: jupyter_server.prometheus.log_functions
    functionUses: 1
    functionsReached:
    - prometheus_client.Histogram.labels
    - handler.request.request_time
    - handler.get_status
    - <builtin>.type
    - notebook.prometheus.metrics.HTTP_REQUEST_DURATION_SECONDS.labels
    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: jupyter_server.prometheus.log_functions
    functionSourceFile: jupyter_server.prometheus.log_functions
    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: prometheus_client.Histogram.labels
    functionSourceFile: prometheus_client
    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: notebook.prometheus.metrics.HTTP_REQUEST_DURATION_SECONDS.labels
    functionSourceFile: notebook
    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: jupyter_server.gateway
    functionSourceFile: jupyter_server.gateway
    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: jupyter_server.services.contents.largefilemanager
    functionSourceFile: jupyter_server.services.contents.largefilemanager
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 12
    ICount: 9
    IfCount: 8
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7fc4abf0c580>
    argNames:
    - self
    - model
    - path
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 8
    functionLinenumber: 16
    functionName: jupyter_server.services.contents.largefilemanager.LargeFileManager.save
    functionSourceFile: jupyter_server.services.contents.largefilemanager
    functionUses: 0
    functionsReached:
    - jupyter_server.services.contents.fileio.FileManagerMixin._read_notebook
    - os.path.islink
    - os.lstat
    - jupyter_server.services.contents.filemanager.FileContentsManager.exists
    - nbformat.validate
    - jupyter_server.services.contents.fileio.AsyncFileManagerMixin._read_notebook
    - validation_error.get
    - jupyter_server.services.contents.largefilemanager.LargeFileManager._save_large_file
    - <builtin>.super
    - jupyter_server.services.contents.filemanager.FileContentsManager._dir_model
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._notebook_model
    - path.strip
    - jupyter_server.services.contents.filemanager.FileContentsManager.get
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.is_hidden
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.get
    - stat.S_ISDIR
    - model.update
    - h.update
    - jupyter_server.services.contents.fileio.FileManagerMixin.perm_to_403
    - os.path.isfile
    - jupyter_server.services.contents.manager.ContentsManager.should_list
    - f.read
    - jupyter_core.paths.is_file_hidden
    - jupyter_server.services.contents.fileio.FileManagerMixin._read_file
    - os.replace
    - jupyter_server.services.contents.filemanager.FileContentsManager._notebook_model
    - <builtin>.any
    - jupyter_server.services.contents.fileio.async_replace_file
    - <builtin>.len
    - jupyter_server.services.contents.filemanager.FileContentsManager.is_hidden
    - jupyter_server.services.contents.fileio.FileManagerMixin.open
    - stat.S_ISLNK
    - os_path.startswith
    - h.hexdigest
    - os_path.strip
    - os.path.splitdrive
    - <builtin>.open
    - <builtin>.str
    - os.path.abspath
    - <builtin>.isinstance
    - os.path.isdir
    - jupyter_server.services.contents.manager.ContentsManager.mark_trusted_cells
    - path.endswith
    - nbformat.reads
    - os.access
    - functools.partial
    - path.rsplit
    - typing.NewType
    - datetime.datetime.fromtimestamp
    - jupyter_server.services.contents.filemanager.FileContentsManager._base_model
    - base64.b64decode
    - jupyter_server.services.contents.filemanager.FileContentsManager.is_writable
    - traitlets.Instance.mark_cells
    - datetime.datetime
    - jupyter_server._tz.utcfromtimestamp
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._file_model
    - jupyter_server.services.contents.manager.ContentsManager.validate_notebook_model
    - anyio.to_thread.run_sync
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._dir_model
    - f.write
    - json.dumps
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - jupyter_server.services.contents.manager.ContentsManager.run_post_save_hooks
    - jupyter_server.utils.to_api_path
    - base64.encodebytes
    - os.path.exists
    - jupyter_server.services.contents.fileio.replace_file
    - os.path.dirname
    - nbformat.v4.new_notebook.encode
    - traitlets.Instance.check_signature
    - base64.encodebytes.decode
    - jupyter_server.services.contents.manager.ContentsManager.run_pre_save_hooks
    - jupyter_server.services.contents.manager.ContentsManager.emit
    - jupyter_server.utils.to_os_path
    - os.path.normpath
    - os.readlink
    - fnmatch.fnmatch
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_hash
    - hashlib.new
    - jupyter_server.services.contents.fileio.path_to_intermediate
    - os.listdir
    - os.path.join
    - jupyter_server.services.contents.filemanager.FileContentsManager._file_model
    - jupyter_server.services.contents.fileio.path_to_invalid
    - os.path.split
    - model.get
    - mimetypes.guess_type
    - contents.append
    - jupyter_server.services.contents.fileio.AsyncFileManagerMixin._read_file
    - bcontent.decode
    - stat.S_ISREG
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 2
    IfCount: 3
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - os_path
    - content
    - format
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 62
    functionName: jupyter_server.services.contents.largefilemanager.LargeFileManager._save_large_file
    functionSourceFile: jupyter_server.services.contents.largefilemanager
    functionUses: 1
    functionsReached:
    - jupyter_server.utils.to_api_path
    - f.write
    - os.path.join
    - typing.NewType
    - os_path.startswith
    - os.path.islink
    - base64.b64decode
    - os_path.strip
    - os.path.dirname
    - nbformat.v4.new_notebook.encode
    - <builtin>.len
    - os.readlink
    - <builtin>.open
    - jupyter_server.services.contents.fileio.FileManagerMixin.perm_to_403
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: 11
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 2
    IfCount: 3
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - os_path
    - content
    - format
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 135
    functionName: jupyter_server.services.contents.largefilemanager.AsyncLargeFileManager._save_large_file
    functionSourceFile: jupyter_server.services.contents.largefilemanager
    functionUses: 8
    functionsReached:
    - jupyter_server.utils.to_api_path
    - typing.NewType
    - os.path.join
    - os_path.startswith
    - os.path.islink
    - os.readlink
    - base64.b64decode
    - os_path.strip
    - os.path.dirname
    - anyio.to_thread.run_sync
    - <builtin>.len
    - nbformat.v4.new_notebook.encode
    - <builtin>.open
    - jupyter_server.services.contents.fileio.FileManagerMixin.perm_to_403
    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: jupyter_server.services.kernels.connection.channels
    functionSourceFile: jupyter_server.services.kernels.connection.channels
    functionUses: 0
    functionsReached:
    - abc.ABC.register
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - f
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 38
    functionName: jupyter_server.services.kernels.connection.channels._ensure_future
    functionSourceFile: jupyter_server.services.kernels.connection.channels
    functionUses: 5
    functionsReached:
    - asyncio.wrap_future
    - asyncio.get_running_loop
    linkageType: 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: jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection
    functionSourceFile: jupyter_server.services.kernels.connection.channels
    functionUses: 0
    functionsReached:
    - traitlets.List
    - traitlets.Int
    - weakref.WeakSet
    - traitlets.Instance
    - traitlets.Unicode
    - traitlets.Float
    - traitlets.default
    - traitlets.Bool
    - traitlets.Dict
    - traitlets.Any
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 92
    functionName: jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.write_message
    functionSourceFile: jupyter_server.services.kernels.connection.channels
    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: weakref.WeakSet
    functionSourceFile: weakref
    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: 111
    functionName: jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection._default_kernel_info_future
    functionSourceFile: jupyter_server.services.kernels.connection.channels
    functionUses: 0
    functionsReached:
    - concurrent.futures.Future
    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: 118
    functionName: jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection._default_close_future
    functionSourceFile: jupyter_server.services.kernels.connection.channels
    functionUses: 0
    functionsReached:
    - concurrent.futures.Future
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 3
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - cls
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 134
    functionName: jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.close_all
    functionSourceFile: jupyter_server.services.kernels.connection.channels
    functionUses: 0
    functionsReached:
    - asyncio.get_running_loop
    - connection.disconnect
    - <builtin>.list
    - asyncio.wrap_future
    - jupyter_server.services.kernels.connection.channels._ensure_future
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: connection.disconnect
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 141
    functionName: jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.subprotocol
    functionSourceFile: jupyter_server.services.kernels.connection.channels
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 149
    functionName: jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.create_stream
    functionSourceFile: jupyter_server.services.kernels.connection.channels
    functionUses: 1
    functionsReached:
    - <builtin>.getattr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 8
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 157
    functionName: jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.nudge
    functionSourceFile: jupyter_server.services.kernels.connection.channels
    functionUses: 1
    functionsReached:
    - both_done.add_done_callback
    - control_channel.on_recv
    - tornado.ioloop.IOLoop.current
    - asyncio.get_running_loop
    - f.set_result
    - asyncio.wrap_future
    - shell_channel.on_recv
    - loop.call_later
    - concurrent.futures.Future
    - tornado.gen.multi
    - jupyter_server.services.kernels.connection.channels._ensure_future
    - loop.time
    - traitlets.config.LoggingConfigurable.log.debug
    - tornado.gen.with_timeout
    - <builtin>.getattr
    - future.add_done_callback
    - iopub_channel.on_recv
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.set_result
    functionSourceFile: <builtin>
    functionUses: 7
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 1
    argDefaultValues:
    - <ast.Constant object at 0x7fc4aa17b970>
    argNames:
    - _
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 189
    functionName: jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.nudge.finish
    functionSourceFile: jupyter_server.services.kernels.connection.channels
    functionUses: 1
    functionsReached:
    - f.done
    - f.set_result
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.done
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    IfCount: 2
    argCount: 1
    argDefaultValues:
    - <ast.Constant object at 0x7fc4aa17b070>
    argNames:
    - _
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 197
    functionName: jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.nudge.cleanup
    functionSourceFile: jupyter_server.services.kernels.connection.channels
    functionUses: 0
    functionsReached:
    - loop.remove_timeout
    - shell_channel.close
    - control_channel.closed
    - control_channel.close
    - iopub_channel.stop_on_recv
    - shell_channel.closed
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: iopub_channel.stop_on_recv
    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: shell_channel.closed
    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: shell_channel.close
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: control_channel.closed
    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: control_channel.close
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: both_done.add_done_callback
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 4
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - msg
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 209
    functionName: jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.nudge.on_shell_reply
    functionSourceFile: jupyter_server.services.kernels.connection.channels
    functionUses: 0
    functionsReached:
    - traitlets.config.LoggingConfigurable.log.debug
    - info_future.done
    - info_future.set_result
    linkageType: pythonLinkage
    raised: []
    returnType: N/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_future.done
    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_future.set_result
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 4
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - msg
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 216
    functionName: jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.nudge.on_control_reply
    functionSourceFile: jupyter_server.services.kernels.connection.channels
    functionUses: 0
    functionsReached:
    - traitlets.config.LoggingConfigurable.log.debug
    - info_future.done
    - info_future.set_result
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 5
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - msg
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 223
    functionName: jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.nudge.on_iopub
    functionSourceFile: jupyter_server.services.kernels.connection.channels
    functionUses: 0
    functionsReached:
    - traitlets.config.LoggingConfigurable.log.debug
    - iopub_future.set_result
    - iopub_future.done
    - iopub_channel.stop_on_recv
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: iopub_future.done
    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: iopub_future.set_result
    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: iopub_channel.on_recv
    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: shell_channel.on_recv
    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: control_channel.on_recv
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 10
    IfCount: 4
    argCount: 1
    argDefaultValues: []
    argNames:
    - count
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 237
    functionName: jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.nudge.nudge
    functionSourceFile: jupyter_server.services.kernels.connection.channels
    functionUses: 0
    functionsReached:
    - jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.nudge.finish
    - f.set_result
    - traitlets.Instance.send
    - loop.call_later
    - control_channel.closed
    - traitlets.config.LoggingConfigurable.log.debug
    - shell_channel.closed
    - f.done
    - both_done.done
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: both_done.done
    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: loop.call_later
    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: tornado.gen.with_timeout
    functionSourceFile: tornado
    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: future.add_done_callback
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 274
    functionName: jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection._register_session
    functionSourceFile: jupyter_server.services.kernels.connection.channels
    functionUses: 1
    functionsReached:
    - traitlets.config.LoggingConfigurable.log.warning
    - traitlets.config.LoggingConfigurable._open_sessions.get
    - stale_handler.close
    - 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: traitlets.config.LoggingConfigurable._open_sessions.get
    functionSourceFile: traitlets
    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: stale_handler.close
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 6
    IfCount: 3
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 293
    functionName: jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.prepare
    functionSourceFile: jupyter_server.services.kernels.connection.channels
    functionUses: 0
    functionsReached:
    - traitlets.Any.on_recv
    - traitlets.config.LoggingConfigurable.log.warning
    - traitlets.Instance.send
    - jupyter_core.utils.ensure_async
    - time.time
    - <builtin>.hasattr
    - asyncio.sleep
    - loop.add_timeout
    - loop.time
    - traitlets.config.LoggingConfigurable.log.debug
    - jupyter_server.services.kernels.connection.channels._ensure_future
    - <builtin>.str
    - tornado.ioloop.IOLoop.current
    - asyncio.get_running_loop
    - typing.cast
    - asyncio.wrap_future
    - traitlets.config.LoggingConfigurable._open_sessions.get
    - <builtin>.isinstance
    - jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection._register_session
    - future.add_done_callback
    - future.done
    - stale_handler.close
    - jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.request_kernel_info
    linkageType: pythonLinkage
    raised:
    - TimeoutError
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 574
    functionName: jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.request_kernel_info
    functionSourceFile: jupyter_server.services.kernels.connection.channels
    functionUses: 1
    functionsReached:
    - traitlets.Any.on_recv
    - asyncio.get_running_loop
    - traitlets.Instance.send
    - asyncio.wrap_future
    - traitlets.config.LoggingConfigurable.log.debug
    - jupyter_server.services.kernels.connection.channels._ensure_future
    - future.add_done_callback
    - future.done
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 322
    functionName: jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.prepare.give_up
    functionSourceFile: jupyter_server.services.kernels.connection.channels
    functionUses: 0
    functionsReached:
    - traitlets.Instance.done
    - traitlets.Instance.set_result
    - traitlets.config.LoggingConfigurable.log.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: traitlets.Instance.set_result
    functionSourceFile: traitlets
    functionUses: 10
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 14
    IfCount: 3
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 334
    functionName: jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.connect
    functionSourceFile: jupyter_server.services.kernels.connection.channels
    functionUses: 0
    functionsReached:
    - f.set_result
    - jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.disconnect
    - traitlets.config.LoggingConfigurable.log.error
    - shell_channel.on_recv
    - concurrent.futures.Future
    - stream.close
    - jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.nudge
    - traitlets.config.LoggingConfigurable._open_sessions.pop
    - stream.closed
    - traitlets.Dict.items
    - traitlets.Instance.set_result
    - loop.time
    - traitlets.Instance.add_done_callback
    - traitlets.config.LoggingConfigurable.log.debug
    - <builtin>.getattr
    - jupyter_server.services.kernels.connection.channels._ensure_future
    - traitlets.config.LoggingConfigurable._open_sockets.remove
    - both_done.add_done_callback
    - tornado.ioloop.IOLoop.current
    - asyncio.get_running_loop
    - asyncio.wrap_future
    - traitlets.config.LoggingConfigurable._open_sessions.get
    - future.add_done_callback
    - traitlets.config.LoggingConfigurable.log.info
    - control_channel.on_recv
    - traitlets.config.LoggingConfigurable._open_sockets.add
    - loop.call_later
    - stream.on_recv
    - tornado.gen.with_timeout
    - tornado.gen.multi
    - jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.create_stream
    - iopub_channel.on_recv
    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: 5
    functionLinenumber: 352
    functionName: jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.connect.replay
    functionSourceFile: jupyter_server.services.kernels.connection.channels
    functionUses: 0
    functionsReached:
    - jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.disconnect
    - traitlets.config.LoggingConfigurable.log.warning
    - jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.write_message
    - msg.copy
    - traitlets.Instance.deserialize
    - stream.close
    - jupyter_server.services.kernels.connection.base.serialize_binary_message
    - <builtin>.len
    - msg.pop
    - traitlets.Instance.pack
    - traitlets.Instance.feed_identities
    - <builtin>.float
    - traitlets.config.LoggingConfigurable._open_sessions.pop
    - stream.closed
    - buffers.insert
    - jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.handle_outgoing_message
    - traitlets.Dict.items
    - <builtin>.list
    - traitlets.Instance.set_result
    - <builtin>.sum
    - offsets.append
    - traitlets.config.LoggingConfigurable.log.debug
    - textwrap.dedent
    - <builtin>.getattr
    - <builtin>.str
    - tornado.ioloop.IOLoop.current
    - struct.pack
    - json.dumps
    - jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.write_stderr
    - traitlets.config.LoggingConfigurable._open_sessions.get
    - jupyter_server.services.kernels.connection.base.serialize_msg_to_ws_v1
    - jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection._limit_rate
    - jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection._on_error
    - offset.to_bytes
    - <builtin>.isinstance
    - traitlets.config.LoggingConfigurable.log.info
    - jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection._on_zmq_reply
    - traitlets.Instance.unpack
    - traitlets.Instance.msg
    - jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.get_part
    - traitlets.config.LoggingConfigurable.log.critical
    - stream.on_recv
    - channel.encode
    - traitlets.config.LoggingConfigurable._open_sockets.remove
    - jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection._reserialize_reply
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 4
    IfCount: 4
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - stream
    - outgoing_msg
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 489
    functionName: jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.handle_outgoing_message
    functionSourceFile: jupyter_server.services.kernels.connection.channels
    functionUses: 1
    functionsReached:
    - jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.disconnect
    - traitlets.config.LoggingConfigurable.log.warning
    - jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.write_message
    - msg.copy
    - traitlets.Instance.deserialize
    - stream.close
    - jupyter_server.services.kernels.connection.base.serialize_binary_message
    - <builtin>.len
    - msg.pop
    - traitlets.Instance.pack
    - traitlets.Instance.feed_identities
    - <builtin>.float
    - traitlets.config.LoggingConfigurable._open_sessions.pop
    - stream.closed
    - buffers.insert
    - traitlets.Dict.items
    - <builtin>.list
    - traitlets.Instance.set_result
    - <builtin>.sum
    - offsets.append
    - traitlets.config.LoggingConfigurable.log.debug
    - textwrap.dedent
    - <builtin>.getattr
    - <builtin>.str
    - tornado.ioloop.IOLoop.current
    - struct.pack
    - json.dumps
    - jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.write_stderr
    - traitlets.config.LoggingConfigurable._open_sessions.get
    - jupyter_server.services.kernels.connection.base.serialize_msg_to_ws_v1
    - jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection._limit_rate
    - jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection._on_error
    - offset.to_bytes
    - <builtin>.isinstance
    - jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection._on_zmq_reply
    - traitlets.Instance.unpack
    - traitlets.Instance.msg
    - jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.get_part
    - traitlets.config.LoggingConfigurable.log.critical
    - stream.on_recv
    - channel.encode
    - traitlets.config.LoggingConfigurable._open_sockets.remove
    - jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection._reserialize_reply
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.closed
    functionSourceFile: <builtin>
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 13
    IfCount: 4
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 398
    functionName: jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.disconnect
    functionSourceFile: jupyter_server.services.kernels.connection.channels
    functionUses: 5
    functionsReached:
    - traitlets.config.LoggingConfigurable._open_sessions.pop
    - stream.closed
    - traitlets.Dict.items
    - traitlets.config.LoggingConfigurable._open_sessions.get
    - traitlets.Instance.set_result
    - stream.close
    - stream.on_recv
    - traitlets.config.LoggingConfigurable.log.debug
    - traitlets.config.LoggingConfigurable._open_sockets.remove
    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: 386
    functionName: jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.connect.subscribe
    functionSourceFile: jupyter_server.services.kernels.connection.channels
    functionUses: 0
    functionsReached:
    - traitlets.Dict.items
    - stream.on_recv_stream
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.on_recv_stream
    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: traitlets.config.LoggingConfigurable._open_sockets.add
    functionSourceFile: traitlets
    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: 2
    functionLinenumber: 394
    functionName: jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.close
    functionSourceFile: jupyter_server.services.kernels.connection.channels
    functionUses: 0
    functionsReached:
    - traitlets.config.LoggingConfigurable._open_sessions.pop
    - stream.closed
    - jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.disconnect
    - traitlets.Dict.items
    - traitlets.config.LoggingConfigurable._open_sessions.get
    - traitlets.Instance.set_result
    - stream.close
    - stream.on_recv
    - traitlets.config.LoggingConfigurable.log.debug
    - traitlets.config.LoggingConfigurable._open_sockets.remove
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: traitlets.config.LoggingConfigurable._open_sessions.pop
    functionSourceFile: traitlets
    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: traitlets.config.LoggingConfigurable._open_sockets.remove
    functionSourceFile: traitlets
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 9
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 14
    ICount: 7
    IfCount: 9
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - incoming_msg
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 444
    functionName: jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.handle_incoming_message
    functionSourceFile: jupyter_server.services.kernels.connection.channels
    functionUses: 0
    functionsReached:
    - jupyter_client.jsonutil._ensure_tzinfo
    - traitlets.config.LoggingConfigurable.log.warning
    - traitlets.Instance.send
    - jupyter_client.jsonutil.parse_date
    - dateutil.parser.parse.items
    - msg.pop
    - jupyter_client.jsonutil.extract_dates
    - jupyter_server.services.kernels.connection.base.deserialize_msg_from_ws_v1
    - <builtin>.list
    - struct.unpack
    - <builtin>.range
    - warnings.warn
    - traitlets.config.LoggingConfigurable.log.debug
    - offsets.append
    - dateutil.parser.parse
    - int.from_bytes
    - traitlets.Instance.send_raw
    - <builtin>.isinstance
    - traitlets.Instance.unpack
    - jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.get_part
    - bufs.append
    - json.loads
    - <builtin>.zip
    - ISO8601_PAT.match
    - dateutil.parser.parse.replace
    - jupyter_server.services.kernels.connection.base.deserialize_binary_message
    - dateutil.tz.tzlocal
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - field
    - value
    - msg_list
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 515
    functionName: jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.get_part
    functionSourceFile: jupyter_server.services.kernels.connection.channels
    functionUses: 5
    functionsReached:
    - traitlets.Instance.unpack
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: traitlets.Instance.send_raw
    functionSourceFile: traitlets
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: traitlets.Instance.feed_identities
    functionSourceFile: traitlets
    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: traitlets.Instance.deserialize
    functionSourceFile: traitlets
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 1
    IfCount: 4
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - channel
    - msg
    - msg_list
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 792
    functionName: jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection._on_error
    functionSourceFile: jupyter_server.services.kernels.connection.channels
    functionUses: 2
    functionsReached:
    - traitlets.Instance.unpack
    - jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.get_part
    - traitlets.Instance.pack
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 14
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 21
    ICount: 7
    IfCount: 14
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - channel
    - msg
    - msg_list
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 651
    functionName: jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection._limit_rate
    functionSourceFile: jupyter_server.services.kernels.connection.channels
    functionUses: 2
    functionsReached:
    - tornado.ioloop.IOLoop.current
    - traitlets.Instance.unpack
    - jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.get_part
    - traitlets.config.LoggingConfigurable.log.warning
    - jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.write_stderr
    - json.dumps
    - textwrap.dedent
    - jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.write_message
    - jupyter_server.services.kernels.connection.base.serialize_msg_to_ws_v1
    - <builtin>.sum
    - offset.to_bytes
    - <builtin>.float
    - channel.encode
    - offsets.append
    - <builtin>.len
    - traitlets.Instance.pack
    - traitlets.Instance.msg
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    IfCount: 2
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - stream
    - msg_list
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 551
    functionName: jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection._on_zmq_reply
    functionSourceFile: jupyter_server.services.kernels.connection.channels
    functionUses: 2
    functionsReached:
    - jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.disconnect
    - traitlets.config.LoggingConfigurable.log.warning
    - jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.write_message
    - msg.copy
    - traitlets.Instance.deserialize
    - stream.close
    - jupyter_server.services.kernels.connection.base.serialize_binary_message
    - <builtin>.len
    - msg.pop
    - traitlets.Instance.pack
    - traitlets.Instance.feed_identities
    - traitlets.config.LoggingConfigurable._open_sessions.pop
    - stream.closed
    - buffers.insert
    - traitlets.Dict.items
    - <builtin>.list
    - traitlets.Instance.set_result
    - traitlets.config.LoggingConfigurable.log.debug
    - offsets.append
    - <builtin>.getattr
    - <builtin>.str
    - struct.pack
    - json.dumps
    - traitlets.config.LoggingConfigurable._open_sessions.get
    - jupyter_server.services.kernels.connection.base.serialize_msg_to_ws_v1
    - offset.to_bytes
    - <builtin>.isinstance
    - traitlets.config.LoggingConfigurable.log.critical
    - stream.on_recv
    - channel.encode
    - traitlets.config.LoggingConfigurable._open_sockets.remove
    - jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection._reserialize_reply
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: traitlets.Instance.unpack
    functionSourceFile: traitlets
    functionUses: 6
    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 0x7fc4ab61a340>
    argNames:
    - self
    - msg_or_list
    - channel
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 526
    functionName: jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection._reserialize_reply
    functionSourceFile: jupyter_server.services.kernels.connection.channels
    functionUses: 3
    functionsReached:
    - buffers.insert
    - json.dumps
    - <builtin>.list
    - struct.pack
    - msg.copy
    - traitlets.Instance.deserialize
    - <builtin>.isinstance
    - jupyter_server.services.kernels.connection.base.serialize_binary_message
    - <builtin>.len
    - msg.pop
    - offsets.append
    - traitlets.Instance.feed_identities
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: traitlets.Any.on_recv
    functionSourceFile: traitlets
    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: jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.request_kernel_info.<lambda1>
    functionSourceFile: jupyter_server.services.kernels.connection.channels
    functionUses: 0
    functionsReached:
    - protocol_version.split
    - info.get
    - f.result
    - jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection._finish_kernel_info
    - traitlets.Instance.done
    - <builtin>.int
    - traitlets.Instance.set_result
    - traitlets.config.LoggingConfigurable.log.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: 0
    functionLinenumber: -1
    functionName: f.result
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - info
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 621
    functionName: jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection._finish_kernel_info
    functionSourceFile: jupyter_server.services.kernels.connection.channels
    functionUses: 2
    functionsReached:
    - protocol_version.split
    - info.get
    - traitlets.Instance.done
    - <builtin>.int
    - traitlets.Instance.set_result
    - traitlets.config.LoggingConfigurable.log.info
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - msg
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 596
    functionName: jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection._handle_kernel_info_reply
    functionSourceFile: jupyter_server.services.kernels.connection.channels
    functionUses: 0
    functionsReached:
    - protocol_version.split
    - info.get
    - traitlets.config.LoggingConfigurable.log.error
    - jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection._finish_kernel_info
    - traitlets.Instance.done
    - traitlets.Any.close
    - <builtin>.int
    - traitlets.Instance.set_result
    - traitlets.Instance.deserialize
    - traitlets.config.LoggingConfigurable.log.debug
    - traitlets.config.LoggingConfigurable.log.info
    - traitlets.Instance.feed_identities
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: traitlets.Any.close
    functionSourceFile: traitlets
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: protocol_version.split
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 4
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - error_message
    - parent_header
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 636
    functionName: jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.write_stderr
    functionSourceFile: jupyter_server.services.kernels.connection.channels
    functionUses: 3
    functionsReached:
    - traitlets.config.LoggingConfigurable.log.warning
    - json.dumps
    - jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.write_message
    - jupyter_server.services.kernels.connection.base.serialize_msg_to_ws_v1
    - offset.to_bytes
    - channel.encode
    - offsets.append
    - <builtin>.len
    - traitlets.Instance.pack
    - traitlets.Instance.msg
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: 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: textwrap.dedent
    functionSourceFile: textwrap
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - status
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 766
    functionName: jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection._send_status_message
    functionSourceFile: jupyter_server.services.kernels.connection.channels
    functionUses: 2
    functionsReached:
    - iopub.flush
    - traitlets.Dict.get
    - iopub.closed
    - json.dumps
    - jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.write_message
    - jupyter_server.services.kernels.connection.base.serialize_msg_to_ws_v1
    - offset.to_bytes
    - channel.encode
    - offsets.append
    - <builtin>.len
    - traitlets.Instance.pack
    - traitlets.Instance.msg
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: iopub.closed
    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: iopub.flush
    functionSourceFile: <builtin>
    functionUses: 3
    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: 3
    functionLinenumber: 782
    functionName: jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.on_kernel_restarted
    functionSourceFile: jupyter_server.services.kernels.connection.channels
    functionUses: 0
    functionsReached:
    - iopub.flush
    - traitlets.Dict.get
    - iopub.closed
    - traitlets.config.LoggingConfigurable.log.warning
    - json.dumps
    - jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.write_message
    - jupyter_server.services.kernels.connection.base.serialize_msg_to_ws_v1
    - offset.to_bytes
    - jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection._send_status_message
    - channel.encode
    - offsets.append
    - <builtin>.len
    - traitlets.Instance.pack
    - traitlets.Instance.msg
    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: 3
    functionLinenumber: 787
    functionName: jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.on_restart_failed
    functionSourceFile: jupyter_server.services.kernels.connection.channels
    functionUses: 0
    functionsReached:
    - iopub.flush
    - traitlets.Dict.get
    - iopub.closed
    - json.dumps
    - traitlets.config.LoggingConfigurable.log.error
    - jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.write_message
    - jupyter_server.services.kernels.connection.base.serialize_msg_to_ws_v1
    - offset.to_bytes
    - jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection._send_status_message
    - channel.encode
    - offsets.append
    - <builtin>.len
    - traitlets.Instance.pack
    - traitlets.Instance.msg
    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: jupyter_server.services.kernels.websocket
    functionSourceFile: jupyter_server.services.kernels.websocket
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 21
    functionName: jupyter_server.services.kernels.websocket.KernelWebsocketHandler.kernel_websocket_connection_class
    functionSourceFile: jupyter_server.services.kernels.websocket
    functionUses: 2
    functionsReached:
    - tornado.web.RequestHandler.settings.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: 0
    functionLinenumber: 25
    functionName: jupyter_server.services.kernels.websocket.KernelWebsocketHandler.set_default_headers
    functionSourceFile: jupyter_server.services.kernels.websocket
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 31
    functionName: jupyter_server.services.kernels.websocket.KernelWebsocketHandler.get_compression_options
    functionSourceFile: jupyter_server.services.kernels.websocket
    functionUses: 0
    functionsReached:
    - tornado.web.RequestHandler.settings.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 4
    IfCount: 4
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 35
    functionName: jupyter_server.services.kernels.websocket.KernelWebsocketHandler.pre_get
    functionSourceFile: jupyter_server.services.kernels.websocket
    functionUses: 1
    functionsReached:
    - jupyter_server.services.kernels.websocket.KernelWebsocketHandler.kernel_websocket_connection_class
    - jupyter_core.utils.ensure_async
    - tornado.web.RequestHandler.get_argument
    - <builtin>.hasattr
    - tornado.web.RequestHandler.settings.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 3
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - kernel_id
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 64
    functionName: jupyter_server.services.kernels.websocket.KernelWebsocketHandler.get
    functionSourceFile: jupyter_server.services.kernels.websocket
    functionUses: 0
    functionsReached:
    - jupyter_server.services.kernels.websocket.KernelWebsocketHandler.kernel_websocket_connection_class
    - <builtin>.super
    - jupyter_core.utils.ensure_async
    - jupyter_server.services.kernels.websocket.KernelWebsocketHandler.pre_get
    - tornado.web.RequestHandler.get_argument
    - <builtin>.hasattr
    - tornado.web.RequestHandler.settings.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 4
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - kernel_id
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 70
    functionName: jupyter_server.services.kernels.websocket.KernelWebsocketHandler.open
    functionSourceFile: jupyter_server.services.kernels.websocket
    functionUses: 0
    functionsReached:
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - ws_message
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 79
    functionName: jupyter_server.services.kernels.websocket.KernelWebsocketHandler.on_message
    functionSourceFile: jupyter_server.services.kernels.websocket
    functionUses: 0
    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: 83
    functionName: jupyter_server.services.kernels.websocket.KernelWebsocketHandler.on_close
    functionSourceFile: jupyter_server.services.kernels.websocket
    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
    - subprotocols
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 88
    functionName: jupyter_server.services.kernels.websocket.KernelWebsocketHandler.select_subprotocol
    functionSourceFile: jupyter_server.services.kernels.websocket
    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: -1
    functionName: jupyter_server.pytest_plugin
    functionSourceFile: jupyter_server.pytest_plugin
    functionUses: 0
    functionsReached:
    - pytest.fixture
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: pytest.fixture
    functionSourceFile: pytest
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 4
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - jp_data_dir
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 22
    functionName: jupyter_server.pytest_plugin.jp_kernelspecs
    functionSourceFile: jupyter_server.pytest_plugin
    functionUses: 0
    functionsReached:
    - sample_kernel_dir.joinpath
    - jp_data_dir.joinpath
    - json.dumps
    - sample_kernel_file.write_text
    - sample_kernel_dir.mkdir
    - sample_kernel_json.copy
    - sample_kernel_resources.write_text
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: jp_data_dir.joinpath
    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: sample_kernel_dir.mkdir
    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: sample_kernel_dir.joinpath
    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: sample_kernel_json.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: sample_kernel_file.write_text
    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: sample_kernel_resources.write_text
    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:
    - request
    - tmp_path
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 40
    functionName: jupyter_server.pytest_plugin.jp_contents_manager
    functionSourceFile: jupyter_server.pytest_plugin
    functionUses: 0
    functionsReached:
    - traitlets.config.Configurable.__init__
    - traitlets.config.configurable.LoggingConfigurable.__init__
    - <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: traitlets.config.Configurable.__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: traitlets.config.configurable.LoggingConfigurable.__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:
    - tmp_path
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 46
    functionName: jupyter_server.pytest_plugin.jp_large_contents_manager
    functionSourceFile: jupyter_server.pytest_plugin
    functionUses: 0
    functionsReached:
    - traitlets.config.Configurable.__init__
    - <builtin>.str
    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: jupyter_server.nbconvert.handlers
    functionSourceFile: jupyter_server.nbconvert.handlers
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - output_files_dir
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 29
    functionName: jupyter_server.nbconvert.handlers.find_resource_files
    functionSourceFile: jupyter_server.nbconvert.handlers
    functionUses: 0
    functionsReached:
    - files.extend
    - os.path.join
    - os.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: os.walk
    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: files.extend
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 8
    IfCount: 1
    argCount: 4
    argDefaultValues: []
    argNames:
    - handler
    - name
    - output
    - resources
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 37
    functionName: jupyter_server.nbconvert.handlers.respond_zip
    functionSourceFile: jupyter_server.nbconvert.handlers
    functionUses: 3
    functionsReached:
    - output.encode
    - zipf.close
    - os.path.splitext
    - resources.get
    - io.BytesIO
    - urllib.parse.quote
    - os.path.basename
    - zipf.writestr
    - zipfile.ZipFile
    - jupyter_server.base.handlers.JupyterHandler.set_attachment_header
    - tornado.web.RequestHandler.set_header
    - buffer.getvalue
    - output_files.items
    - jupyter_server.utils.url_escape
    - path.split
    - tornado.web.RequestHandler.finish
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: resources.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
    functionSourceFile: io
    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: zipfile.ZipFile
    functionSourceFile: zipfile
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: output.encode
    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: zipf.writestr
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: output_files.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: zipf.close
    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: buffer.getvalue
    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: tornado.web.RequestHandler.finish
    functionSourceFile: tornado
    functionUses: 7
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - format
    - kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 67
    functionName: jupyter_server.nbconvert.handlers.get_exporter
    functionSourceFile: jupyter_server.nbconvert.handlers
    functionUses: 3
    functionsReached:
    - tornado.log.app_log.exception
    - nbconvert.exporters.base.get_exporter
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: nbconvert.exporters.base.get_exporter
    functionSourceFile: nbconvert
    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: tornado.log.app_log.exception
    functionSourceFile: tornado
    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: 3
    functionLinenumber: -1
    functionName: jupyter_server.nbconvert.handlers.NbconvertFileHandler
    functionSourceFile: jupyter_server.nbconvert.handlers
    functionUses: 0
    functionsReached:
    - typing.cast
    - functools.wraps
    - <builtin>.callable
    - jupyter_server.auth.decorator.authorized.wrapper
    - tornado.web.authenticated
    - jupyter_server.auth.decorator.authorized
    linkageType: 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: jupyter_server.nbconvert.handlers.NbconvertFileHandler.get.<lambda1>
    functionSourceFile: jupyter_server.nbconvert.handlers
    functionUses: 0
    functionsReached:
    - exporter.from_notebook_node
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: exporter.from_notebook_node
    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: 3
    functionLinenumber: -1
    functionName: jupyter_server.nbconvert.handlers.NbconvertPostHandler
    functionSourceFile: jupyter_server.nbconvert.handlers
    functionUses: 0
    functionsReached:
    - typing.cast
    - functools.wraps
    - <builtin>.callable
    - jupyter_server.auth.decorator.authorized.wrapper
    - tornado.web.authenticated
    - jupyter_server.auth.decorator.authorized
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.get
    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: 1
    functionLinenumber: -1
    functionName: jupyter_server.nbconvert.handlers.NbconvertPostHandler.post.<lambda1>
    functionSourceFile: jupyter_server.nbconvert.handlers
    functionUses: 0
    functionsReached:
    - exporter.from_notebook_node
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: jupyter_server.nbconvert
    functionSourceFile: jupyter_server.nbconvert
    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: jupyter_server.extension.application
    functionSourceFile: jupyter_server.extension.application
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 2
    IfCount: 3
    argCount: 2
    argDefaultValues: []
    argNames:
    - application_klass
    - argv
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 27
    functionName: jupyter_server.extension.application._preparse_for_subcommand
    functionSourceFile: jupyter_server.extension.application
    functionUses: 1
    functionsReached:
    - <builtin>.len
    - re.match
    - jupyter_core.application.JupyterApp.__init__
    - app.initialize_subcommand
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: jupyter_core.application.JupyterApp.__init__
    functionSourceFile: ''
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: app.initialize_subcommand
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 7
    IfCount: 3
    argCount: 2
    argDefaultValues: []
    argNames:
    - application_klass
    - argv
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 44
    functionName: jupyter_server.extension.application._preparse_for_stopping_flags
    functionSourceFile: jupyter_server.extension.application
    functionUses: 1
    functionsReached:
    - <builtin>.any
    - argv.index
    - jupyter_core.application.JupyterApp.__init__
    - app.write_default_config
    - app.exit
    - app.print_version
    - app.print_help
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: argv.index
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: app.print_help
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: app.exit
    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: app.print_version
    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: app.write_default_config
    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: jupyter_server.extension.application.ExtensionAppJinjaMixin
    functionSourceFile: jupyter_server.extension.application
    functionUses: 0
    functionsReached:
    - traitlets.Dict
    - traitlets.Dict.tag
    - typing.no_type_check
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: traitlets.Dict.tag
    functionSourceFile: traitlets
    functionUses: 2
    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: 1
    functionLinenumber: 92
    functionName: jupyter_server.extension.application.ExtensionAppJinjaMixin._prepare_templates
    functionSourceFile: jupyter_server.extension.application
    functionUses: 0
    functionsReached:
    - traitlets.HasTraits.settings.update
    - traitlets.HasTraits.initialize_templates
    - jinja2.FileSystemLoader
    - <builtin>.len
    - jinja2.Environment
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: traitlets.HasTraits.initialize_templates
    functionSourceFile: traitlets
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: traitlets.HasTraits.settings.update
    functionSourceFile: traitlets
    functionUses: 1
    functionsReached: []
    linkageType: 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: jupyter_server.extension.application.ExtensionApp
    functionSourceFile: jupyter_server.extension.application
    functionUses: 0
    functionsReached:
    - traitlets.List
    - traitlets.Unicode.tag
    - traitlets.Bool.tag
    - traitlets.Unicode
    - traitlets.Dict.tag
    - traitlets.default
    - traitlets.Bool
    - traitlets.List.tag
    - traitlets.Dict
    - traitlets.Any
    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: 162
    functionName: jupyter_server.extension.application.ExtensionApp._default_open_browser
    functionSourceFile: jupyter_server.extension.application
    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: 167
    functionName: jupyter_server.extension.application.ExtensionApp.config_file_paths
    functionSourceFile: jupyter_server.extension.application
    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: 2
    functionLinenumber: 180
    functionName: jupyter_server.extension.application.ExtensionApp.get_extension_package
    functionSourceFile: jupyter_server.extension.application
    functionUses: 2
    functionsReached:
    - jupyter_server.utils.is_namespace_package
    - <builtin>.isinstance
    - importlib.util.find_spec
    - jupyter_core.application.JupyterApp.__module__.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: jupyter_core.application.JupyterApp.__module__.split
    functionSourceFile: jupyter_core
    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:
    - cls
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 189
    functionName: jupyter_server.extension.application.ExtensionApp.get_extension_point
    functionSourceFile: jupyter_server.extension.application
    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: 199
    functionName: jupyter_server.extension.application.ExtensionApp._default_url
    functionSourceFile: jupyter_server.extension.application
    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: 216
    functionName: jupyter_server.extension.application.ExtensionApp._default_serverapp
    functionSourceFile: jupyter_server.extension.application
    functionUses: 0
    functionsReached:
    - jupyter_core.application.JupyterApp.initialized
    - jupyter_core.application.JupyterApp.__init__
    - jupyter_core.application.JupyterApp.instance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: jupyter_core.application.JupyterApp.initialized
    functionSourceFile: jupyter_core
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: jupyter_core.application.JupyterApp.instance
    functionSourceFile: jupyter_core
    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: 232
    functionName: jupyter_server.extension.application.ExtensionApp._default_log_level
    functionSourceFile: jupyter_server.extension.application
    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: 236
    functionName: jupyter_server.extension.application.ExtensionApp._default_log_format
    functionSourceFile: jupyter_server.extension.application
    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: 247
    functionName: jupyter_server.extension.application.ExtensionApp._default_static_url_prefix
    functionSourceFile: jupyter_server.extension.application
    functionUses: 0
    functionsReached:
    - s.strip
    - jupyter_server.utils.url_path_join
    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: 276
    functionName: jupyter_server.extension.application.ExtensionApp._config_file_name_default
    functionSourceFile: jupyter_server.extension.application
    functionUses: 0
    functionsReached:
    - jupyter_core.application.JupyterApp.name.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: jupyter_core.application.JupyterApp.name.replace
    functionSourceFile: jupyter_core
    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: 282
    functionName: jupyter_server.extension.application.ExtensionApp.initialize_settings
    functionSourceFile: jupyter_server.extension.application
    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: 285
    functionName: jupyter_server.extension.application.ExtensionApp.initialize_handlers
    functionSourceFile: jupyter_server.extension.application
    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: 288
    functionName: jupyter_server.extension.application.ExtensionApp.initialize_templates
    functionSourceFile: jupyter_server.extension.application
    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: 291
    functionName: jupyter_server.extension.application.ExtensionApp._prepare_config
    functionSourceFile: jupyter_server.extension.application
    functionUses: 1
    functionsReached:
    - traitlets.config.Config
    - <builtin>.getattr
    - jupyter_core.application.JupyterApp.class_own_traits
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: jupyter_core.application.JupyterApp.class_own_traits
    functionSourceFile: jupyter_core
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 5
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 299
    functionName: jupyter_server.extension.application.ExtensionApp._prepare_settings
    functionSourceFile: jupyter_server.extension.application
    functionUses: 1
    functionsReached:
    - jupyter_server.extension.application.ExtensionApp.initialize_settings
    - webapp.settings.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: webapp.settings.update
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 320
    functionName: jupyter_server.extension.application.ExtensionApp._prepare_handlers
    functionSourceFile: jupyter_server.extension.application
    functionUses: 1
    functionsReached:
    - new_handlers.append
    - jupyter_server.extension.application.ExtensionApp.initialize_handlers
    - <builtin>.issubclass
    - webapp.add_handlers
    - kwargs.update
    - <builtin>.len
    - s.strip
    - jupyter_server.utils.url_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: webapp.add_handlers
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 363
    functionName: jupyter_server.extension.application.ExtensionApp._prepare_templates
    functionSourceFile: jupyter_server.extension.application
    functionUses: 1
    functionsReached:
    - <builtin>.len
    - jupyter_server.extension.application.ExtensionApp.initialize_templates
    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: 369
    functionName: jupyter_server.extension.application.ExtensionApp._jupyter_server_config
    functionSourceFile: jupyter_server.extension.application
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 5
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - serverapp
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 381
    functionName: jupyter_server.extension.application.ExtensionApp._link_jupyter_server_extension
    functionSourceFile: jupyter_server.extension.application
    functionUses: 0
    functionsReached:
    - jupyter_core.application.JupyterApp.load_config_file
    - jupyter_core.application.JupyterApp.update_config
    - jupyter_core.application.JupyterApp.parse_command_line
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: jupyter_core.application.JupyterApp.load_config_file
    functionSourceFile: jupyter_core
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: jupyter_core.application.JupyterApp.parse_command_line
    functionSourceFile: jupyter_core
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 5
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 415
    functionName: jupyter_server.extension.application.ExtensionApp.initialize
    functionSourceFile: jupyter_server.extension.application
    functionUses: 0
    functionsReached:
    - jupyter_server.extension.application.ExtensionApp._prepare_config
    - jupyter_server.extension.application.ExtensionApp._prepare_templates
    - jupyter_server.extension.application.ExtensionApp._prepare_handlers
    - <builtin>.len
    - traitlets.config.Config
    - jupyter_server.extension.application.ExtensionApp.initialize_handlers
    - <builtin>.issubclass
    - kwargs.update
    - webapp.settings.update
    - jupyter_server.extension.application.ExtensionApp.initialize_settings
    - webapp.add_handlers
    - jupyter_server.utils.url_path_join
    - s.strip
    - new_handlers.append
    - <builtin>.getattr
    - jupyter_server.extension.application.ExtensionApp._prepare_settings
    - jupyter_core.application.JupyterApp.class_own_traits
    - jupyter_server.extension.application.ExtensionApp.initialize_templates
    linkageType: pythonLinkage
    raised:
    - JupyterServerExtensionException
    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: 438
    functionName: jupyter_server.extension.application.ExtensionApp.start
    functionSourceFile: jupyter_server.extension.application
    functionUses: 0
    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: 0
    functionLinenumber: 448
    functionName: jupyter_server.extension.application.ExtensionApp.current_activity
    functionSourceFile: jupyter_server.extension.application
    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: 452
    functionName: jupyter_server.extension.application.ExtensionApp.stop_extension
    functionSourceFile: jupyter_server.extension.application
    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: 0
    functionLinenumber: 455
    functionName: jupyter_server.extension.application.ExtensionApp.stop
    functionSourceFile: jupyter_server.extension.application
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 3
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - cls
    - serverapp
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 462
    functionName: jupyter_server.extension.application.ExtensionApp._load_jupyter_server_extension
    functionSourceFile: jupyter_server.extension.application
    functionUses: 0
    functionsReached:
    - extension._link_jupyter_server_extension
    - extension.initialize
    - jupyter_core.application.JupyterApp.__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: extension._link_jupyter_server_extension
    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: extension.initialize
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 6
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - cls
    - serverapp
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 478
    functionName: jupyter_server.extension.application.ExtensionApp.load_classic_server_extension
    functionSourceFile: jupyter_server.extension.application
    functionUses: 0
    functionsReached:
    - extension.handlers.extend
    - extension.load_config_file
    - extension.initialize
    - extension.update_config
    - extension.parse_command_line
    - jupyter_core.application.JupyterApp.__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: extension.load_config_file
    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: extension.update_config
    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: extension.parse_command_line
    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: extension.handlers.extend
    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:
    - cls
    - kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 561
    functionName: jupyter_server.extension.application.ExtensionApp.make_serverapp
    functionSourceFile: jupyter_server.extension.application
    functionUses: 2
    functionsReached:
    - jupyter_core.application.JupyterApp.instance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 4
    IfCount: 1
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7fc4ad7d87f0>
    - <ast.Constant object at 0x7fc4ad7d87c0>
    argNames:
    - cls
    - argv
    - load_other_extensions
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 569
    functionName: jupyter_server.extension.application.ExtensionApp.initialize_server
    functionSourceFile: jupyter_server.extension.application
    functionUses: 1
    functionsReached:
    - serverapp.aliases.update
    - serverapp.initialize
    - importlib.util.find_spec
    - jpserver_extensions.update
    - jupyter_server.utils.is_namespace_package
    - jupyter_server.extension.application.ExtensionApp.make_serverapp
    - <builtin>.isinstance
    - jupyter_server.extension.application.ExtensionApp.get_extension_package
    - jupyter_core.application.JupyterApp.instance
    - jupyter_core.application.JupyterApp.__module__.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: jpserver_extensions.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: serverapp.aliases.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: serverapp.initialize
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 5
    IfCount: 3
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7fc4ad7b58e0>
    argNames:
    - cls
    - argv
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 593
    functionName: jupyter_server.extension.application.ExtensionApp.launch_instance
    functionSourceFile: jupyter_server.extension.application
    functionUses: 0
    functionsReached:
    - <builtin>.any
    - re.match
    - serverapp.aliases.update
    - app.initialize_subcommand
    - jupyter_server.extension.application._preparse_for_subcommand
    - jupyter_server.extension.application.ExtensionApp.make_serverapp
    - jupyter_core.application.JupyterApp.__init__
    - serverapp.start
    - app.write_default_config
    - <builtin>.len
    - jupyter_server.extension.application.ExtensionApp.get_extension_package
    - jupyter_core.application.JupyterApp.instance
    - jupyter_server.extension.application._preparse_for_stopping_flags
    - subapp.start
    - jupyter_server.extension.application.ExtensionApp.initialize_server
    - app.exit
    - jupyter_core.application.JupyterApp.__module__.split
    - serverapp.initialize
    - jpserver_extensions.update
    - argv.index
    - <builtin>.isinstance
    - importlib.util.find_spec
    - jupyter_server.utils.is_namespace_package
    - app.print_version
    - serverapp.log.info
    - app.print_help
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: subapp.start
    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: serverapp.log.info
    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: serverapp.start
    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: jupyter_server.extension.handler
    functionSourceFile: jupyter_server.extension.handler
    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: 1
    functionLinenumber: 23
    functionName: jupyter_server.extension.handler.ExtensionHandlerJinjaMixin.get_template
    functionSourceFile: jupyter_server.extension.handler
    functionUses: 0
    functionsReached:
    - <builtin>.super
    - typing.cast
    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: 45
    functionName: jupyter_server.extension.handler.ExtensionHandlerMixin.initialize
    functionSourceFile: jupyter_server.extension.handler
    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: 53
    functionName: jupyter_server.extension.handler.ExtensionHandlerMixin.extensionapp
    functionSourceFile: jupyter_server.extension.handler
    functionUses: 0
    functionsReached:
    - typing.cast
    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: 57
    functionName: jupyter_server.extension.handler.ExtensionHandlerMixin.serverapp
    functionSourceFile: jupyter_server.extension.handler
    functionUses: 0
    functionsReached:
    - typing.cast
    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: 62
    functionName: jupyter_server.extension.handler.ExtensionHandlerMixin.log
    functionSourceFile: jupyter_server.extension.handler
    functionUses: 0
    functionsReached:
    - <builtin>.super
    - <builtin>.hasattr
    - typing.cast
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 72
    functionName: jupyter_server.extension.handler.ExtensionHandlerMixin.config
    functionSourceFile: jupyter_server.extension.handler
    functionUses: 0
    functionsReached:
    - typing.cast
    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: 76
    functionName: jupyter_server.extension.handler.ExtensionHandlerMixin.server_config
    functionSourceFile: jupyter_server.extension.handler
    functionUses: 0
    functionsReached:
    - typing.cast
    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: 80
    functionName: jupyter_server.extension.handler.ExtensionHandlerMixin.base_url
    functionSourceFile: jupyter_server.extension.handler
    functionUses: 0
    functionsReached:
    - typing.cast
    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: 84
    functionName: jupyter_server.extension.handler.ExtensionHandlerMixin.static_url_prefix
    functionSourceFile: jupyter_server.extension.handler
    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: 88
    functionName: jupyter_server.extension.handler.ExtensionHandlerMixin.static_path
    functionSourceFile: jupyter_server.extension.handler
    functionUses: 0
    functionsReached:
    - typing.cast
    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 0x7fc4aba165b0>
    argNames:
    - self
    - path
    - include_host
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 91
    functionName: jupyter_server.extension.handler.ExtensionHandlerMixin.static_url
    functionSourceFile: jupyter_server.extension.handler
    functionUses: 0
    functionsReached:
    - <builtin>.getattr
    - typing.cast
    linkageType: pythonLinkage
    raised:
    - Exception
    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: jupyter_server.terminal.handlers
    functionSourceFile: jupyter_server.terminal.handlers
    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: jupyter_server.terminal.api_handlers
    functionSourceFile: jupyter_server.terminal.api_handlers
    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: jupyter_server.terminal.terminalmanager
    functionSourceFile: jupyter_server.terminal.terminalmanager
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: jupyter_server.terminal
    functionSourceFile: jupyter_server.terminal
    functionUses: 0
    functionsReached:
    - warnings.warn
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - webapp
    - root_dir
    - connection_url
    - settings
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 16
    functionName: jupyter_server.terminal.initialize
    functionSourceFile: jupyter_server.terminal
    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: jupyter_server.view.handlers
    functionSourceFile: jupyter_server.view.handlers
    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: 3
    functionLinenumber: -1
    functionName: jupyter_server.view.handlers.ViewHandler
    functionSourceFile: jupyter_server.view.handlers
    functionUses: 0
    functionsReached:
    - typing.cast
    - functools.wraps
    - <builtin>.callable
    - jupyter_server.auth.decorator.authorized.wrapper
    - tornado.web.authenticated
    - jupyter_server.auth.decorator.authorized
    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: jupyter_server.view
    functionSourceFile: jupyter_server.view
    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: 2
    functionLinenumber: -1
    functionName: jupyter_server.auth.__main__
    functionSourceFile: jupyter_server.auth.__main__
    functionUses: 0
    functionsReached:
    - argparse.ArgumentParser
    - parser.add_subparsers
    - parser_password.set_defaults
    - subparsers.add_parser
    - parser_password.add_argument
    - args.function
    - parser.parse_args
    - jupyter_server.auth.__main__.main
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 5
    IfCount: 3
    argCount: 1
    argDefaultValues: []
    argNames:
    - args
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 14
    functionName: jupyter_server.auth.__main__.set_password
    functionSourceFile: jupyter_server.auth.__main__
    functionUses: 0
    functionsReached:
    - json.load
    - jupyter_core.paths.jupyter_config_dir
    - <builtin>.sorted
    - getpass.getpass.encode
    - new.items
    - traitlets.log.get_logger.info
    - <builtin>.len
    - jupyter_server.config_manager.BaseJSONConfigManager.ensure_config_dir_exists
    - hashlib.new
    - traitlets.log.get_logger
    - jupyter_server.auth.security.passwd
    - jupyter_server.config_manager.BaseJSONConfigManager.update
    - jupyter_server.config_manager.BaseJSONConfigManager.set
    - h.hexdigest
    - ph.hash
    - <builtin>.list
    - jupyter_server.config_manager.BaseJSONConfigManager.get
    - copy.deepcopy
    - random.getrandbits
    - <builtin>.range
    - warnings.warn
    - traitlets.config.LoggingConfigurable.log.debug
    - jupyter_server.config_manager.remove_defaults
    - data.items
    - <builtin>.open
    - glob.glob
    - <builtin>.str
    - jupyter_server.config_manager.BaseJSONConfigManager.file_name
    - f.write
    - os.path.join
    - json.dumps
    - argon2.PasswordHasher
    - <builtin>.isinstance
    - target.pop
    - getpass.getpass
    - os.makedirs
    - h.update
    - salt.encode
    - os.path.isfile
    - traitlets.config.LoggingConfigurable.__init__
    - jupyter_server.config_manager.BaseJSONConfigManager.directory
    - jupyter_server.config_manager.recursive_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: traitlets.log.get_logger.info
    functionSourceFile: traitlets
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 5
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - argv
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 43
    functionName: jupyter_server.auth.__main__.main
    functionSourceFile: jupyter_server.auth.__main__
    functionUses: 1
    functionsReached:
    - argparse.ArgumentParser
    - parser.add_subparsers
    - parser_password.set_defaults
    - subparsers.add_parser
    - parser_password.add_argument
    - args.function
    - parser.parse_args
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: argparse.ArgumentParser
    functionSourceFile: argparse
    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: parser.add_subparsers
    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: subparsers.add_parser
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: parser_password.add_argument
    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: parser_password.set_defaults
    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: parser.parse_args
    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: args.function
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: jupyter_server.services.shutdown
    functionSourceFile: jupyter_server.services.shutdown
    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: 3
    functionLinenumber: -1
    functionName: jupyter_server.services.shutdown.ShutdownHandler
    functionSourceFile: jupyter_server.services.shutdown
    functionUses: 0
    functionsReached:
    - typing.cast
    - functools.wraps
    - <builtin>.callable
    - jupyter_server.auth.decorator.authorized.wrapper
    - tornado.web.authenticated
    - jupyter_server.auth.decorator.authorized
    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: jupyter_server.services.nbconvert.handlers
    functionSourceFile: jupyter_server.services.nbconvert.handlers
    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
    - kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 21
    functionName: jupyter_server.services.nbconvert.handlers.NbconvertRootHandler.initialize
    functionSourceFile: jupyter_server.services.nbconvert.handlers
    functionUses: 0
    functionsReached:
    - <builtin>.super
    - <builtin>.hasattr
    - asyncio.Lock
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: asyncio.Lock
    functionSourceFile: asyncio
    functionUses: 1
    functionsReached: []
    linkageType: 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: jupyter_server.services.nbconvert.handlers.NbconvertRootHandler
    functionSourceFile: jupyter_server.services.nbconvert.handlers
    functionUses: 0
    functionsReached:
    - typing.cast
    - functools.wraps
    - <builtin>.callable
    - jupyter_server.auth.decorator.authorized.wrapper
    - tornado.web.authenticated
    - jupyter_server.auth.decorator.authorized
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: jupyter_server.services.nbconvert
    functionSourceFile: jupyter_server.services.nbconvert
    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: jupyter_server.services.config.handlers
    functionSourceFile: jupyter_server.services.config.handlers
    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: 3
    functionLinenumber: -1
    functionName: jupyter_server.services.config.handlers.ConfigHandler
    functionSourceFile: jupyter_server.services.config.handlers
    functionUses: 0
    functionsReached:
    - typing.cast
    - functools.wraps
    - <builtin>.callable
    - jupyter_server.auth.decorator.authorized.wrapper
    - tornado.web.authenticated
    - jupyter_server.auth.decorator.authorized
    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: jupyter_server.services.kernels.handlers
    functionSourceFile: jupyter_server.services.kernels.handlers
    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: 3
    functionLinenumber: -1
    functionName: jupyter_server.services.kernels.handlers.MainKernelHandler
    functionSourceFile: jupyter_server.services.kernels.handlers
    functionUses: 0
    functionsReached:
    - typing.cast
    - functools.wraps
    - <builtin>.callable
    - jupyter_server.auth.decorator.authorized.wrapper
    - tornado.web.authenticated
    - jupyter_server.auth.decorator.authorized
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.setdefault
    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: 3
    functionLinenumber: -1
    functionName: jupyter_server.services.kernels.handlers.KernelHandler
    functionSourceFile: jupyter_server.services.kernels.handlers
    functionUses: 0
    functionsReached:
    - typing.cast
    - functools.wraps
    - <builtin>.callable
    - jupyter_server.auth.decorator.authorized.wrapper
    - tornado.web.authenticated
    - jupyter_server.auth.decorator.authorized
    linkageType: 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: jupyter_server.services.kernels.handlers.KernelActionHandler
    functionSourceFile: jupyter_server.services.kernels.handlers
    functionUses: 0
    functionsReached:
    - typing.cast
    - functools.wraps
    - <builtin>.callable
    - jupyter_server.auth.decorator.authorized.wrapper
    - tornado.web.authenticated
    - jupyter_server.auth.decorator.authorized
    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: jupyter_server.services.events.handlers
    functionSourceFile: jupyter_server.services.events.handlers
    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: 31
    functionName: jupyter_server.services.events.handlers.SubscribeWebsocket.pre_get
    functionSourceFile: jupyter_server.services.events.handlers
    functionUses: 1
    functionsReached:
    - jupyter_core.utils.ensure_async
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 49
    functionName: jupyter_server.services.events.handlers.SubscribeWebsocket.get
    functionSourceFile: jupyter_server.services.events.handlers
    functionUses: 0
    functionsReached:
    - jupyter_core.utils.ensure_async
    - jupyter_server.services.events.handlers.SubscribeWebsocket.pre_get
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - logger
    - schema_id
    - data
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 56
    functionName: jupyter_server.services.events.handlers.SubscribeWebsocket.event_listener
    functionSourceFile: jupyter_server.services.events.handlers
    functionUses: 0
    functionsReached:
    - tornado.web.RequestHandler.write_message
    - <builtin>.dict
    - 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: tornado.web.RequestHandler.write_message
    functionSourceFile: tornado
    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: 63
    functionName: jupyter_server.services.events.handlers.SubscribeWebsocket.open
    functionSourceFile: jupyter_server.services.events.handlers
    functionUses: 0
    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: 69
    functionName: jupyter_server.services.events.handlers.SubscribeWebsocket.on_close
    functionSourceFile: jupyter_server.services.events.handlers
    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:
    - data
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 74
    functionName: jupyter_server.services.events.handlers.validate_model
    functionSourceFile: jupyter_server.services.events.handlers
    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:
    - data
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 82
    functionName: jupyter_server.services.events.handlers.get_timestamp
    functionSourceFile: jupyter_server.services.events.handlers
    functionUses: 2
    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: 3
    functionLinenumber: -1
    functionName: jupyter_server.services.events.handlers.EventHandler
    functionSourceFile: jupyter_server.services.events.handlers
    functionUses: 0
    functionsReached:
    - typing.cast
    - functools.wraps
    - <builtin>.callable
    - jupyter_server.auth.decorator.authorized.wrapper
    - tornado.web.authenticated
    - jupyter_server.auth.decorator.authorized
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: jupyter_server.services.events
    functionSourceFile: jupyter_server.services.events
    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: jupyter_server.services.sessions.handlers
    functionSourceFile: jupyter_server.services.sessions.handlers
    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: 3
    functionLinenumber: -1
    functionName: jupyter_server.services.sessions.handlers.SessionRootHandler
    functionSourceFile: jupyter_server.services.sessions.handlers
    functionUses: 0
    functionsReached:
    - typing.cast
    - functools.wraps
    - <builtin>.callable
    - jupyter_server.auth.decorator.authorized.wrapper
    - tornado.web.authenticated
    - jupyter_server.auth.decorator.authorized
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: kernel.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: 3
    functionLinenumber: -1
    functionName: jupyter_server.services.sessions.handlers.SessionHandler
    functionSourceFile: jupyter_server.services.sessions.handlers
    functionUses: 0
    functionsReached:
    - typing.cast
    - functools.wraps
    - <builtin>.callable
    - jupyter_server.auth.decorator.authorized.wrapper
    - tornado.web.authenticated
    - jupyter_server.auth.decorator.authorized
    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: jupyter_server.services.api.handlers
    functionSourceFile: jupyter_server.services.api.handlers
    functionUses: 0
    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: 24
    functionName: jupyter_server.services.api.handlers.APISpecHandler.initialize
    functionSourceFile: jupyter_server.services.api.handlers
    functionUses: 0
    functionsReached:
    - os.path.dirname
    - tornado.web.StaticFileHandler.initialize
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: tornado.web.StaticFileHandler.initialize
    functionSourceFile: tornado
    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: 3
    functionLinenumber: -1
    functionName: jupyter_server.services.api.handlers.APISpecHandler
    functionSourceFile: jupyter_server.services.api.handlers
    functionUses: 0
    functionsReached:
    - typing.cast
    - functools.wraps
    - <builtin>.callable
    - jupyter_server.auth.decorator.authorized.wrapper
    - tornado.web.authenticated
    - jupyter_server.auth.decorator.authorized
    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: 35
    functionName: jupyter_server.services.api.handlers.APISpecHandler.get_content_type
    functionSourceFile: jupyter_server.services.api.handlers
    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: 3
    functionLinenumber: -1
    functionName: jupyter_server.services.api.handlers.APIStatusHandler
    functionSourceFile: jupyter_server.services.api.handlers
    functionUses: 0
    functionsReached:
    - typing.cast
    - functools.wraps
    - <builtin>.callable
    - jupyter_server.auth.decorator.authorized.wrapper
    - tornado.web.authenticated
    - jupyter_server.auth.decorator.authorized
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: tornado.web.RequestHandler.application.last_activity
    functionSourceFile: tornado
    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: jupyter_server.services.api.handlers.IdentityHandler
    functionSourceFile: jupyter_server.services.api.handlers
    functionUses: 0
    functionsReached:
    - tornado.web.authenticated
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 3
    IfCount: 4
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 70
    functionName: jupyter_server.services.api.handlers.IdentityHandler.get
    functionSourceFile: jupyter_server.services.api.handlers
    functionUses: 0
    functionsReached:
    - allowed.append
    - json.dumps
    - json.loads
    - jupyter_core.utils.ensure_async
    - tornado.web.RequestHandler.write
    - tornado.web.RequestHandler.get_argument
    - <builtin>.isinstance
    - permissions_to_check.items
    - <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: permissions_to_check.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: allowed.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: jupyter_server.services.api
    functionSourceFile: jupyter_server.services.api
    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: jupyter_server.services.security.handlers
    functionSourceFile: jupyter_server.services.security.handlers
    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: 20
    functionName: jupyter_server.services.security.handlers.CSPReportHandler.skip_check_origin
    functionSourceFile: jupyter_server.services.security.handlers
    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: 24
    functionName: jupyter_server.services.security.handlers.CSPReportHandler.check_xsrf_cookie
    functionSourceFile: jupyter_server.services.security.handlers
    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: 3
    functionLinenumber: -1
    functionName: jupyter_server.services.security.handlers.CSPReportHandler
    functionSourceFile: jupyter_server.services.security.handlers
    functionUses: 0
    functionsReached:
    - typing.cast
    - functools.wraps
    - <builtin>.callable
    - jupyter_server.auth.decorator.authorized.wrapper
    - tornado.web.authenticated
    - jupyter_server.auth.decorator.authorized
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: tornado.web.RequestHandler.request.body.decode
    functionSourceFile: tornado
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: jupyter_server.services.kernelspecs.handlers
    functionSourceFile: jupyter_server.services.kernelspecs.handlers
    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:
    - handler
    - name
    - spec_dict
    - resource_dir
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 27
    functionName: jupyter_server.services.kernelspecs.handlers.kernelspec_model
    functionSourceFile: jupyter_server.services.kernelspecs.handlers
    functionUses: 3
    functionsReached:
    - os.path.join
    - os.path.splitext
    - os.path.basename
    - os.path.exists
    - s.strip
    - jupyter_server.utils.url_path_join
    - glob.glob
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - spec_dict
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 44
    functionName: jupyter_server.services.kernelspecs.handlers.is_kernelspec_model
    functionSourceFile: jupyter_server.services.kernelspecs.handlers
    functionUses: 3
    functionsReached:
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: -1
    functionName: jupyter_server.services.kernelspecs.handlers.MainKernelSpecHandler
    functionSourceFile: jupyter_server.services.kernelspecs.handlers
    functionUses: 0
    functionsReached:
    - typing.cast
    - functools.wraps
    - <builtin>.callable
    - jupyter_server.auth.decorator.authorized.wrapper
    - tornado.web.authenticated
    - jupyter_server.auth.decorator.authorized
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: kspecs.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: 3
    functionLinenumber: -1
    functionName: jupyter_server.services.kernelspecs.handlers.KernelSpecHandler
    functionSourceFile: jupyter_server.services.kernelspecs.handlers
    functionUses: 0
    functionsReached:
    - typing.cast
    - functools.wraps
    - <builtin>.callable
    - jupyter_server.auth.decorator.authorized.wrapper
    - tornado.web.authenticated
    - jupyter_server.auth.decorator.authorized
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: jupyter_server.services.kernelspecs
    functionSourceFile: jupyter_server.services.kernelspecs
    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: jupyter_server.services.contents.handlers
    functionSourceFile: jupyter_server.services.contents.handlers
    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:
    - expect_defined
    - model
    - keys
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 26
    functionName: jupyter_server.services.contents.handlers._validate_keys
    functionSourceFile: jupyter_server.services.contents.handlers
    functionUses: 10
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 4
    IfCount: 3
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7fc4acac05e0>
    - <ast.Constant object at 0x7fc4acac05b0>
    argNames:
    - model
    - expect_content
    - expect_hash
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 47
    functionName: jupyter_server.services.contents.handlers.validate_model
    functionSourceFile: jupyter_server.services.contents.handlers
    functionUses: 9
    functionsReached:
    - <builtin>.set
    - jupyter_server.services.contents.handlers._validate_keys
    - required_keys.update
    - typing.cast.keys
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: required_keys.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: typing.cast.keys
    functionSourceFile: typing
    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
    - path
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 91
    functionName: jupyter_server.services.contents.handlers.ContentsHandler.location_url
    functionSourceFile: jupyter_server.services.contents.handlers
    functionUses: 10
    functionsReached:
    - urllib.parse.quote
    - jupyter_server.utils.url_escape
    - path.split
    - s.strip
    - jupyter_server.utils.url_path_join
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 5
    IfCount: 1
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7fc4ac095640>
    argNames:
    - self
    - model
    - location
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 101
    functionName: jupyter_server.services.contents.handlers.ContentsHandler._finish_model
    functionSourceFile: jupyter_server.services.contents.handlers
    functionUses: 9
    functionsReached:
    - json.dumps
    - urllib.parse.quote
    - <builtin>.super
    - jupyter_server.base.handlers.APIHandler.update_api_activity
    - jupyter_server.services.contents.handlers.ContentsHandler.location_url
    - tornado.web.RequestHandler.set_header
    - path.split
    - jupyter_server.utils.url_escape
    - tornado.web.RequestHandler.get_argument
    - datetime.datetime.now
    - kwargs.pop
    - jupyter_server.base.handlers.APIHandler.finish
    - <builtin>.getattr
    - s.strip
    - jupyter_server.utils.url_path_join
    - jupyter_server._tz.utcnow
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 4
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - code
    - message
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 110
    functionName: jupyter_server.services.contents.handlers.ContentsHandler._finish_error
    functionSourceFile: jupyter_server.services.contents.handlers
    functionUses: 2
    functionsReached:
    - <builtin>.super
    - jupyter_server.base.handlers.APIHandler.update_api_activity
    - tornado.web.RequestHandler.set_status
    - tornado.web.RequestHandler.set_header
    - tornado.web.RequestHandler.write
    - tornado.web.RequestHandler.get_argument
    - datetime.datetime.now
    - kwargs.pop
    - jupyter_server.base.handlers.APIHandler.finish
    - <builtin>.getattr
    - jupyter_server._tz.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: 3
    functionLinenumber: -1
    functionName: jupyter_server.services.contents.handlers.ContentsHandler
    functionSourceFile: jupyter_server.services.contents.handlers
    functionUses: 0
    functionsReached:
    - typing.cast
    - functools.wraps
    - <builtin>.callable
    - jupyter_server.auth.decorator.authorized.wrapper
    - tornado.web.authenticated
    - jupyter_server.auth.decorator.authorized
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: tornado.web.RequestHandler.get_query_argument
    functionSourceFile: tornado
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 5
    IfCount: 0
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7fc4aa17b940>
    argNames:
    - self
    - copy_from
    - copy_to
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 207
    functionName: jupyter_server.services.contents.handlers.ContentsHandler._copy
    functionSourceFile: jupyter_server.services.contents.handlers
    functionUses: 2
    functionsReached:
    - jupyter_server.base.handlers.APIHandler.update_api_activity
    - jupyter_core.utils.ensure_async
    - tornado.web.RequestHandler.set_header
    - tornado.web.RequestHandler.get_argument
    - kwargs.pop
    - jupyter_server.utils.url_path_join
    - <builtin>.super
    - datetime.datetime.now
    - required_keys.update
    - <builtin>.set
    - <builtin>.getattr
    - s.strip
    - jupyter_server.services.contents.handlers._validate_keys
    - json.dumps
    - jupyter_server.services.contents.handlers.validate_model
    - tornado.web.RequestHandler.set_status
    - path.split
    - jupyter_server.base.handlers.APIHandler.finish
    - jupyter_server._tz.utcnow
    - typing.cast.keys
    - urllib.parse.quote
    - jupyter_server.services.contents.handlers.ContentsHandler._finish_model
    - jupyter_server.services.contents.handlers.ContentsHandler.location_url
    - jupyter_server.utils.url_escape
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 5
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - model
    - path
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 220
    functionName: jupyter_server.services.contents.handlers.ContentsHandler._upload
    functionSourceFile: jupyter_server.services.contents.handlers
    functionUses: 2
    functionsReached:
    - jupyter_server.base.handlers.APIHandler.update_api_activity
    - jupyter_core.utils.ensure_async
    - tornado.web.RequestHandler.set_header
    - tornado.web.RequestHandler.get_argument
    - kwargs.pop
    - jupyter_server.utils.url_path_join
    - <builtin>.super
    - datetime.datetime.now
    - required_keys.update
    - <builtin>.set
    - <builtin>.getattr
    - s.strip
    - jupyter_server.services.contents.handlers._validate_keys
    - json.dumps
    - jupyter_server.services.contents.handlers.validate_model
    - tornado.web.RequestHandler.set_status
    - path.split
    - jupyter_server.base.handlers.APIHandler.finish
    - jupyter_server._tz.utcnow
    - typing.cast.keys
    - urllib.parse.quote
    - jupyter_server.services.contents.handlers.ContentsHandler._finish_model
    - jupyter_server.services.contents.handlers.ContentsHandler.location_url
    - jupyter_server.utils.url_escape
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 5
    IfCount: 0
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7fc4ad7dbbe0>
    - <ast.Constant object at 0x7fc4ad7db940>
    argNames:
    - self
    - path
    - type
    - ext
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 228
    functionName: jupyter_server.services.contents.handlers.ContentsHandler._new_untitled
    functionSourceFile: jupyter_server.services.contents.handlers
    functionUses: 3
    functionsReached:
    - jupyter_server.base.handlers.APIHandler.update_api_activity
    - jupyter_core.utils.ensure_async
    - tornado.web.RequestHandler.set_header
    - tornado.web.RequestHandler.get_argument
    - kwargs.pop
    - jupyter_server.utils.url_path_join
    - <builtin>.super
    - datetime.datetime.now
    - required_keys.update
    - <builtin>.set
    - <builtin>.getattr
    - s.strip
    - jupyter_server.services.contents.handlers._validate_keys
    - json.dumps
    - jupyter_server.services.contents.handlers.validate_model
    - tornado.web.RequestHandler.set_status
    - path.split
    - jupyter_server.base.handlers.APIHandler.finish
    - jupyter_server._tz.utcnow
    - typing.cast.keys
    - urllib.parse.quote
    - jupyter_server.services.contents.handlers.ContentsHandler._finish_model
    - jupyter_server.services.contents.handlers.ContentsHandler.location_url
    - jupyter_server.utils.url_escape
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 4
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - model
    - path
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 238
    functionName: jupyter_server.services.contents.handlers.ContentsHandler._save
    functionSourceFile: jupyter_server.services.contents.handlers
    functionUses: 2
    functionsReached:
    - jupyter_server.base.handlers.APIHandler.update_api_activity
    - jupyter_core.utils.ensure_async
    - tornado.web.RequestHandler.set_header
    - tornado.web.RequestHandler.get_argument
    - kwargs.pop
    - jupyter_server.utils.url_path_join
    - <builtin>.super
    - datetime.datetime.now
    - required_keys.update
    - <builtin>.set
    - <builtin>.getattr
    - s.strip
    - jupyter_server.services.contents.handlers._validate_keys
    - json.dumps
    - jupyter_server.services.contents.handlers.validate_model
    - path.split
    - jupyter_server.base.handlers.APIHandler.finish
    - jupyter_server._tz.utcnow
    - typing.cast.keys
    - urllib.parse.quote
    - jupyter_server.services.contents.handlers.ContentsHandler._finish_model
    - jupyter_server.services.contents.handlers.ContentsHandler.location_url
    - jupyter_server.utils.url_escape
    - typing.cast.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: 3
    functionLinenumber: -1
    functionName: jupyter_server.services.contents.handlers.CheckpointsHandler
    functionSourceFile: jupyter_server.services.contents.handlers
    functionUses: 0
    functionsReached:
    - typing.cast
    - functools.wraps
    - <builtin>.callable
    - jupyter_server.auth.decorator.authorized.wrapper
    - tornado.web.authenticated
    - jupyter_server.auth.decorator.authorized
    linkageType: 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: jupyter_server.services.contents.handlers.ModifyCheckpointsHandler
    functionSourceFile: jupyter_server.services.contents.handlers
    functionUses: 0
    functionsReached:
    - typing.cast
    - functools.wraps
    - <builtin>.callable
    - jupyter_server.auth.decorator.authorized.wrapper
    - tornado.web.authenticated
    - jupyter_server.auth.decorator.authorized
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 3
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - path
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 403
    functionName: jupyter_server.services.contents.handlers.NotebooksRedirectHandler.get
    functionSourceFile: jupyter_server.services.contents.handlers
    functionUses: 0
    functionsReached:
    - tornado.web.RequestHandler.redirect
    - urllib.parse.quote
    - jupyter_server.utils.url_escape
    - path.split
    - s.strip
    - jupyter_server.utils.url_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: 3
    functionLinenumber: -1
    functionName: jupyter_server.services.contents.handlers.TrustNotebooksHandler
    functionSourceFile: jupyter_server.services.contents.handlers
    functionUses: 0
    functionsReached:
    - typing.cast
    - functools.wraps
    - <builtin>.callable
    - jupyter_server.auth.decorator.authorized.wrapper
    - tornado.web.authenticated
    - jupyter_server.auth.decorator.authorized
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 4
    IfCount: 0
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7fc4acaa3700>
    argNames:
    - self
    - path
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 416
    functionName: jupyter_server.services.contents.handlers.TrustNotebooksHandler.post
    functionSourceFile: jupyter_server.services.contents.handlers
    functionUses: 0
    functionsReached:
    - jupyter_core.utils.ensure_async
    - tornado.web.RequestHandler.finish
    - tornado.web.RequestHandler.set_status
    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: jupyter_server.kernelspecs.handlers
    functionSourceFile: jupyter_server.kernelspecs.handlers
    functionUses: 0
    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: 21
    functionName: jupyter_server.kernelspecs.handlers.KernelSpecResourceHandler.initialize
    functionSourceFile: jupyter_server.kernelspecs.handlers
    functionUses: 0
    functionsReached:
    - tornado.web.StaticFileHandler.initialize
    linkageType: 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: jupyter_server.kernelspecs.handlers.KernelSpecResourceHandler
    functionSourceFile: jupyter_server.kernelspecs.handlers
    functionUses: 0
    functionsReached:
    - typing.cast
    - functools.wraps
    - <builtin>.callable
    - jupyter_server.auth.decorator.authorized.wrapper
    - tornado.web.authenticated
    - jupyter_server.auth.decorator.authorized
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: jupyter_server.kernelspecs
    functionSourceFile: jupyter_server.kernelspecs
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: jupyter_server.gateway.handlers
    functionSourceFile: jupyter_server.gateway.handlers
    functionUses: 0
    functionsReached:
    - <builtin>.int
    - os.getenv
    - warnings.warn
    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 0x7fc4ac87b6d0>
    argNames:
    - self
    - origin
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 46
    functionName: jupyter_server.gateway.handlers.WebSocketChannelsHandler.check_origin
    functionSourceFile: jupyter_server.gateway.handlers
    functionUses: 0
    functionsReached:
    - jupyter_server.base.handlers.JupyterHandler.check_origin
    - re.match
    - origin.lower
    - tornado.web.RequestHandler.request.headers.get
    - urllib.parse.urlparse
    - jupyter_server.base.handlers.AuthenticatedHandler.skip_check_origin
    - <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: 50
    functionName: jupyter_server.gateway.handlers.WebSocketChannelsHandler.set_default_headers
    functionSourceFile: jupyter_server.gateway.handlers
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 53
    functionName: jupyter_server.gateway.handlers.WebSocketChannelsHandler.get_compression_options
    functionSourceFile: jupyter_server.gateway.handlers
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 58
    functionName: jupyter_server.gateway.handlers.WebSocketChannelsHandler.authenticate
    functionSourceFile: jupyter_server.gateway.handlers
    functionUses: 1
    functionsReached:
    - tornado.web.RequestHandler.get_argument
    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: 5
    functionLinenumber: 75
    functionName: jupyter_server.gateway.handlers.WebSocketChannelsHandler.initialize
    functionSourceFile: jupyter_server.gateway.handlers
    functionUses: 0
    functionsReached:
    - traitlets.utils.importstring.import_item
    - jupyter_client.session.Session._new_auth
    - traitlets.log.get_logger.warning
    - <builtin>.repr
    - jupyter_client.session.Session._check_packers
    - <builtin>.map
    - obj.strftime
    - pickle.loads
    - obj.items
    - <builtin>.len
    - <builtin>.type
    - <builtin>.hasattr
    - <builtin>.float
    - jupyter_client.session.pickle_packer
    - traitlets.log.get_logger
    - <builtin>.super
    - <builtin>.list
    - jupyter_client.session.json_unpacker
    - hmac.HMAC
    - math.isnan
    - binascii.b2a_base64
    - datetime.datetime.now
    - traitlets.config.SingletonConfigurable.instance
    - warnings.warn
    - <builtin>.set
    - jupyter_client.session.Session._check_packers.<lambda2>
    - <builtin>.str
    - obj.isoformat
    - tornado.concurrent.Future
    - json.dumps
    - jupyter_client.session.utcnow
    - jupyter_client.jsonutil.squash_dates
    - math.isinf
    - <builtin>.isinstance
    - binascii.b2a_base64.decode
    - jupyter_client.session.Session.__init__
    - jupyter_client.session.Session._check_packers.<lambda1>
    - <builtin>.dict
    - traitlets.Any
    - jupyter_client.jsonutil.json_clean
    - s.decode
    - json.loads
    - <builtin>.int
    - pickle.dumps
    - jupyter_client.session.json_packer
    - jupyter_server.gateway.handlers.GatewayWebSocketClient.__init__
    - os.getpid
    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: 158
    functionName: jupyter_server.gateway.handlers.GatewayWebSocketClient.__init__
    functionSourceFile: jupyter_server.gateway.handlers
    functionUses: 1
    functionsReached:
    - <builtin>.super
    - tornado.concurrent.Future
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 3
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - kernel_id
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 81
    functionName: jupyter_server.gateway.handlers.WebSocketChannelsHandler.get
    functionSourceFile: jupyter_server.gateway.handlers
    functionUses: 0
    functionsReached:
    - <builtin>.super
    - tornado.web.RequestHandler.get_argument
    - jupyter_server.gateway.handlers.WebSocketChannelsHandler.authenticate
    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: 88
    functionName: jupyter_server.gateway.handlers.WebSocketChannelsHandler.send_ping
    functionSourceFile: jupyter_server.gateway.handlers
    functionUses: 0
    functionsReached:
    - tornado.websocket.WebSocketHandler.ping
    - tornado.ioloop.PeriodicCallback.stop
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: tornado.websocket.WebSocketHandler.ping
    functionSourceFile: tornado
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 3
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - kernel_id
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 96
    functionName: jupyter_server.gateway.handlers.WebSocketChannelsHandler.open
    functionSourceFile: jupyter_server.gateway.handlers
    functionUses: 0
    functionsReached:
    - tornado.ioloop.IOLoop.current
    - tornado.ioloop.PeriodicCallback.start
    - tornado.ioloop.PeriodicCallback
    - loop.spawn_callback
    - jupyter_server.gateway.handlers.GatewayWebSocketClient.on_open
    - jupyter_server.gateway.handlers.WebSocketChannelsHandler.get_compression_options
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - kernel_id
    - message_callback
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 262
    functionName: jupyter_server.gateway.handlers.GatewayWebSocketClient.on_open
    functionSourceFile: jupyter_server.gateway.handlers
    functionUses: 1
    functionsReached:
    - tornado.ioloop.IOLoop.current
    - loop.spawn_callback
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - message
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 108
    functionName: jupyter_server.gateway.handlers.WebSocketChannelsHandler.on_message
    functionSourceFile: jupyter_server.gateway.handlers
    functionUses: 0
    functionsReached:
    - jupyter_server.gateway.handlers.GatewayWebSocketClient.on_message
    - jupyter_server.gateway.handlers.GatewayWebSocketClient._write_message
    - loop.add_future
    - tornado.ioloop.IOLoop.current
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - message
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 267
    functionName: jupyter_server.gateway.handlers.GatewayWebSocketClient.on_message
    functionSourceFile: jupyter_server.gateway.handlers
    functionUses: 1
    functionsReached:
    - tornado.ioloop.IOLoop.current
    - jupyter_server.gateway.handlers.GatewayWebSocketClient._write_message
    - loop.add_future
    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 0x7fc4aba16dc0>
    argNames:
    - self
    - message
    - binary
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 113
    functionName: jupyter_server.gateway.handlers.WebSocketChannelsHandler.write_message
    functionSourceFile: jupyter_server.gateway.handlers
    functionUses: 0
    functionsReached:
    - tornado.escape.json_decode
    - summary.append
    - jupyter_server.gateway.handlers.WebSocketChannelsHandler._get_message_summary
    - tornado.escape.utf8
    - <builtin>.super
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - message
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 133
    functionName: jupyter_server.gateway.handlers.WebSocketChannelsHandler._get_message_summary
    functionSourceFile: jupyter_server.gateway.handlers
    functionUses: 1
    functionsReached:
    - summary.append
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 4
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 125
    functionName: jupyter_server.gateway.handlers.WebSocketChannelsHandler.on_close
    functionSourceFile: jupyter_server.gateway.handlers
    functionUses: 0
    functionsReached:
    - jupyter_server.gateway.handlers.GatewayWebSocketClient._disconnect
    - typing.cast.cancel
    - <builtin>.super
    - jupyter_server.gateway.handlers.GatewayWebSocketClient.on_close
    - typing.cast.done
    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: 283
    functionName: jupyter_server.gateway.handlers.GatewayWebSocketClient.on_close
    functionSourceFile: jupyter_server.gateway.handlers
    functionUses: 1
    functionsReached:
    - jupyter_server.gateway.handlers.GatewayWebSocketClient._disconnect
    - typing.cast.done
    - typing.cast.cancel
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 4
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - kernel_id
    - message_callback
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 167
    functionName: jupyter_server.gateway.handlers.GatewayWebSocketClient._connect
    functionSourceFile: jupyter_server.gateway.handlers
    functionUses: 0
    functionsReached:
    - tornado.ioloop.IOLoop.current
    - typing.cast.add_done_callback
    - typing.cast
    - client.load_connection_args
    - tornado.httpclient.HTTPRequest
    - tornado.websocket.websocket_connect
    - jupyter_server.utils.url_path_join
    - s.strip
    - traitlets.config.SingletonConfigurable.instance
    - tornado.escape.url_escape
    - loop.add_future
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: client.load_connection_args
    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: jupyter_server.gateway.handlers.GatewayWebSocketClient._connect.<lambda1>
    functionSourceFile: jupyter_server.gateway.handlers
    functionUses: 0
    functionsReached:
    - jupyter_server.gateway.handlers.GatewayWebSocketClient._read_messages
    - tornado.ioloop.IOLoop.current
    - <builtin>.min
    - asyncio.sleep
    - loop.spawn_callback
    - traitlets.config.SingletonConfigurable.instance
    - random.randint
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 7
    IfCount: 4
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - callback
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 219
    functionName: jupyter_server.gateway.handlers.GatewayWebSocketClient._read_messages
    functionSourceFile: jupyter_server.gateway.handlers
    functionUses: 1
    functionsReached:
    - tornado.ioloop.IOLoop.current
    - <builtin>.min
    - asyncio.sleep
    - loop.spawn_callback
    - traitlets.config.SingletonConfigurable.instance
    - random.randint
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - fut
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 192
    functionName: jupyter_server.gateway.handlers.GatewayWebSocketClient._connection_done
    functionSourceFile: jupyter_server.gateway.handlers
    functionUses: 0
    functionsReached:
    - traitlets.config.SingletonConfigurable.instance
    - fut.result
    - fut.exception
    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: 1
    functionLinenumber: 208
    functionName: jupyter_server.gateway.handlers.GatewayWebSocketClient._disconnect
    functionSourceFile: jupyter_server.gateway.handlers
    functionUses: 2
    functionsReached:
    - typing.cast.done
    - typing.cast.cancel
    linkageType: 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: jupyter_server.gateway.handlers.GatewayWebSocketClient.on_message.<lambda1>
    functionSourceFile: jupyter_server.gateway.handlers
    functionUses: 0
    functionsReached:
    - jupyter_server.gateway.handlers.GatewayWebSocketClient._write_message
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - message
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 275
    functionName: jupyter_server.gateway.handlers.GatewayWebSocketClient._write_message
    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: jupyter_server.gateway.handlers.GatewayResourceHandler
    functionSourceFile: jupyter_server.gateway.handlers
    functionUses: 0
    functionsReached:
    - tornado.web.authenticated
    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 0x7fc4acc90340>
    argNames:
    - self
    - kernel_name
    - path
    - include_body
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 292
    functionName: jupyter_server.gateway.handlers.GatewayResourceHandler.get
    functionSourceFile: jupyter_server.gateway.handlers
    functionUses: 0
    functionsReached:
    - mimetypes.guess_type
    - <builtin>.super
    - jupyter_server.base.handlers.APIHandler.update_api_activity
    - tornado.web.RequestHandler.set_header
    - tornado.web.RequestHandler.get_argument
    - datetime.datetime.now
    - kwargs.pop
    - jupyter_server.base.handlers.APIHandler.finish
    - <builtin>.getattr
    - jupyter_server._tz.utcnow
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: jupyter_client.kernelspecapp
    functionSourceFile: jupyter_client.kernelspecapp
    functionUses: 0
    functionsReached:
    - traitlets.config.application.Application.launch_instance
    linkageType: 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: jupyter_client.kernelspecapp.ListKernelSpecs
    functionSourceFile: jupyter_client.kernelspecapp
    functionUses: 0
    functionsReached:
    - traitlets.Bool
    - traitlets.Instance
    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: 41
    functionName: jupyter_client.kernelspecapp.ListKernelSpecs._kernel_spec_manager_default
    functionSourceFile: jupyter_client.kernelspecapp
    functionUses: 0
    functionsReached:
    - traitlets.config.LoggingConfigurable.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 44
    functionName: jupyter_client.kernelspecapp.ListKernelSpecs.start
    functionSourceFile: jupyter_client.kernelspecapp
    functionUses: 0
    functionsReached:
    - <builtin>.len
    - json.dumps
    - <builtin>.sorted
    - kernelname.ljust
    - paths.items
    - traitlets.Instance.find_kernel_specs
    - traitlets.Instance.get_all_specs
    - <builtin>.print
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: traitlets.Instance.find_kernel_specs
    functionSourceFile: traitlets
    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: traitlets.Instance.get_all_specs
    functionSourceFile: traitlets
    functionUses: 1
    functionsReached: []
    linkageType: 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: jupyter_client.kernelspecapp.ListKernelSpecs.start.<lambda1>
    functionSourceFile: jupyter_client.kernelspecapp
    functionUses: 0
    functionsReached:
    - <builtin>.len
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - item
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 55
    functionName: jupyter_client.kernelspecapp.ListKernelSpecs.start.path_key
    functionSourceFile: jupyter_client.kernelspecapp
    functionUses: 0
    functionsReached:
    - <builtin>.enumerate
    - 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: path.startswith
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: paths.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: kernelname.ljust
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: jupyter_client.kernelspecapp.InstallKernelSpec
    functionSourceFile: jupyter_client.kernelspecapp
    functionUses: 0
    functionsReached:
    - traitlets.Unicode
    - aliases.update
    - traitlets.Bool
    - traitlets.Instance
    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: 89
    functionName: jupyter_client.kernelspecapp.InstallKernelSpec._kernel_spec_manager_default
    functionSourceFile: jupyter_client.kernelspecapp
    functionUses: 0
    functionsReached:
    - traitlets.config.LoggingConfigurable.__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: 95
    functionName: jupyter_client.kernelspecapp.InstallKernelSpec._kernel_name_default
    functionSourceFile: jupyter_client.kernelspecapp
    functionUses: 0
    functionsReached:
    - os.path.basename
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 4
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - argv
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 137
    functionName: jupyter_client.kernelspecapp.InstallKernelSpec.parse_command_line
    functionSourceFile: jupyter_client.kernelspecapp
    functionUses: 0
    functionsReached:
    - <builtin>.super
    - <builtin>.print
    - jupyter_core.application.JupyterApp.exit
    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: 1
    functionLinenumber: 147
    functionName: jupyter_client.kernelspecapp.InstallKernelSpec.start
    functionSourceFile: jupyter_client.kernelspecapp
    functionUses: 0
    functionsReached:
    - traitlets.Instance.install_kernel_spec
    - <builtin>.print
    - jupyter_core.application.JupyterApp.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: traitlets.Instance.install_kernel_spec
    functionSourceFile: traitlets
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: jupyter_client.kernelspecapp.RemoveKernelSpec
    functionSourceFile: jupyter_client.kernelspecapp
    functionUses: 0
    functionsReached:
    - traitlets.List
    - traitlets.Instance
    - traitlets.Unicode
    - flags.update
    - traitlets.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: 183
    functionName: jupyter_client.kernelspecapp.RemoveKernelSpec._kernel_spec_manager_default
    functionSourceFile: jupyter_client.kernelspecapp
    functionUses: 0
    functionsReached:
    - traitlets.config.LoggingConfigurable.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - argv
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 191
    functionName: jupyter_client.kernelspecapp.RemoveKernelSpec.parse_command_line
    functionSourceFile: jupyter_client.kernelspecapp
    functionUses: 0
    functionsReached:
    - <builtin>.super
    - <builtin>.sorted
    - <builtin>.set
    - jupyter_core.application.JupyterApp.exit
    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: 1
    functionLinenumber: 200
    functionName: jupyter_client.kernelspecapp.RemoveKernelSpec.start
    functionSourceFile: jupyter_client.kernelspecapp
    functionUses: 0
    functionsReached:
    - path.ljust
    - traitlets.List.ljust
    - traitlets.Instance.find_kernel_specs
    - spec_paths.get
    - traitlets.Instance.remove_kernel_spec
    - <builtin>.set
    - jupyter_core.application.JupyterApp.exit
    - answer.lower
    - <builtin>.input
    - <builtin>.len
    - <builtin>.print
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: spec_paths.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: traitlets.List.ljust
    functionSourceFile: traitlets
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.ljust
    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>.input
    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: answer.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: traitlets.Instance.remove_kernel_spec
    functionSourceFile: traitlets
    functionUses: 1
    functionsReached: []
    linkageType: 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: jupyter_client.kernelspecapp.InstallNativeKernelSpec
    functionSourceFile: jupyter_client.kernelspecapp
    functionUses: 0
    functionsReached:
    - traitlets.Bool
    - traitlets.Instance
    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: 237
    functionName: jupyter_client.kernelspecapp.InstallNativeKernelSpec._kernel_spec_manager_default
    functionSourceFile: jupyter_client.kernelspecapp
    functionUses: 0
    functionsReached:
    - traitlets.config.LoggingConfigurable.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 257
    functionName: jupyter_client.kernelspecapp.InstallNativeKernelSpec.start
    functionSourceFile: jupyter_client.kernelspecapp
    functionUses: 0
    functionsReached:
    - ipykernel.kernelspec.install
    - <builtin>.print
    - jupyter_core.application.JupyterApp.exit
    - jupyter_core.application.JupyterApp.log.warning
    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: 288
    functionName: jupyter_client.kernelspecapp.ListProvisioners.start
    functionSourceFile: jupyter_client.kernelspecapp
    functionUses: 0
    functionsReached:
    - kfp.get_provisioner_entries
    - <builtin>.sorted
    - name.ljust
    - traitlets.config.SingletonConfigurable.instance
    - <builtin>.len
    - <builtin>.print
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: kfp.get_provisioner_entries
    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: jupyter_client.kernelspecapp.ListProvisioners.start.<lambda1>
    functionSourceFile: jupyter_client.kernelspecapp
    functionUses: 0
    functionsReached:
    - <builtin>.len
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: name.ljust
    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: ListKernelSpecs.description.splitlines
    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: jupyter_client.kernelspecapp.KernelSpecApp
    functionSourceFile: jupyter_client.kernelspecapp
    functionUses: 0
    functionsReached:
    - RemoveKernelSpec.description.splitlines
    - InstallKernelSpec.description.splitlines
    - ListProvisioners.description.splitlines
    - InstallNativeKernelSpec.description.splitlines
    - ListKernelSpecs.description.splitlines
    - traitlets.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: InstallKernelSpec.description.splitlines
    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: RemoveKernelSpec.description.splitlines
    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: InstallNativeKernelSpec.description.splitlines
    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: ListProvisioners.description.splitlines
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 6
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 328
    functionName: jupyter_client.kernelspecapp.KernelSpecApp.start
    functionSourceFile: jupyter_client.kernelspecapp
    functionUses: 0
    functionsReached:
    - traitlets.config.application.Application.print_subcommands
    - traitlets.config.application.Application.subapp.start
    - <builtin>.list
    - traitlets.config.application.Application.exit
    - traitlets.config.application.Application.print_description
    - <builtin>.print
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: traitlets.config.application.Application.print_description
    functionSourceFile: traitlets
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: traitlets.config.application.Application.print_subcommands
    functionSourceFile: traitlets
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: traitlets.config.application.Application.exit
    functionSourceFile: traitlets
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: traitlets.config.application.Application.subapp.start
    functionSourceFile: traitlets
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: traitlets.config.application.Application.launch_instance
    functionSourceFile: traitlets
    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: jupyter_client.threaded
    functionSourceFile: jupyter_client.threaded
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 4
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - socket
    - session
    - loop
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 36
    functionName: jupyter_client.threaded.ThreadedZMQSocketChannel.__init__
    functionSourceFile: jupyter_client.threaded
    functionUses: 0
    functionsReached:
    - <builtin>.super
    - concurrent.futures.Future
    - f.result
    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: 60
    functionName: jupyter_client.threaded.ThreadedZMQSocketChannel.__init__.setup_stream
    functionSourceFile: jupyter_client.threaded
    functionUses: 0
    functionsReached:
    - f.set_exception
    - f.set_result
    - zmq.eventloop.zmqstream.ZMQStream
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.set_exception
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 77
    functionName: jupyter_client.threaded.ThreadedZMQSocketChannel.is_alive
    functionSourceFile: jupyter_client.threaded
    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: 81
    functionName: jupyter_client.threaded.ThreadedZMQSocketChannel.start
    functionSourceFile: jupyter_client.threaded
    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: 85
    functionName: jupyter_client.threaded.ThreadedZMQSocketChannel.stop
    functionSourceFile: jupyter_client.threaded
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 89
    functionName: jupyter_client.threaded.ThreadedZMQSocketChannel.close
    functionSourceFile: jupyter_client.threaded
    functionUses: 0
    functionsReached:
    - concurrent.futures.Future
    - traitlets.log.get_logger
    - traitlets.log.get_logger.warning
    - f.result
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 95
    functionName: jupyter_client.threaded.ThreadedZMQSocketChannel.close.close_stream
    functionSourceFile: jupyter_client.threaded
    functionUses: 0
    functionsReached:
    - f.set_exception
    - f.set_result
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - msg
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 121
    functionName: jupyter_client.threaded.ThreadedZMQSocketChannel.send
    functionSourceFile: jupyter_client.threaded
    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: 132
    functionName: jupyter_client.threaded.ThreadedZMQSocketChannel.send.thread_send
    functionSourceFile: jupyter_client.threaded
    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
    - msg_list
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 139
    functionName: jupyter_client.threaded.ThreadedZMQSocketChannel._handle_recv
    functionSourceFile: jupyter_client.threaded
    functionUses: 0
    functionsReached:
    - jupyter_client.threaded.ThreadedZMQSocketChannel.call_handlers
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - msg
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 153
    functionName: jupyter_client.threaded.ThreadedZMQSocketChannel.call_handlers
    functionSourceFile: ''
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 163
    functionName: jupyter_client.threaded.ThreadedZMQSocketChannel.process_events
    functionSourceFile: jupyter_client.threaded
    functionUses: 0
    functionsReached: []
    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 0x7fc4ad7db790>
    argNames:
    - self
    - timeout
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 169
    functionName: jupyter_client.threaded.ThreadedZMQSocketChannel.flush
    functionSourceFile: jupyter_client.threaded
    functionUses: 0
    functionsReached:
    - <builtin>.max
    - time.monotonic
    - f.result
    - concurrent.futures.Future
    - <builtin>.range
    - functools.partial
    linkageType: pythonLinkage
    raised:
    - OSError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 3
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - f
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 195
    functionName: jupyter_client.threaded.ThreadedZMQSocketChannel.flush.flush
    functionSourceFile: jupyter_client.threaded
    functionUses: 0
    functionsReached:
    - f.set_exception
    - f.set_result
    - jupyter_client.threaded.ThreadedZMQSocketChannel._flush
    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: 214
    functionName: jupyter_client.threaded.ThreadedZMQSocketChannel._flush
    functionSourceFile: ''
    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: 227
    functionName: jupyter_client.threaded.IOLoopThread.__init__
    functionSourceFile: jupyter_client.threaded
    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: 1
    functionLinenumber: -1
    functionName: jupyter_client.threaded.IOLoopThread
    functionSourceFile: jupyter_client.threaded
    functionUses: 0
    functionsReached:
    - atexit.register
    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: 234
    functionName: jupyter_client.threaded.IOLoopThread._notice_exit
    functionSourceFile: jupyter_client.threaded
    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: 240
    functionName: jupyter_client.threaded.IOLoopThread.start
    functionSourceFile: jupyter_client.threaded
    functionUses: 1
    functionsReached:
    - threading.Thread._start_future.result
    - concurrent.futures.Future
    - threading.Thread.start
    linkageType: pythonLinkage
    raised: []
    returnType: N/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_future.result
    functionSourceFile: threading
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 6
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 251
    functionName: jupyter_client.threaded.IOLoopThread.run
    functionSourceFile: jupyter_client.threaded
    functionUses: 0
    functionsReached:
    - tornado.ioloop.IOLoop.current
    - asyncio.sleep
    - loop.run_until_complete
    - threading.Thread._start_future.set_exception
    - threading.Thread._start_future.set_result
    - jupyter_client.threaded.IOLoopThread._async_run
    - asyncio.set_event_loop
    - asyncio.new_event_loop
    - jupyter_client.threaded.IOLoopThread.run.assign_ioloop
    linkageType: 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: 257
    functionName: jupyter_client.threaded.IOLoopThread.run.assign_ioloop
    functionSourceFile: jupyter_client.threaded
    functionUses: 1
    functionsReached:
    - tornado.ioloop.IOLoop.current
    linkageType: pythonLinkage
    raised: []
    returnType: N/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_future.set_exception
    functionSourceFile: threading
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/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_future.set_result
    functionSourceFile: threading
    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: 268
    functionName: jupyter_client.threaded.IOLoopThread._async_run
    functionSourceFile: jupyter_client.threaded
    functionUses: 1
    functionsReached:
    - asyncio.sleep
    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: 273
    functionName: jupyter_client.threaded.IOLoopThread.stop
    functionSourceFile: jupyter_client.threaded
    functionUses: 1
    functionsReached:
    - threading.Thread.join
    - jupyter_client.threaded.IOLoopThread.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: 0
    functionLinenumber: 288
    functionName: jupyter_client.threaded.IOLoopThread.close
    functionSourceFile: ''
    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: 285
    functionName: jupyter_client.threaded.IOLoopThread.__del__
    functionSourceFile: jupyter_client.threaded
    functionUses: 0
    functionsReached:
    - jupyter_client.threaded.IOLoopThread.close
    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: 301
    functionName: jupyter_client.threaded.ThreadedKernelClient.ioloop
    functionSourceFile: jupyter_client.threaded
    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: jupyter_client.threaded.ThreadedKernelClient
    functionSourceFile: jupyter_client.threaded
    functionUses: 0
    functionsReached:
    - traitlets.Instance
    - traitlets.Type
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 6
    argDefaultValues:
    - <ast.Constant object at 0x7fc4acf82a60>
    - <ast.Constant object at 0x7fc4acf82a30>
    - <ast.Constant object at 0x7fc4acf82a00>
    - <ast.Constant object at 0x7fc4acf829d0>
    - <ast.Constant object at 0x7fc4acf829a0>
    argNames:
    - self
    - shell
    - iopub
    - stdin
    - hb
    - control
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 308
    functionName: jupyter_client.threaded.ThreadedKernelClient.start_channels
    functionSourceFile: jupyter_client.threaded
    functionUses: 0
    functionsReached:
    - <builtin>.super
    - threading.Thread._start_future.result
    - concurrent.futures.Future
    - jupyter_client.threaded.IOLoopThread.start
    - jupyter_client.threaded.IOLoopThread.__init__
    - threading.Thread.start
    - traitlets.Instance.start
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: traitlets.Instance.start
    functionSourceFile: traitlets
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - msg
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 325
    functionName: jupyter_client.threaded.ThreadedKernelClient._check_kernel_info_reply
    functionSourceFile: jupyter_client.threaded
    functionUses: 0
    functionsReached:
    - <builtin>.int
    - jupyter_client.client.KernelClient._handle_kernel_info_reply
    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: 331
    functionName: jupyter_client.threaded.ThreadedKernelClient.stop_channels
    functionSourceFile: jupyter_client.threaded
    functionUses: 0
    functionsReached:
    - traitlets.Instance.stop
    - threading.Thread.join
    - threading.Thread.is_alive
    - <builtin>.super
    - traitlets.Instance.is_alive
    - jupyter_client.threaded.IOLoopThread.close
    - jupyter_client.threaded.IOLoopThread.stop
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: traitlets.Instance.stop
    functionSourceFile: traitlets
    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: 2
    functionLinenumber: 343
    functionName: jupyter_client.threaded.ThreadedKernelClient.is_alive
    functionSourceFile: jupyter_client.threaded
    functionUses: 0
    functionsReached:
    - jupyter_server.gateway.managers.HBChannelQueue.is_beating
    - traitlets.Any.is_beating
    - jupyter_server.gateway.managers.ChannelQueue.is_alive
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 4
    IfCount: 1
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: jupyter_client.runapp
    functionSourceFile: jupyter_client.runapp
    functionUses: 0
    functionsReached:
    - aliases.update
    - jupyter_core.application.JupyterApp.launch_instance
    - frontend_aliases_dict.keys
    - frontend_flags_dict.keys
    - flags.update
    - <builtin>.set
    - <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: frontend_aliases_dict.keys
    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: frontend_flags_dict.keys
    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: jupyter_client.runapp.RunApp
    functionSourceFile: jupyter_client.runapp
    functionUses: 0
    functionsReached:
    - traitlets.config.catch_config_error
    - traitlets.Dict
    - traitlets.Float
    - traitlets.Any
    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 0x7fc4ab379970>
    argNames:
    - self
    - argv
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 63
    functionName: jupyter_client.runapp.RunApp.parse_command_line
    functionSourceFile: jupyter_client.runapp
    functionUses: 0
    functionsReached:
    - <builtin>.super
    - jupyter_client.consoleapp.JupyterConsoleApp.build_kernel_argv
    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 0x7fc4ab5eec40>
    argNames:
    - self
    - argv
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 152
    functionName: jupyter_client.consoleapp.JupyterConsoleApp.build_kernel_argv
    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: traitlets.config.catch_config_error
    functionSourceFile: ''
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 6
    IfCount: 0
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7fc4ab5c52e0>
    argNames:
    - self
    - argv
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 70
    functionName: jupyter_client.runapp.RunApp.initialize
    functionSourceFile: jupyter_client.runapp
    functionUses: 0
    functionsReached:
    - json.load
    - jupyter_client.runapp.RunApp.init_kernel_info
    - jupyter_client.connect.ConnectionFileMixin.write_connection_file
    - jupyter_client.connect.ConnectionFileMixin._ip_default
    - os.path.splitext
    - jupyter_client.consoleapp.JupyterConsoleApp.init_ssh
    - traitlets.config.LoggingConfigurable.log.error
    - jupyter_client.consoleapp.JupyterConsoleApp.initialize
    - os.path.expanduser
    - jupyter_core.application.JupyterApp.kernel_client.kernel_info
    - jupyter_client.connect.ConnectionFileMixin._record_random_port_names
    - os.path.expandvars
    - time.time
    - traitlets.Type
    - jupyter_client.consoleapp.JupyterConsoleApp.init_kernel_client
    - os.getcwd
    - <builtin>.super
    - os.path.basename
    - jupyter_client.utils._filefind
    - s.replace
    - jupyter_client.consoleapp.JupyterConsoleApp.init_connection_file
    - os.path.isabs
    - find_connection_file.strip
    - traitlets.config.LoggingConfigurable.log.debug
    - jupyter_client.consoleapp.JupyterConsoleApp.init_kernel_manager
    - <builtin>.getattr
    - <builtin>.open
    - os.path.join
    - typing.cast
    - jupyter_core.application.JupyterApp.kernel_client.hb_channel.unpause
    - <builtin>.setattr
    - jupyter_client.client.KernelClient.start_channels
    - sys.exit
    - os.path.abspath
    - <builtin>.isinstance
    - tunnel_to_kernel
    - key.encode
    - traitlets.config.LoggingConfigurable.log.info
    - signal.signal
    - jupyter_client.localinterfaces.localhost
    - traitlets.config.LoggingConfigurable.exit
    - os.path.isfile
    - info.get
    - jupyter_core.application.JupyterApp.kernel_client.get_shell_msg
    - find_connection_file
    - traitlets.config.LoggingConfigurable.__init__
    - jupyter_client.utils._expand_path
    - jupyter_client.connect.ConnectionFileMixin.load_connection_file
    - atexit.register
    - traitlets.config.LoggingConfigurable.log.critical
    - jupyter_core.application.JupyterApp.log.debug
    - jupyter_client.connect.ConnectionFileMixin.load_connection_info
    - os.path.exists
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 5
    IfCount: 1
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7fc4aabf2c40>
    argNames:
    - self
    - argv
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 355
    functionName: jupyter_client.consoleapp.JupyterConsoleApp.initialize
    functionSourceFile: jupyter_client.consoleapp
    functionUses: 1
    functionsReached:
    - json.load
    - jupyter_client.connect.ConnectionFileMixin._ip_default
    - jupyter_client.connect.ConnectionFileMixin.write_connection_file
    - os.path.splitext
    - jupyter_client.consoleapp.JupyterConsoleApp.init_ssh
    - traitlets.config.LoggingConfigurable.log.error
    - os.path.expanduser
    - jupyter_client.connect.ConnectionFileMixin._record_random_port_names
    - os.path.expandvars
    - traitlets.Type
    - jupyter_client.consoleapp.JupyterConsoleApp.init_kernel_client
    - os.getcwd
    - os.path.basename
    - jupyter_client.utils._filefind
    - s.replace
    - jupyter_client.consoleapp.JupyterConsoleApp.init_connection_file
    - os.path.isabs
    - find_connection_file.strip
    - traitlets.config.LoggingConfigurable.log.debug
    - jupyter_client.consoleapp.JupyterConsoleApp.init_kernel_manager
    - <builtin>.getattr
    - <builtin>.open
    - os.path.join
    - typing.cast
    - <builtin>.setattr
    - sys.exit
    - os.path.abspath
    - <builtin>.isinstance
    - jupyter_client.client.KernelClient.start_channels
    - tunnel_to_kernel
    - key.encode
    - traitlets.config.LoggingConfigurable.log.info
    - signal.signal
    - jupyter_client.localinterfaces.localhost
    - traitlets.config.LoggingConfigurable.exit
    - os.path.isfile
    - info.get
    - find_connection_file
    - jupyter_client.utils._expand_path
    - traitlets.config.LoggingConfigurable.__init__
    - jupyter_client.connect.ConnectionFileMixin.load_connection_file
    - atexit.register
    - traitlets.config.LoggingConfigurable.log.critical
    - jupyter_client.connect.ConnectionFileMixin.load_connection_info
    - os.path.exists
    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: 85
    functionName: jupyter_client.runapp.RunApp.init_kernel_info
    functionSourceFile: jupyter_client.runapp
    functionUses: 1
    functionsReached:
    - jupyter_core.application.JupyterApp.kernel_client.kernel_info
    - jupyter_core.application.JupyterApp.kernel_client.hb_channel.unpause
    - jupyter_core.application.JupyterApp.kernel_client.get_shell_msg
    - time.time
    linkageType: pythonLinkage
    raised:
    - RuntimeError
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - args
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 78
    functionName: jupyter_client.runapp.RunApp.handle_sigint
    functionSourceFile: jupyter_client.runapp
    functionUses: 0
    functionsReached:
    - jupyter_core.application.JupyterApp.log.error
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: jupyter_core.application.JupyterApp.kernel_client.hb_channel.unpause
    functionSourceFile: jupyter_core
    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: jupyter_core.application.JupyterApp.kernel_client.kernel_info
    functionSourceFile: jupyter_core
    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: jupyter_core.application.JupyterApp.kernel_client.get_shell_msg
    functionSourceFile: jupyter_core
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 4
    IfCount: 3
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 103
    functionName: jupyter_client.runapp.RunApp.start
    functionSourceFile: jupyter_client.runapp
    functionUses: 0
    functionsReached:
    - jupyter_core.application.JupyterApp.kernel_client.execute_interactive
    - fp.read
    - <builtin>.super
    - sys.stdin.read
    - jupyter_core.application.JupyterApp.log.debug
    - <builtin>.open
    linkageType: pythonLinkage
    raised:
    - Exception
    returnType: N/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.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: jupyter_core.application.JupyterApp.kernel_client.execute_interactive
    functionSourceFile: jupyter_core
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: sys.stdin.read
    functionSourceFile: sys
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 6
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: jupyter_client.consoleapp
    functionSourceFile: jupyter_client.consoleapp
    functionUses: 0
    functionsReached:
    - flags.update
    - app_flags.update
    - aliases.update
    - traitlets.config.application.boolean_flag
    linkageType: pythonLinkage
    raised: []
    returnType: N/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_flags.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: 1
    functionLinenumber: -1
    functionName: jupyter_client.consoleapp.JupyterConsoleApp
    functionSourceFile: jupyter_client.consoleapp
    functionUses: 0
    functionsReached:
    - traitlets.List
    - traitlets.Unicode
    - traitlets.CBool
    - traitlets.Type
    - traitlets.Dict
    - traitlets.CUnicode
    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: 135
    functionName: jupyter_client.consoleapp.JupyterConsoleApp._connection_file_default
    functionSourceFile: jupyter_client.consoleapp
    functionUses: 0
    functionsReached:
    - os.getpid
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: traitlets.CBool
    functionSourceFile: traitlets
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 159
    functionName: jupyter_client.consoleapp.JupyterConsoleApp.init_connection_file
    functionSourceFile: jupyter_client.consoleapp
    functionUses: 2
    functionsReached:
    - json.load
    - jupyter_client.connect.ConnectionFileMixin._ip_default
    - os.path.splitext
    - traitlets.config.LoggingConfigurable.log.error
    - os.path.expanduser
    - jupyter_client.connect.ConnectionFileMixin._record_random_port_names
    - os.path.expandvars
    - os.getcwd
    - os.path.basename
    - jupyter_client.utils._filefind
    - s.replace
    - os.path.isabs
    - find_connection_file.strip
    - traitlets.config.LoggingConfigurable.log.debug
    - <builtin>.getattr
    - <builtin>.open
    - os.path.join
    - <builtin>.setattr
    - os.path.abspath
    - <builtin>.isinstance
    - key.encode
    - jupyter_client.localinterfaces.localhost
    - traitlets.config.LoggingConfigurable.exit
    - os.path.isfile
    - info.get
    - find_connection_file
    - jupyter_client.utils._expand_path
    - jupyter_client.connect.ConnectionFileMixin.load_connection_file
    - traitlets.config.LoggingConfigurable.log.critical
    - jupyter_client.connect.ConnectionFileMixin.load_connection_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: 0
    functionLinenumber: -1
    functionName: find_connection_file
    functionSourceFile: find_connection_file
    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: traitlets.config.LoggingConfigurable.exit
    functionSourceFile: traitlets
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 10
    IfCount: 3
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 217
    functionName: jupyter_client.consoleapp.JupyterConsoleApp.init_ssh
    functionSourceFile: jupyter_client.consoleapp
    functionUses: 2
    functionsReached:
    - json.load
    - jupyter_client.connect.ConnectionFileMixin._ip_default
    - jupyter_client.connect.ConnectionFileMixin.write_connection_file
    - os.path.splitext
    - traitlets.config.LoggingConfigurable.log.error
    - jupyter_client.connect.ConnectionFileMixin._record_random_port_names
    - os.path.basename
    - traitlets.config.LoggingConfigurable.log.debug
    - <builtin>.getattr
    - <builtin>.open
    - <builtin>.setattr
    - sys.exit
    - <builtin>.isinstance
    - tunnel_to_kernel
    - key.encode
    - traitlets.config.LoggingConfigurable.log.info
    - jupyter_client.localinterfaces.localhost
    - traitlets.config.LoggingConfigurable.exit
    - info.get
    - jupyter_client.connect.ConnectionFileMixin.load_connection_file
    - jupyter_client.connect.ConnectionFileMixin.load_connection_info
    - os.path.exists
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: tunnel_to_kernel
    functionSourceFile: tunnel_to_kernel
    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: 271
    functionName: jupyter_client.consoleapp.JupyterConsoleApp._new_connection_file
    functionSourceFile: jupyter_client.consoleapp
    functionUses: 0
    functionsReached:
    - uuid.uuid4
    - os.path.exists
    - os.path.join
    - <builtin>.str
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 285
    functionName: jupyter_client.consoleapp.JupyterConsoleApp.init_kernel_manager
    functionSourceFile: jupyter_client.consoleapp
    functionUses: 2
    functionsReached:
    - traitlets.config.LoggingConfigurable.exit
    - typing.cast
    - atexit.register
    - traitlets.config.LoggingConfigurable.log.critical
    - traitlets.Type
    - signal.signal
    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: 335
    functionName: jupyter_client.consoleapp.JupyterConsoleApp.init_kernel_client
    functionSourceFile: jupyter_client.consoleapp
    functionUses: 2
    functionsReached:
    - jupyter_client.client.KernelClient.start_channels
    - traitlets.config.LoggingConfigurable.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 3
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 371
    functionName: jupyter_client.consoleapp.IPythonConsoleApp.__init__
    functionSourceFile: jupyter_client.consoleapp
    functionUses: 0
    functionsReached:
    - <builtin>.super
    - warnings.warn
    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: jupyter_client.kernelapp
    functionSourceFile: jupyter_client.kernelapp
    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: jupyter_client.kernelapp.KernelApp
    functionSourceFile: jupyter_client.kernelapp
    functionUses: 0
    functionsReached:
    - traitlets.Unicode
    - traitlets.Unicode.tag
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 4
    IfCount: 0
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7fc4aa17b430>
    argNames:
    - self
    - argv
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 34
    functionName: jupyter_client.kernelapp.KernelApp.initialize
    functionSourceFile: jupyter_client.kernelapp
    functionUses: 0
    functionsReached:
    - tornado.ioloop.IOLoop.current
    - uuid.uuid4
    - jupyter_client.manager.KernelManager.__init__
    - os.path.join
    - <builtin>.super
    - jupyter_core.application.JupyterApp.config.setdefault
    - kwargs.pop
    - 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: jupyter_core.application.JupyterApp.config.setdefault
    functionSourceFile: jupyter_core
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 47
    functionName: jupyter_client.kernelapp.KernelApp.setup_signals
    functionSourceFile: jupyter_client.kernelapp
    functionUses: 1
    functionsReached:
    - signal.signal
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - signo
    - frame
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 52
    functionName: jupyter_client.kernelapp.KernelApp.setup_signals.shutdown_handler
    functionSourceFile: jupyter_client.kernelapp
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 4
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - signo
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 58
    functionName: jupyter_client.kernelapp.KernelApp.shutdown
    functionSourceFile: jupyter_client.kernelapp
    functionUses: 0
    functionsReached:
    - jupyter_core.application.JupyterApp.log.info
    - jupyter_core.utils.run_sync
    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: 64
    functionName: jupyter_client.kernelapp.KernelApp.log_connection_info
    functionSourceFile: jupyter_client.kernelapp
    functionUses: 1
    functionsReached:
    - os.path.basename
    - jupyter_core.application.JupyterApp.log.info
    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: 70
    functionName: jupyter_client.kernelapp.KernelApp._record_started
    functionSourceFile: jupyter_client.kernelapp
    functionUses: 0
    functionsReached:
    - <builtin>.open
    - os.environ.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 7
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 80
    functionName: jupyter_client.kernelapp.KernelApp.start
    functionSourceFile: jupyter_client.kernelapp
    functionUses: 0
    functionsReached:
    - os.path.basename
    - jupyter_client.kernelapp.KernelApp.log_connection_info
    - jupyter_core.utils.run_sync
    - jupyter_client.kernelapp.KernelApp.setup_signals
    - jupyter_core.application.JupyterApp.log.info
    - signal.signal
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  Function list name: All functions
Function coverage:
  '...fuzz_serialization':
  - 51
  - 50
  - 19
  '...fuzz_serialization.TestOneInput':
  - 33
  - 34
  - 36
  - 37
  - 38
  - 40
  - 41
  - 28
  - 29
  - 30
  - 31
  '...fuzz_serialization.main':
  - 48
  - 46
  - 47
  jupyter_client:
  - 1
  jupyter_client._version:
  - 1
  - 9
  - 10
  - 11
  - 12
  - 13
  - 16
  jupyter_client.adapter:
  - 1
  - 429
  - 430
  - 28
  - 29
  - 30
  jupyter_client.adapter.Adapter:
  - 57
  jupyter_client.adapter.Adapter.__call__:
  - 98
  - 99
  - 100
  - 88
  - 89
  - 90
  - 93
  - 94
  jupyter_client.adapter.Adapter.handle_reply_status_error:
  - 81
  jupyter_client.adapter.Adapter.update_header:
  - 65
  jupyter_client.adapter.Adapter.update_metadata:
  - 69
  jupyter_client.adapter.Adapter.update_msg_type:
  - 73
  - 76
  jupyter_client.adapter.V4toV5:
  - 244
  - 239
  jupyter_client.adapter.V4toV5.complete_reply:
  - 314
  - 323
  - 322
  jupyter_client.adapter.V4toV5.complete_request:
  - 305
  jupyter_client.adapter.V4toV5.display_data:
  - 377
  - 379
  - 373
  - 375
  jupyter_client.adapter.V4toV5.execute_reply:
  - 288
  - 290
  - 291
  - 292
  - 293
  - 296
  - 297
  - 298
  - 300
  jupyter_client.adapter.V4toV5.execute_request:
  - 281
  - 282
  - 283
  - 279
  jupyter_client.adapter.V4toV5.input_request:
  - 388
  - 389
  jupyter_client.adapter.V4toV5.inspect_reply:
  - 352
  - 353
  - 355
  - 356
  - 357
  - 359
  - 360
  - 361
  - 343
  - 349
  - 351
  jupyter_client.adapter.V4toV5.inspect_request:
  - 338
  - 332
  jupyter_client.adapter.V4toV5.kernel_info_reply:
  - 256
  - 258
  - 259
  - 260
  - 262
  - 264
  - 266
  - 268
  - 269
  - 270
  - 271
  - 272
  - 273
  jupyter_client.adapter.V4toV5.stream:
  - 369
  - 367
  jupyter_client.adapter.V4toV5.update_header:
  - 249
  - 247
  jupyter_client.adapter.V5toV4:
  - 118
  jupyter_client.adapter.V5toV4.complete_reply:
  - 185
  - 186
  - 189
  - 183
  jupyter_client.adapter.V5toV4.complete_request:
  - 169
  - 173
  jupyter_client.adapter.V5toV4.display_data:
  - 224
  - 218
  - 220
  - 222
  jupyter_client.adapter.V5toV4.execute_reply:
  - 162
  - 164
  jupyter_client.adapter.V5toV4.execute_request:
  - 156
  - 158
  jupyter_client.adapter.V5toV4.input_request:
  - 233
  - 234
  jupyter_client.adapter.V5toV4.kernel_info_reply:
  - 139
  - 142
  - 143
  - 144
  - 145
  - 146
  - 147
  - 148
  - 149
  - 150
  - 151
  jupyter_client.adapter.V5toV4.object_info_reply:
  - 205
  jupyter_client.adapter.V5toV4.object_info_request:
  - 200
  - 193
  - 197
  jupyter_client.adapter.V5toV4.stream:
  - 212
  - 214
  jupyter_client.adapter.V5toV4.update_header:
  - 131
  - 132
  - 133
  jupyter_client.adapter._version_str_to_list:
  - 104
  - 109
  - 111
  jupyter_client.adapter.adapt:
  - 416
  - 417
  - 421
  - 422
  - 424
  - 394
  - 414
  - 415
  jupyter_client.adapter.code_to_line:
  - 12
  - 17
  - 19
  - 20
  - 21
  jupyter_client.adapter.extract_oname_v4:
  - 34
  - 39
  - 42
  - 45
  - 48
  - 49
  - 50
  jupyter_client.asynchronous.client:
  - 1
  jupyter_client.asynchronous.client.AsyncKernelClient:
  - 64
  - 65
  - 66
  - 67
  - 36
  - 68
  - 69
  - 75
  - 54
  - 55
  - 56
  - 57
  - 58
  - 30
  - 63
  jupyter_client.asynchronous.client.AsyncKernelClient._context_default:
  - 40
  jupyter_client.asynchronous.client.wrapped:
  - 16
  jupyter_client.asynchronous.client.wrapped._:
  - 19
  - 20
  - 21
  - 22
  - 24
  jupyter_client.blocking.client:
  - 1
  jupyter_client.blocking.client.BlockingKernelClient:
  - 33
  - 43
  - 44
  - 45
  - 46
  - 48
  - 51
  - 52
  - 53
  - 54
  - 55
  - 57
  - 60
  - 61
  - 62
  - 63
  - 64
  - 65
  - 67
  - 68
  - 71
  jupyter_client.blocking.client.wrapped:
  - 19
  jupyter_client.blocking.client.wrapped._:
  - 22
  - 23
  - 24
  - 25
  - 27
  jupyter_client.channels:
  - 1
  - 194
  jupyter_client.channels.AsyncZMQSocketChannel:
  - 276
  jupyter_client.channels.AsyncZMQSocketChannel.__init__:
  - 281
  - 292
  - 295
  jupyter_client.channels.AsyncZMQSocketChannel._recv:
  - 299
  - 300
  - 301
  jupyter_client.channels.AsyncZMQSocketChannel.get_msg:
  - 306
  - 308
  - 310
  - 311
  - 312
  jupyter_client.channels.AsyncZMQSocketChannel.get_msgs:
  - 322
  - 318
  jupyter_client.channels.AsyncZMQSocketChannel.msg_ready:
  - 328
  - 330
  jupyter_client.channels.HBChannel:
  - 35
  jupyter_client.channels.HBChannel.__init__:
  - 69
  - 74
  - 75
  - 85
  - 88
  - 58
  jupyter_client.channels.HBChannel._async_run:
  - 128
  - 130
  - 132
  - 133
  - 135
  - 137
  - 139
  - 140
  - 142
  - 112
  - 113
  - 119
  - 121
  - 127
  jupyter_client.channels.HBChannel._create_socket:
  - 99
  - 101
  - 102
  - 104
  - 107
  - 109
  jupyter_client.channels.HBChannel._notice_exit:
  - 95
  jupyter_client.channels.HBChannel.call_handlers:
  - 184
  jupyter_client.channels.HBChannel.close:
  - 176
  - 178
  - 175
  jupyter_client.channels.HBChannel.is_beating:
  - 161
  - 162
  jupyter_client.channels.HBChannel.pause:
  - 153
  jupyter_client.channels.HBChannel.run:
  - 146
  - 147
  - 148
  - 149
  - 150
  jupyter_client.channels.HBChannel.stop:
  - 168
  - 170
  - 171
  - 172
  jupyter_client.channels.HBChannel.unpause:
  - 157
  jupyter_client.channels.InvalidPortNumber:
  - 29
  jupyter_client.channels.ZMQSocketChannel:
  - 198
  jupyter_client.channels.ZMQSocketChannel.__init__:
  - 201
  - 212
  jupyter_client.channels.ZMQSocketChannel._recv:
  - 219
  - 220
  - 221
  jupyter_client.channels.ZMQSocketChannel.close:
  - 251
  - 252
  - 254
  jupyter_client.channels.ZMQSocketChannel.get_msg:
  - 224
  - 226
  - 228
  - 229
  - 230
  jupyter_client.channels.ZMQSocketChannel.get_msgs:
  - 240
  - 236
  jupyter_client.channels.ZMQSocketChannel.is_alive:
  - 262
  jupyter_client.channels.ZMQSocketChannel.msg_ready:
  - 248
  - 246
  jupyter_client.channels.ZMQSocketChannel.send:
  - 266
  - 268
  jupyter_client.channels.ZMQSocketChannel.start:
  - 271
  jupyter_client.channelsabc:
  - 1
  jupyter_client.channelsabc.ChannelABC:
  - 8
  jupyter_client.channelsabc.ChannelABC.is_alive:
  - 22
  jupyter_client.channelsabc.ChannelABC.start:
  - 12
  jupyter_client.channelsabc.ChannelABC.stop:
  - 17
  jupyter_client.channelsabc.HBChannelABC:
  - 27
  jupyter_client.channelsabc.HBChannelABC.is_beating:
  - 50
  jupyter_client.channelsabc.HBChannelABC.pause:
  - 40
  jupyter_client.channelsabc.HBChannelABC.unpause:
  - 45
  jupyter_client.client:
  - 1
  - 827
  jupyter_client.client.KernelClient:
  - 100
  - 101
  - 102
  - 103
  - 104
  - 74
  - 107
  - 108
  - 109
  - 110
  - 111
  - 91
  - 93
  jupyter_client.client.KernelClient.__del__:
  - 128
  - 129
  - 131
  - 135
  - 117
  - 118
  - 123
  - 124
  - 125
  - 127
  jupyter_client.client.KernelClient._async_execute_interactive:
  - 514
  - 515
  - 516
  - 517
  - 523
  - 528
  - 529
  - 533
  - 535
  - 536
  - 538
  - 544
  - 545
  - 546
  - 547
  - 548
  - 551
  - 552
  - 553
  - 554
  - 555
  - 557
  - 560
  - 562
  - 436
  - 565
  - 568
  - 575
  - 576
  - 577
  - 490
  - 493
  - 495
  - 498
  - 499
  - 508
  - 511
  jupyter_client.client.KernelClient._async_get_control_msg:
  - 154
  - 155
  jupyter_client.client.KernelClient._async_get_iopub_msg:
  - 146
  - 147
  jupyter_client.client.KernelClient._async_get_shell_msg:
  - 142
  - 143
  jupyter_client.client.KernelClient._async_get_stdin_msg:
  - 150
  - 151
  jupyter_client.client.KernelClient._async_is_alive:
  - 416
  - 419
  - 409
  - 412
  - 415
  jupyter_client.client.KernelClient._async_recv_reply:
  - 224
  - 226
  - 227
  - 229
  - 233
  - 219
  - 220
  - 221
  - 223
  jupyter_client.client.KernelClient._async_wait_for_ready:
  - 194
  - 166
  - 167
  - 168
  - 198
  - 201
  - 172
  - 206
  - 176
  - 177
  - 212
  - 181
  - 185
  - 187
  - 158
  - 191
  jupyter_client.client.KernelClient._context_default:
  - 97
  jupyter_client.client.KernelClient._handle_kernel_info_reply:
  - 776
  - 777
  - 771
  jupyter_client.client.KernelClient._output_hook_default:
  - 258
  - 261
  - 262
  - 263
  - 264
  - 265
  - 266
  - 267
  jupyter_client.client.KernelClient._output_hook_kernel:
  - 281
  - 282
  - 276
  - 284
  jupyter_client.client.KernelClient._stdin_hook_default:
  - 239
  - 241
  - 244
  - 249
  - 254
  - 255
  jupyter_client.client.KernelClient.channels_running:
  - 338
  - 340
  - 341
  - 342
  - 343
  - 344
  jupyter_client.client.KernelClient.comm_info:
  - 767
  - 766
  - 759
  jupyter_client.client.KernelClient.complete:
  - 648
  - 663
  - 664
  - 666
  - 667
  jupyter_client.client.KernelClient.control_channel:
  - 398
  - 399
  - 400
  - 401
  - 402
  - 403
  jupyter_client.client.KernelClient.execute:
  - 643
  - 644
  - 589
  - 623
  - 625
  - 629
  - 631
  jupyter_client.client.KernelClient.hb_channel:
  - 387
  - 388
  - 389
  - 390
  - 391
  jupyter_client.client.KernelClient.history:
  - 739
  - 708
  - 741
  - 740
  - 742
  - 743
  - 744
  jupyter_client.client.KernelClient.input:
  - 792
  - 802
  - 803
  jupyter_client.client.KernelClient.inspect:
  - 690
  - 691
  - 697
  - 698
  - 671
  jupyter_client.client.KernelClient.iopub_channel:
  - 363
  - 364
  - 365
  - 366
  - 367
  - 368
  jupyter_client.client.KernelClient.is_complete:
  - 787
  - 788
  - 781
  jupyter_client.client.KernelClient.kernel_info:
  - 754
  - 755
  - 748
  jupyter_client.client.KernelClient.shell_channel:
  - 352
  - 353
  - 354
  - 355
  - 356
  - 351
  jupyter_client.client.KernelClient.shutdown:
  - 822
  - 806
  - 823
  jupyter_client.client.KernelClient.start_channels:
  - 298
  - 306
  - 307
  - 308
  - 309
  - 310
  - 311
  - 315
  - 316
  - 317
  - 318
  jupyter_client.client.KernelClient.stdin_channel:
  - 375
  - 376
  - 377
  - 378
  - 379
  - 380
  jupyter_client.client.KernelClient.stop_channels:
  - 321
  - 325
  - 326
  - 327
  - 328
  - 329
  - 330
  - 331
  - 332
  - 333
  - 334
  jupyter_client.client.reqrep:
  - 69
  - 39
  - 40
  - 45
  - 46
  - 47
  - 48
  - 54
  jupyter_client.client.validate_string_dict:
  - 32
  - 34
  - 28
  - 31
  jupyter_client.clientabc:
  - 16
  - 1
  jupyter_client.clientabc.KernelClientABC:
  - 25
  jupyter_client.clientabc.KernelClientABC.channels_running:
  - 79
  jupyter_client.clientabc.KernelClientABC.start_channels:
  - 69
  jupyter_client.clientabc.KernelClientABC.stop_channels:
  - 74
  jupyter_client.connect:
  - 1
  - 29
  jupyter_client.connect.ConnectionFileMixin:
  - 320
  - 326
  - 360
  - 367
  - 336
  - 368
  - 338
  - 339
  - 369
  - 341
  - 370
  - 343
  - 371
  - 431
  - 381
  - 318
  jupyter_client.connect.ConnectionFileMixin._create_connected_socket:
  - 650
  - 651
  - 653
  - 654
  - 657
  - 659
  jupyter_client.connect.ConnectionFileMixin._data_dir_default:
  - 323
  jupyter_client.connect.ConnectionFileMixin._equal_connections:
  - 616
  - 630
  jupyter_client.connect.ConnectionFileMixin._ip_changed:
  - 362
  jupyter_client.connect.ConnectionFileMixin._ip_default:
  - 352
  - 353
  - 354
  - 358
  jupyter_client.connect.ConnectionFileMixin._make_url:
  - 640
  - 642
  - 637
  jupyter_client.connect.ConnectionFileMixin._reconcile_connection_info:
  - 585
  - 586
  - 587
  - 590
  - 591
  - 592
  - 601
  - 597
  - 600
  - 569
  - 602
  - 603
  - 606
  - 607
  jupyter_client.connect.ConnectionFileMixin._record_random_port_names:
  - 465
  - 470
  - 472
  - 476
  - 477
  - 478
  jupyter_client.connect.ConnectionFileMixin._session_default:
  - 386
  jupyter_client.connect.ConnectionFileMixin.blocking_client:
  - 434
  - 435
  - 436
  - 437
  jupyter_client.connect.ConnectionFileMixin.cleanup_connection_file:
  - 441
  - 449
  - 445
  jupyter_client.connect.ConnectionFileMixin.cleanup_ipc_files:
  - 457
  - 460
  - 454
  - 455
  jupyter_client.connect.ConnectionFileMixin.cleanup_random_ports:
  - 481
  - 487
  - 490
  - 491
  - 493
  jupyter_client.connect.ConnectionFileMixin.connect_control:
  - 681
  - 682
  jupyter_client.connect.ConnectionFileMixin.connect_hb:
  - 677
  - 678
  jupyter_client.connect.ConnectionFileMixin.connect_iopub:
  - 664
  - 665
  - 663
  jupyter_client.connect.ConnectionFileMixin.connect_shell:
  - 669
  - 670
  jupyter_client.connect.ConnectionFileMixin.connect_stdin:
  - 673
  - 674
  jupyter_client.connect.ConnectionFileMixin.get_connection_info:
  - 416
  - 393
  - 419
  - 422
  jupyter_client.connect.ConnectionFileMixin.load_connection_file:
  - 522
  - 530
  - 532
  - 533
  - 534
  - 535
  jupyter_client.connect.ConnectionFileMixin.load_connection_info:
  - 549
  - 550
  - 552
  - 553
  - 554
  - 556
  - 558
  - 560
  - 561
  - 562
  - 565
  - 538
  jupyter_client.connect.ConnectionFileMixin.ports:
  - 378
  jupyter_client.connect.ConnectionFileMixin.write_connection_file:
  - 515
  - 516
  - 517
  - 496
  - 497
  - 500
  jupyter_client.connect.LocalPortCache:
  - 686
  jupyter_client.connect.LocalPortCache.__init__:
  - 697
  - 698
  jupyter_client.connect.LocalPortCache.find_available_port:
  - 704
  - 705
  - 706
  - 710
  - 711
  - 702
  - 703
  jupyter_client.connect.LocalPortCache.return_port:
  - 715
  - 716
  jupyter_client.connect.find_connection_file:
  - 227
  - 228
  - 230
  - 231
  - 202
  - 203
  - 234
  - 206
  - 207
  - 208
  - 238
  - 213
  - 182
  - 219
  jupyter_client.connect.find_connection_file.<lambda1>:
  - 238
  jupyter_client.connect.tunnel_to_kernel:
  - 291
  - 294
  - 296
  - 297
  - 299
  - 273
  - 275
  - 276
  - 246
  - 278
  - 280
  jupyter_client.connect.write_connection_file:
  - 128
  - 129
  - 130
  - 131
  - 132
  - 133
  - 134
  - 135
  - 136
  - 137
  - 147
  - 151
  - 156
  - 157
  - 159
  - 162
  - 163
  - 164
  - 166
  - 168
  - 170
  - 52
  - 92
  - 93
  - 95
  - 96
  - 97
  - 104
  - 105
  - 106
  - 107
  - 108
  - 110
  - 111
  - 112
  - 114
  - 115
  - 116
  - 117
  - 118
  - 119
  - 120
  - 123
  - 124
  - 126
  jupyter_client.consoleapp:
  - 1
  - 66
  - 37
  - 47
  - 48
  - 83
  - 63
  jupyter_client.consoleapp.IPythonConsoleApp:
  - 369
  jupyter_client.consoleapp.IPythonConsoleApp.__init__:
  - 372
  - 373
  - 374
  jupyter_client.consoleapp.JupyterConsoleApp:
  - 128
  - 129
  - 138
  - 140
  - 144
  - 115
  - 116
  - 117
  - 124
  - 93
  jupyter_client.consoleapp.JupyterConsoleApp._connection_file_default:
  - 136
  jupyter_client.consoleapp.JupyterConsoleApp._new_connection_file:
  - 282
  - 277
  - 279
  jupyter_client.consoleapp.JupyterConsoleApp.build_kernel_argv:
  - 153
  jupyter_client.consoleapp.JupyterConsoleApp.init_connection_file:
  - 160
  - 192
  - 194
  - 199
  - 201
  - 175
  - 208
  - 177
  - 210
  - 179
  - 182
  - 183
  - 215
  - 189
  jupyter_client.consoleapp.JupyterConsoleApp.init_kernel_client:
  - 353
  - 336
  - 337
  - 338
  - 340
  jupyter_client.consoleapp.JupyterConsoleApp.init_kernel_manager:
  - 288
  - 318
  - 320
  - 291
  - 322
  - 295
  - 333
  - 310
  - 311
  - 313
  - 317
  - 286
  jupyter_client.consoleapp.JupyterConsoleApp.init_ssh:
  - 226
  - 227
  - 228
  - 230
  - 233
  - 250
  - 265
  - 267
  - 268
  - 269
  - 245
  - 248
  - 253
  - 218
  - 219
  - 221
  - 254
  jupyter_client.consoleapp.JupyterConsoleApp.initialize:
  - 356
  - 360
  - 362
  - 363
  - 364
  - 365
  jupyter_client.ioloop.manager:
  - 1
  jupyter_client.ioloop.manager.AsyncIOLoopKernelManager:
  - 77
  - 79
  - 112
  - 113
  - 114
  - 115
  - 84
  - 116
  - 94
  jupyter_client.ioloop.manager.AsyncIOLoopKernelManager._loop_default:
  - 82
  jupyter_client.ioloop.manager.AsyncIOLoopKernelManager.start_restarter:
  - 99
  - 100
  - 101
  - 102
  - 105
  jupyter_client.ioloop.manager.AsyncIOLoopKernelManager.stop_restarter:
  - 108
  - 109
  - 110
  jupyter_client.ioloop.manager.IOLoopKernelManager:
  - 36
  - 69
  - 38
  - 70
  - 71
  - 72
  - 73
  - 43
  - 53
  jupyter_client.ioloop.manager.IOLoopKernelManager._loop_default:
  - 41
  jupyter_client.ioloop.manager.IOLoopKernelManager.start_restarter:
  - 56
  - 57
  - 58
  - 59
  - 62
  jupyter_client.ioloop.manager.IOLoopKernelManager.stop_restarter:
  - 65
  - 66
  - 67
  jupyter_client.ioloop.manager.as_zmqstream:
  - 16
  jupyter_client.ioloop.manager.as_zmqstream.wrapped:
  - 25
  - 27
  - 21
  - 30
  jupyter_client.ioloop.restarter:
  - 1
  jupyter_client.ioloop.restarter.AsyncIOLoopKernelRestarter:
  - 53
  jupyter_client.ioloop.restarter.AsyncIOLoopKernelRestarter.poll:
  - 56
  - 57
  - 58
  - 59
  - 60
  - 61
  - 63
  - 68
  - 69
  - 70
  - 73
  - 76
  - 82
  - 83
  - 94
  - 95
  - 98
  - 100
  - 101
  jupyter_client.ioloop.restarter.IOLoopKernelRestarter:
  - 18
  - 20
  jupyter_client.ioloop.restarter.IOLoopKernelRestarter._loop_default:
  - 30
  - 23
  jupyter_client.ioloop.restarter.IOLoopKernelRestarter.start:
  - 43
  - 35
  - 36
  - 39
  jupyter_client.ioloop.restarter.IOLoopKernelRestarter.stop:
  - 48
  - 46
  - 47
  jupyter_client.jsonutil:
  - 1
  - 25
  - 31
  jupyter_client.jsonutil._ensure_tzinfo:
  - 50
  - 43
  - 45
  - 39
  jupyter_client.jsonutil.date_default:
  - 104
  - 98
  - 99
  jupyter_client.jsonutil.extract_dates:
  - 71
  - 72
  - 74
  - 75
  - 77
  - 78
  - 79
  - 80
  jupyter_client.jsonutil.json_clean:
  - 133
  - 141
  - 144
  - 146
  - 148
  - 150
  - 151
  - 152
  - 154
  - 157
  - 160
  - 162
  - 163
  - 165
  - 167
  - 168
  - 170
  - 174
  - 175
  - 176
  - 184
  - 185
  - 188
  - 189
  jupyter_client.jsonutil.json_default:
  - 108
  - 109
  - 110
  - 111
  - 113
  - 114
  - 116
  - 117
  - 119
  - 120
  - 122
  - 123
  jupyter_client.jsonutil.parse_date:
  - 64
  - 65
  - 66
  - 55
  - 61
  - 63
  jupyter_client.jsonutil.squash_dates:
  - 85
  - 86
  - 87
  - 88
  - 89
  - 90
  - 91
  - 92
  - 93
  jupyter_client.kernelapp:
  - 1
  jupyter_client.kernelapp.KernelApp:
  - 17
  - 30
  jupyter_client.kernelapp.KernelApp._record_started:
  - 75
  - 76
  - 77
  - 71
  jupyter_client.kernelapp.KernelApp.initialize:
  - 35
  - 36
  - 38
  - 39
  - 40
  - 42
  - 44
  - 45
  jupyter_client.kernelapp.KernelApp.log_connection_info:
  - 65
  - 67
  - 68
  jupyter_client.kernelapp.KernelApp.setup_signals:
  - 48
  - 49
  - 56
  - 55
  jupyter_client.kernelapp.KernelApp.setup_signals.shutdown_handler:
  - 53
  jupyter_client.kernelapp.KernelApp.shutdown:
  - 59
  - 60
  - 61
  - 62
  jupyter_client.kernelapp.KernelApp.start:
  - 81
  - 82
  - 84
  - 85
  - 86
  - 87
  - 89
  jupyter_client.kernelspec:
  - 1
  - 69
  jupyter_client.kernelspec.KernelSpec:
  - 32
  - 33
  - 34
  - 35
  - 25
  - 27
  - 28
  - 29
  - 30
  - 31
  jupyter_client.kernelspec.KernelSpec.from_resource_dir:
  - 39
  - 43
  - 44
  - 45
  - 46
  jupyter_client.kernelspec.KernelSpec.to_dict:
  - 49
  jupyter_client.kernelspec.KernelSpec.to_json:
  - 66
  - 62
  jupyter_client.kernelspec.KernelSpecManager:
  - 163
  - 133
  - 141
  - 173
  - 146
  - 151
  - 123
  - 156
  - 125
  jupyter_client.kernelspec.KernelSpecManager._data_dir_default:
  - 144
  jupyter_client.kernelspec.KernelSpecManager._deprecated_trait:
  - 175
  - 178
  - 179
  - 183
  - 187
  jupyter_client.kernelspec.KernelSpecManager._find_spec_directory:
  - 256
  - 257
  - 258
  - 259
  - 260
  - 263
  - 255
  jupyter_client.kernelspec.KernelSpecManager._get_destination_dir:
  - 343
  - 344
  - 345
  - 346
  - 348
  jupyter_client.kernelspec.KernelSpecManager._get_kernel_spec_by_name:
  - 232
  - 236
  - 243
  - 244
  - 245
  - 246
  - 247
  - 249
  jupyter_client.kernelspec.KernelSpecManager._kernel_dirs_default:
  - 197
  - 190
  jupyter_client.kernelspec.KernelSpecManager._user_kernel_dir_default:
  - 149
  jupyter_client.kernelspec.KernelSpecManager.find_kernel_specs:
  - 225
  - 227
  - 203
  - 205
  - 206
  - 207
  - 208
  - 209
  - 212
  - 216
  - 223
  jupyter_client.kernelspec.KernelSpecManager.get_all_specs:
  - 290
  - 302
  - 304
  - 306
  - 307
  - 312
  - 314
  - 318
  jupyter_client.kernelspec.KernelSpecManager.get_kernel_spec:
  - 273
  - 277
  - 278
  - 282
  - 283
  - 284
  - 287
  jupyter_client.kernelspec.KernelSpecManager.install_kernel_spec:
  - 384
  - 391
  - 392
  - 394
  - 395
  - 396
  - 402
  - 403
  - 404
  - 406
  - 407
  - 358
  - 371
  - 372
  - 373
  - 374
  - 375
  - 379
  - 383
  jupyter_client.kernelspec.KernelSpecManager.install_native_kernel_spec:
  - 418
  - 411
  - 412
  jupyter_client.kernelspec.KernelSpecManager.remove_kernel_spec:
  - 322
  - 329
  - 333
  - 334
  - 335
  - 337
  jupyter_client.kernelspec.NoSuchKernel:
  - 112
  jupyter_client.kernelspec.NoSuchKernel.__init__:
  - 115
  jupyter_client.kernelspec._is_kernel_dir:
  - 85
  - 86
  jupyter_client.kernelspec._is_valid_kernel_name:
  - 73
  - 75
  jupyter_client.kernelspec._list_kernels_in:
  - 97
  - 98
  - 99
  - 101
  - 102
  - 103
  - 90
  - 94
  jupyter_client.kernelspec.find_kernel_specs:
  - 422
  - 423
  jupyter_client.kernelspec.get_kernel_spec:
  - 427
  - 431
  jupyter_client.kernelspec.install_kernel_spec:
  - 441
  - 442
  jupyter_client.kernelspec.install_native_kernel_spec:
  - 449
  - 450
  jupyter_client.kernelspecapp:
  - 1
  - 340
  - 341
  jupyter_client.kernelspecapp.InstallKernelSpec:
  - 98
  - 73
  - 106
  - 113
  - 119
  - 87
  - 92
  - 93
  jupyter_client.kernelspecapp.InstallKernelSpec._kernel_name_default:
  - 96
  jupyter_client.kernelspecapp.InstallKernelSpec._kernel_spec_manager_default:
  - 90
  jupyter_client.kernelspecapp.InstallKernelSpec.parse_command_line:
  - 138
  - 139
  - 141
  - 144
  - 145
  jupyter_client.kernelspecapp.InstallKernelSpec.start:
  - 160
  - 161
  - 162
  - 163
  - 164
  - 165
  - 166
  - 167
  - 148
  - 149
  - 150
  - 152
  jupyter_client.kernelspecapp.InstallNativeKernelSpec:
  - 240
  - 235
  - 231
  jupyter_client.kernelspecapp.InstallNativeKernelSpec._kernel_spec_manager_default:
  - 238
  jupyter_client.kernelspecapp.InstallNativeKernelSpec.start:
  - 258
  - 259
  - 266
  - 267
  - 269
  - 271
  - 272
  - 273
  - 274
  - 278
  - 279
  jupyter_client.kernelspecapp.KernelSpecApp:
  - 321
  - 302
  - 308
  - 310
  - 313
  - 316
  - 319
  jupyter_client.kernelspecapp.KernelSpecApp.start:
  - 329
  - 330
  - 331
  - 332
  - 333
  - 334
  - 335
  - 337
  jupyter_client.kernelspecapp.ListKernelSpecs:
  - 26
  - 27
  - 22
  jupyter_client.kernelspecapp.ListKernelSpecs._kernel_spec_manager_default:
  - 42
  jupyter_client.kernelspecapp.ListKernelSpecs.start:
  - 64
  - 65
  - 66
  - 68
  - 45
  - 46
  - 47
  - 48
  - 49
  - 50
  - 53
  jupyter_client.kernelspecapp.ListKernelSpecs.start.<lambda1>:
  - 53
  jupyter_client.kernelspecapp.ListKernelSpecs.start.path_key:
  - 56
  - 58
  - 59
  jupyter_client.kernelspecapp.ListProvisioners:
  - 283
  jupyter_client.kernelspecapp.ListProvisioners.start:
  - 289
  - 290
  - 291
  - 292
  - 295
  - 297
  - 298
  jupyter_client.kernelspecapp.ListProvisioners.start.<lambda1>:
  - 295
  jupyter_client.kernelspecapp.RemoveKernelSpec:
  - 172
  - 178
  - 179
  - 181
  - 189
  jupyter_client.kernelspecapp.RemoveKernelSpec._kernel_spec_manager_default:
  - 184
  jupyter_client.kernelspecapp.RemoveKernelSpec.parse_command_line:
  - 192
  - 193
  - 195
  - 196
  - 198
  jupyter_client.kernelspecapp.RemoveKernelSpec.start:
  - 201
  - 203
  - 204
  - 205
  - 206
  - 208
  - 209
  - 210
  - 211
  - 212
  - 213
  - 214
  - 217
  - 219
  - 221
  - 222
  - 223
  - 224
  - 227
  jupyter_client.launcher:
  - 1
  jupyter_client.launcher.launch_kernel:
  - 129
  - 132
  - 134
  - 149
  - 150
  - 23
  - 154
  - 155
  - 161
  - 162
  - 163
  - 165
  - 166
  - 172
  - 177
  - 179
  - 67
  - 68
  - 69
  - 75
  - 77
  - 85
  - 88
  - 89
  - 96
  - 97
  - 117
  - 120
  - 121
  jupyter_client.localinterfaces:
  - 104
  - 1
  - 138
  jupyter_client.localinterfaces._get_output:
  - 36
  - 38
  - 39
  - 41
  - 42
  - 43
  - 44
  - 46
  jupyter_client.localinterfaces._load_ips:
  - 226
  - 261
  - 263
  - 266
  - 267
  - 238
  - 244
  - 246
  - 251
  - 255
  jupyter_client.localinterfaces._load_ips_dumb:
  - 217
  jupyter_client.localinterfaces._load_ips_gethostbyname:
  - 197
  - 198
  - 200
  - 201
  - 205
  - 206
  - 209
  - 211
  - 185
  - 191
  jupyter_client.localinterfaces._load_ips_ifconfig:
  - 108
  - 111
  - 114
  - 116
  - 118
  - 119
  - 120
  - 121
  - 122
  jupyter_client.localinterfaces._load_ips_ip:
  - 129
  - 131
  - 132
  - 133
  - 134
  - 135
  - 126
  - 127
  jupyter_client.localinterfaces._load_ips_ipconfig:
  - 142
  - 143
  - 145
  - 147
  - 148
  - 149
  - 150
  - 151
  jupyter_client.localinterfaces._load_ips_netifaces:
  - 163
  - 165
  - 166
  - 167
  - 168
  - 170
  - 171
  - 172
  - 174
  - 175
  - 178
  - 179
  - 180
  - 181
  - 155
  jupyter_client.localinterfaces._only_once:
  - 50
  jupyter_client.localinterfaces._only_once.wrapped:
  - 56
  - 54
  jupyter_client.localinterfaces._populate_from_list:
  - 96
  - 98
  - 100
  - 101
  - 79
  - 80
  - 87
  - 88
  - 89
  - 90
  - 91
  - 94
  jupyter_client.localinterfaces._requires_ips:
  - 64
  jupyter_client.localinterfaces._requires_ips.ips_loaded:
  - 67
  - 68
  jupyter_client.localinterfaces._uniq_stable:
  - 21
  - 26
  - 28
  - 29
  - 30
  - 31
  jupyter_client.localinterfaces.is_local_ip:
  - 290
  jupyter_client.localinterfaces.is_public_ip:
  - 296
  jupyter_client.localinterfaces.local_ips:
  - 272
  jupyter_client.localinterfaces.localhost:
  - 284
  jupyter_client.localinterfaces.public_ips:
  - 278
  jupyter_client.manager:
  - 752
  - 1
  - 60
  jupyter_client.manager.AsyncKernelManager:
  - 714
  - 717
  - 720
  - 723
  - 725
  jupyter_client.manager.AsyncKernelManager._context_default:
  - 728
  jupyter_client.manager.AsyncKernelManager.client:
  - 733
  - 734
  jupyter_client.manager.KernelManager:
  - 129
  - 513
  - 131
  - 137
  - 638
  - 140
  - 142
  - 146
  - 404
  - 150
  - 157
  - 159
  - 671
  - 163
  - 419
  - 168
  - 555
  - 688
  - 182
  - 184
  - 442
  - 702
  - 198
  - 455
  - 204
  - 598
  - 220
  - 221
  - 223
  - 225
  - 102
  - 615
  - 360
  - 496
  - 126
  jupyter_client.manager.KernelManager.__del__:
  - 232
  - 233
  jupyter_client.manager.KernelManager.__init__:
  - 110
  - 111
  - 112
  - 120
  - 121
  jupyter_client.manager.KernelManager._async_cleanup_resources:
  - 499
  - 500
  - 501
  - 503
  - 504
  - 507
  - 508
  - 510
  - 511
  jupyter_client.manager.KernelManager._async_finish_shutdown:
  - 480
  - 483
  - 484
  - 487
  - 489
  - 492
  - 494
  - 463
  - 468
  - 469
  - 470
  - 471
  - 474
  - 475
  - 478
  jupyter_client.manager.KernelManager._async_interrupt_kernel:
  - 641
  - 646
  - 647
  - 648
  - 652
  - 653
  - 655
  - 657
  - 660
  - 661
  - 663
  - 664
  - 665
  - 666
  jupyter_client.manager.KernelManager._async_is_alive:
  - 691
  - 692
  - 695
  - 697
  - 698
  jupyter_client.manager.KernelManager._async_kill_kernel:
  - 618
  - 622
  - 624
  - 628
  - 631
  - 635
  - 636
  jupyter_client.manager.KernelManager._async_launch_kernel:
  - 354
  - 347
  - 358
  jupyter_client.manager.KernelManager._async_post_start_kernel:
  - 415
  - 417
  - 414
  - 407
  jupyter_client.manager.KernelManager._async_pre_start_kernel:
  - 390
  - 393
  - 394
  - 395
  - 400
  - 401
  - 378
  jupyter_client.manager.KernelManager._async_request_shutdown:
  - 449
  - 450
  - 452
  - 445
  - 447
  jupyter_client.manager.KernelManager._async_restart_kernel:
  - 584
  - 589
  - 591
  - 560
  - 592
  - 595
  - 596
  jupyter_client.manager.KernelManager._async_send_kernel_sigterm:
  - 610
  - 611
  - 613
  jupyter_client.manager.KernelManager._async_shutdown_kernel:
  - 544
  - 545
  - 547
  - 517
  - 551
  - 553
  - 534
  - 539
  - 541
  - 542
  jupyter_client.manager.KernelManager._async_signal_kernel:
  - 681
  - 674
  - 683
  jupyter_client.manager.KernelManager._async_start_kernel:
  - 423
  - 435
  - 438
  - 439
  - 440
  jupyter_client.manager.KernelManager._async_wait:
  - 709
  - 710
  jupyter_client.manager.KernelManager._client_class_changed:
  - 148
  jupyter_client.manager.KernelManager._client_factory_default:
  - 144
  jupyter_client.manager.KernelManager._close_control_socket:
  - 370
  - 372
  jupyter_client.manager.KernelManager._connect_control_socket:
  - 365
  - 366
  jupyter_client.manager.KernelManager._context_default:
  - 134
  jupyter_client.manager.KernelManager._kernel_name_changed:
  - 187
  jupyter_client.manager.KernelManager._kernel_spec_manager_default:
  - 161
  jupyter_client.manager.KernelManager.add_restart_callback:
  - 248
  - 249
  - 251
  jupyter_client.manager.KernelManager.client:
  - 264
  - 266
  - 267
  - 275
  - 276
  jupyter_client.manager.KernelManager.format_kernel_cmd:
  - 328
  - 332
  - 334
  - 304
  - 336
  - 338
  - 309
  - 344
  jupyter_client.manager.KernelManager.format_kernel_cmd.from_ns:
  - 341
  - 342
  jupyter_client.manager.KernelManager.has_kernel:
  - 606
  jupyter_client.manager.KernelManager.kernel_spec:
  - 194
  - 195
  jupyter_client.manager.KernelManager.ready:
  - 210
  - 211
  - 212
  jupyter_client.manager.KernelManager.remove_restart_callback:
  - 257
  - 254
  - 255
  jupyter_client.manager.KernelManager.start_restarter:
  - 240
  jupyter_client.manager.KernelManager.stop_restarter:
  - 244
  jupyter_client.manager.KernelManager.update_env:
  - 296
  - 297
  - 299
  - 301
  - 283
  jupyter_client.manager._ShutdownStatus:
  - 46
  jupyter_client.manager._get_future:
  - 64
  - 66
  - 67
  - 70
  jupyter_client.manager.in_pending_state:
  - 80
  - 74
  - 98
  jupyter_client.manager.in_pending_state.wrapper:
  - 82
  - 83
  - 84
  - 87
  - 89
  - 90
  - 91
  - 94
  - 95
  jupyter_client.manager.run_kernel:
  - 801
  - 803
  - 805
  - 806
  - 793
  jupyter_client.manager.start_new_async_kernel:
  - 776
  - 777
  - 778
  - 779
  - 780
  - 782
  - 784
  - 785
  jupyter_client.manager.start_new_kernel:
  - 758
  - 759
  - 760
  - 761
  - 762
  - 764
  - 766
  - 767
  jupyter_client.managerabc:
  - 1
  jupyter_client.managerabc.KernelManagerABC:
  - 9
  jupyter_client.managerabc.KernelManagerABC.interrupt_kernel:
  - 45
  jupyter_client.managerabc.KernelManagerABC.is_alive:
  - 55
  jupyter_client.managerabc.KernelManagerABC.restart_kernel:
  - 36
  jupyter_client.managerabc.KernelManagerABC.shutdown_kernel:
  - 31
  jupyter_client.managerabc.KernelManagerABC.signal_kernel:
  - 50
  jupyter_client.managerabc.KernelManagerABC.start_kernel:
  - 26
  jupyter_client.multikernelmanager:
  - 1
  jupyter_client.multikernelmanager.AsyncMultiKernelManager:
  - 600
  - 608
  - 616
  - 614
  jupyter_client.multikernelmanager.AsyncMultiKernelManager._context_default:
  - 619
  jupyter_client.multikernelmanager.MultiKernelManager:
  - 287
  - 52
  - 54
  - 438
  - 58
  - 60
  - 67
  - 71
  - 73
  - 334
  - 91
  - 96
  - 98
  - 100
  - 107
  - 112
  - 113
  - 115
  - 382
  jupyter_client.multikernelmanager.MultiKernelManager.__del__:
  - 128
  - 132
  - 122
  - 123
  - 124
  - 125
  - 126
  jupyter_client.multikernelmanager.MultiKernelManager.__init__:
  - 118
  jupyter_client.multikernelmanager.MultiKernelManager.__len__:
  - 186
  - 187
  jupyter_client.multikernelmanager.MultiKernelManager._add_kernel_when_ready:
  - 232
  - 234
  - 236
  jupyter_client.multikernelmanager.MultiKernelManager._async_restart_kernel:
  - 417
  - 431
  - 432
  - 435
  - 436
  jupyter_client.multikernelmanager.MultiKernelManager._async_shutdown_all:
  - 365
  - 366
  - 367
  - 368
  - 369
  - 370
  - 372
  - 373
  - 375
  - 377
  jupyter_client.multikernelmanager.MultiKernelManager._async_shutdown_kernel:
  - 321
  - 322
  - 324
  - 325
  - 295
  - 328
  - 329
  - 331
  - 306
  - 308
  - 311
  - 312
  - 313
  - 317
  - 319
  jupyter_client.multikernelmanager.MultiKernelManager._async_start_kernel:
  - 262
  - 263
  - 264
  - 265
  - 271
  - 272
  - 275
  - 280
  - 282
  - 255
  jupyter_client.multikernelmanager.MultiKernelManager._check_kernel_id:
  - 454
  - 455
  jupyter_client.multikernelmanager.MultiKernelManager._context_default:
  - 110
  jupyter_client.multikernelmanager.MultiKernelManager._create_kernel_manager_factory:
  - 78
  jupyter_client.multikernelmanager.MultiKernelManager._create_kernel_manager_factory.create_kernel_manager:
  - 81
  - 82
  - 84
  - 85
  - 86
  jupyter_client.multikernelmanager.MultiKernelManager._kernel_manager_class_changed:
  - 69
  jupyter_client.multikernelmanager.MultiKernelManager._kernel_manager_factory_default:
  - 75
  jupyter_client.multikernelmanager.MultiKernelManager._remove_kernel_when_ready:
  - 242
  - 243
  - 244
  - 246
  jupyter_client.multikernelmanager.MultiKernelManager._starting_kernels:
  - 104
  jupyter_client.multikernelmanager.MultiKernelManager._using_pending_kernels:
  - 249
  - 252
  jupyter_client.multikernelmanager.MultiKernelManager.add_restart_callback:
  - 473
  jupyter_client.multikernelmanager.MultiKernelManager.cleanup_resources:
  - 352
  jupyter_client.multikernelmanager.MultiKernelManager.connect_control:
  - 539
  jupyter_client.multikernelmanager.MultiKernelManager.connect_hb:
  - 575
  jupyter_client.multikernelmanager.MultiKernelManager.connect_iopub:
  - 503
  jupyter_client.multikernelmanager.MultiKernelManager.connect_shell:
  - 521
  jupyter_client.multikernelmanager.MultiKernelManager.connect_stdin:
  - 557
  jupyter_client.multikernelmanager.MultiKernelManager.finish_shutdown:
  - 347
  - 348
  jupyter_client.multikernelmanager.MultiKernelManager.get_connection_info:
  - 483
  jupyter_client.multikernelmanager.MultiKernelManager.get_kernel:
  - 466
  - 459
  jupyter_client.multikernelmanager.MultiKernelManager.interrupt_kernel:
  - 385
  - 392
  - 393
  - 396
  - 397
  jupyter_client.multikernelmanager.MultiKernelManager.is_alive:
  - 442
  jupyter_client.multikernelmanager.MultiKernelManager.list_kernel_ids:
  - 135
  - 136
  - 137
  - 138
  - 139
  - 142
  - 143
  - 144
  - 145
  - 146
  - 151
  - 152
  - 155
  - 156
  - 160
  - 161
  - 164
  - 166
  - 171
  - 172
  - 177
  - 183
  jupyter_client.multikernelmanager.MultiKernelManager.new_kernel_id:
  - 596
  - 590
  jupyter_client.multikernelmanager.MultiKernelManager.pre_start_kernel:
  - 196
  - 197
  - 200
  - 206
  - 208
  - 209
  jupyter_client.multikernelmanager.MultiKernelManager.remove_kernel:
  - 362
  - 355
  jupyter_client.multikernelmanager.MultiKernelManager.remove_restart_callback:
  - 479
  jupyter_client.multikernelmanager.MultiKernelManager.request_shutdown:
  - 338
  jupyter_client.multikernelmanager.MultiKernelManager.signal_kernel:
  - 402
  - 414
  jupyter_client.multikernelmanager.MultiKernelManager.update_env:
  - 225
  - 218
  - 226
  jupyter_client.multikernelmanager.kernel_method:
  - 33
  - 31
  jupyter_client.multikernelmanager.kernel_method.wrapped:
  - 41
  - 44
  - 38
  - 39
  jupyter_client.provisioning.factory:
  - 1
  - 10
  jupyter_client.provisioning.factory.KernelProvisionerFactory:
  - 45
  - 21
  - 39
  jupyter_client.provisioning.factory.KernelProvisionerFactory.__init__:
  - 51
  - 52
  - 54
  jupyter_client.provisioning.factory.KernelProvisionerFactory._check_availability:
  - 107
  - 117
  - 119
  jupyter_client.provisioning.factory.KernelProvisionerFactory._default_provisioner_name_default:
  - 48
  - 47
  jupyter_client.provisioning.factory.KernelProvisionerFactory._get_all_provisioners:
  - 168
  - 169
  jupyter_client.provisioning.factory.KernelProvisionerFactory._get_provisioner:
  - 196
  - 172
  - 173
  - 174
  - 185
  - 186
  - 187
  jupyter_client.provisioning.factory.KernelProvisionerFactory._get_provisioner_config:
  - 145
  - 146
  - 147
  - 150
  - 126
  jupyter_client.provisioning.factory.KernelProvisionerFactory.create_provisioner_instance:
  - 99
  - 100
  - 101
  - 79
  - 89
  - 90
  - 91
  - 95
  jupyter_client.provisioning.factory.KernelProvisionerFactory.get_provisioner_entries:
  - 162
  - 155
  jupyter_client.provisioning.factory.KernelProvisionerFactory.is_provisioner_available:
  - 65
  - 66
  - 67
  - 69
  - 58
  jupyter_client.provisioning.local_provisioner:
  - 1
  jupyter_client.provisioning.local_provisioner.LocalProvisioner:
  - 17
  jupyter_client.provisioning.local_provisioner.LocalProvisioner._scrub_kwargs:
  - 224
  - 226
  - 227
  - 228
  jupyter_client.provisioning.local_provisioner.LocalProvisioner._tolerate_no_process:
  - 129
  - 130
  - 137
  jupyter_client.provisioning.local_provisioner.LocalProvisioner.cleanup:
  - 141
  - 142
  - 144
  - 152
  - 153
  - 154
  - 155
  jupyter_client.provisioning.local_provisioner.LocalProvisioner.get_provisioner_info:
  - 232
  - 233
  - 234
  jupyter_client.provisioning.local_provisioner.LocalProvisioner.kill:
  - 96
  - 97
  - 98
  - 101
  - 106
  - 108
  jupyter_client.provisioning.local_provisioner.LocalProvisioner.launch_kernel:
  - 208
  - 209
  - 210
  - 212
  - 214
  jupyter_client.provisioning.local_provisioner.LocalProvisioner.load_provisioner_info:
  - 238
  - 239
  jupyter_client.provisioning.local_provisioner.LocalProvisioner.poll:
  - 40
  - 42
  - 43
  jupyter_client.provisioning.local_provisioner.LocalProvisioner.pre_launch:
  - 158
  - 168
  - 169
  - 175
  - 179
  - 183
  - 184
  - 185
  - 186
  - 187
  - 188
  - 189
  - 191
  - 192
  - 193
  - 195
  - 196
  - 198
  - 202
  - 205
  jupyter_client.provisioning.local_provisioner.LocalProvisioner.send_signal:
  - 68
  - 76
  - 77
  - 80
  - 84
  - 86
  - 92
  jupyter_client.provisioning.local_provisioner.LocalProvisioner.terminate:
  - 111
  - 112
  - 113
  - 116
  - 121
  - 123
  jupyter_client.provisioning.local_provisioner.LocalProvisioner.wait:
  - 47
  - 49
  - 54
  - 55
  - 58
  - 60
  - 61
  - 62
  - 63
  jupyter_client.provisioning.provisioner_base:
  - 1
  jupyter_client.provisioning.provisioner_base.KernelProvisionerBase:
  - 32
  - 33
  - 20
  jupyter_client.provisioning.provisioner_base.KernelProvisionerBase.__apply_env_substitutions:
  - 248
  - 256
  - 237
  - 255
  jupyter_client.provisioning.provisioner_base.KernelProvisionerBase._finalize_env:
  - 234
  - 231
  - 223
  jupyter_client.provisioning.provisioner_base.KernelProvisionerBase.cleanup:
  - 117
  jupyter_client.provisioning.provisioner_base.KernelProvisionerBase.get_provisioner_info:
  - 174
  jupyter_client.provisioning.provisioner_base.KernelProvisionerBase.get_shutdown_wait_time:
  - 203
  jupyter_client.provisioning.provisioner_base.KernelProvisionerBase.get_stable_start_time:
  - 214
  jupyter_client.provisioning.provisioner_base.KernelProvisionerBase.has_process:
  - 39
  jupyter_client.provisioning.provisioner_base.KernelProvisionerBase.kill:
  - 80
  jupyter_client.provisioning.provisioner_base.KernelProvisionerBase.launch_kernel:
  - 107
  jupyter_client.provisioning.provisioner_base.KernelProvisionerBase.load_provisioner_info:
  - 189
  jupyter_client.provisioning.provisioner_base.KernelProvisionerBase.poll:
  - 49
  jupyter_client.provisioning.provisioner_base.KernelProvisionerBase.post_launch:
  - 165
  jupyter_client.provisioning.provisioner_base.KernelProvisionerBase.pre_launch:
  - 140
  - 157
  - 158
  - 159
  jupyter_client.provisioning.provisioner_base.KernelProvisionerBase.send_signal:
  - 70
  jupyter_client.provisioning.provisioner_base.KernelProvisionerBase.shutdown_requested:
  - 128
  jupyter_client.provisioning.provisioner_base.KernelProvisionerBase.terminate:
  - 93
  jupyter_client.provisioning.provisioner_base.KernelProvisionerBase.wait:
  - 59
  jupyter_client.restarter:
  - 1
  jupyter_client.restarter.KernelRestarter:
  - 33
  - 35
  - 41
  - 47
  - 20
  - 52
  - 22
  - 53
  - 24
  - 54
  - 55
  - 61
  - 57
  jupyter_client.restarter.KernelRestarter._default_last_dead:
  - 59
  jupyter_client.restarter.KernelRestarter._fire_callbacks:
  - 105
  - 107
  - 102
  - 103
  jupyter_client.restarter.KernelRestarter.add_callback:
  - 85
  - 77
  jupyter_client.restarter.KernelRestarter.poll:
  - 128
  - 129
  - 130
  - 133
  - 136
  - 142
  - 143
  - 154
  - 155
  - 158
  - 160
  - 161
  - 115
  - 116
  - 117
  - 118
  - 120
  - 121
  - 123
  jupyter_client.restarter.KernelRestarter.remove_callback:
  - 88
  - 97
  jupyter_client.restarter.KernelRestarter.start:
  - 67
  jupyter_client.restarter.KernelRestarter.stop:
  - 72
  jupyter_client.runapp:
  - 128
  - 1
  - 33
  - 37
  - 38
  - 22
  - 24
  - 26
  - 127
  - 29
  - 31
  jupyter_client.runapp.RunApp:
  - 42
  - 47
  - 48
  - 49
  - 50
  - 51
  jupyter_client.runapp.RunApp.handle_sigint:
  - 80
  - 81
  - 83
  - 79
  jupyter_client.runapp.RunApp.init_kernel_info:
  - 99
  - 86
  - 88
  - 89
  - 90
  - 93
  - 95
  jupyter_client.runapp.RunApp.initialize:
  - 71
  - 72
  - 73
  - 74
  - 75
  - 76
  jupyter_client.runapp.RunApp.parse_command_line:
  - 64
  - 65
  - 66
  jupyter_client.runapp.RunApp.start:
  - 104
  - 105
  - 106
  - 107
  - 108
  - 109
  - 110
  - 111
  - 112
  - 114
  - 117
  - 118
  - 120
  jupyter_client.session:
  - 1
  - 139
  - 173
  jupyter_client.session.Message:
  - 242
  jupyter_client.session.Message.__init__:
  - 248
  - 250
  - 251
  - 252
  jupyter_client.session.Message.__iter__:
  - 257
  jupyter_client.session.Message.__repr__:
  - 260
  jupyter_client.session.Message.__str__:
  - 263
  jupyter_client.session.Session:
  - 514
  - 520
  - 396
  - 403
  - 408
  - 410
  - 411
  - 416
  - 424
  - 428
  - 302
  - 433
  - 437
  - 444
  - 456
  - 461
  - 469
  - 342
  - 470
  - 344
  - 479
  - 353
  - 481
  - 487
  - 361
  - 491
  - 493
  - 499
  - 501
  - 375
  - 509
  - 382
  jupyter_client.session.Session.__init__:
  - 576
  - 529
  - 568
  - 569
  - 570
  - 572
  - 573
  - 574
  - 575
  jupyter_client.session.Session._add_digest:
  - 999
  - 1000
  - 1004
  - 1005
  - 1007
  jupyter_client.session.Session._check_packers:
  - 642
  - 643
  - 614
  - 620
  - 625
  - 635
  - 637
  - 638
  - 607
  jupyter_client.session.Session._check_packers.<lambda1>:
  - 642
  jupyter_client.session.Session._check_packers.<lambda2>:
  - 643
  jupyter_client.session.Session._cull_digest_history:
  - 1010
  - 1014
  - 1015
  - 1016
  - 1017
  - 1019
  - 1020
  jupyter_client.session.Session._key_changed:
  - 435
  jupyter_client.session.Session._key_default:
  - 431
  jupyter_client.session.Session._keyfile_changed:
  - 483
  - 484
  jupyter_client.session.Session._new_auth:
  - 464
  - 465
  jupyter_client.session.Session._pack_changed:
  - 496
  jupyter_client.session.Session._packer_changed:
  - 368
  - 364
  - 373
  jupyter_client.session.Session._session_changed:
  - 405
  jupyter_client.session.Session._session_default:
  - 400
  - 399
  jupyter_client.session.Session._signature_scheme_changed:
  - 449
  - 451
  - 454
  - 447
  jupyter_client.session.Session._unpack_changed:
  - 505
  jupyter_client.session.Session._unpacker_changed:
  - 385
  - 394
  - 389
  jupyter_client.session.Session.clone:
  - 581
  - 590
  - 591
  - 592
  - 594
  - 595
  jupyter_client.session.Session.deserialize:
  - 1028
  - 1054
  - 1056
  - 1057
  - 1058
  - 1060
  - 1061
  - 1063
  - 1066
  - 1068
  - 1070
  - 1071
  - 1072
  - 1075
  - 1078
  - 1079
  - 1082
  - 1083
  - 1084
  - 1085
  - 1088
  - 1089
  - 1091
  - 1092
  - 1094
  - 1095
  - 1097
  jupyter_client.session.Session.feed_identities:
  - 992
  - 996
  - 981
  - 982
  - 983
  - 986
  - 988
  - 989
  - 959
  jupyter_client.session.Session.msg:
  - 672
  - 657
  - 664
  - 668
  - 670
  - 671
  jupyter_client.session.Session.msg_header:
  - 646
  - 647
  jupyter_client.session.Session.msg_id:
  - 604
  jupyter_client.session.Session.recv:
  - 933
  - 935
  - 936
  - 939
  - 941
  - 949
  - 951
  - 920
  jupyter_client.session.Session.send:
  - 809
  - 813
  - 815
  - 817
  - 821
  - 823
  - 830
  - 831
  - 834
  - 835
  - 840
  - 846
  - 850
  - 851
  - 852
  - 853
  - 854
  - 857
  - 859
  - 860
  - 863
  - 867
  - 868
  - 869
  - 870
  - 766
  jupyter_client.session.Session.send_raw:
  - 900
  - 902
  - 903
  - 905
  - 907
  - 908
  - 909
  - 910
  - 911
  - 884
  jupyter_client.session.Session.serialize:
  - 695
  - 717
  - 718
  - 720
  - 721
  - 722
  - 725
  - 727
  - 732
  - 733
  - 734
  - 740
  - 742
  - 743
  - 744
  - 745
  - 747
  - 748
  - 750
  jupyter_client.session.Session.sign:
  - 676
  - 683
  - 685
  - 686
  - 687
  - 688
  jupyter_client.session.Session.unserialize:
  - 1107
  - 1100
  - 1102
  jupyter_client.session.SessionFactory:
  - 225
  - 227
  - 209
  - 213
  - 215
  - 220
  jupyter_client.session.SessionFactory.__init__:
  - 233
  - 234
  - 236
  - 238
  jupyter_client.session.SessionFactory._context_default:
  - 223
  jupyter_client.session.SessionFactory._logname_changed:
  - 217
  jupyter_client.session.SessionFactory._loop_default:
  - 230
  jupyter_client.session.default_secure:
  - 192
  - 186
  - 195
  - 191
  jupyter_client.session.extract_header:
  - 296
  - 297
  - 282
  - 283
  jupyter_client.session.json_packer:
  - 103
  - 104
  - 110
  - 93
  - 95
  jupyter_client.session.json_unpacker:
  - 121
  - 122
  - 123
  - 124
  jupyter_client.session.msg_header:
  - 275
  - 276
  - 278
  jupyter_client.session.new_id:
  - 147
  - 156
  - 157
  jupyter_client.session.new_id_bytes:
  - 161
  - 162
  jupyter_client.session.pickle_packer:
  - 128
  - 129
  jupyter_client.session.squash_unicode:
  - 65
  - 66
  - 67
  - 68
  - 69
  - 70
  - 71
  - 72
  - 73
  - 74
  - 75
  jupyter_client.session.utcnow:
  - 200
  - 199
  jupyter_client.ssh.forward:
  - 1
  - 30
  jupyter_client.ssh.forward.ForwardServer:
  - 34
  jupyter_client.ssh.forward.Handler:
  - 41
  jupyter_client.ssh.forward.Handler.handle:
  - 45
  - 47
  - 50
  - 53
  - 54
  - 57
  - 58
  - 64
  - 65
  - 66
  - 67
  - 72
  - 73
  - 74
  - 75
  - 77
  - 78
  - 79
  - 80
  - 82
  - 83
  - 84
  - 85
  jupyter_client.ssh.forward.forward_tunnel:
  - 89
  - 99
  jupyter_client.ssh.tunnel:
  - 1
  - 434
  - 22
  - 23
  - 59
  jupyter_client.ssh.tunnel._paramiko_tunnel:
  - 418
  - 419
  - 422
  - 425
  - 394
  - 427
  - 428
  - 397
  - 398
  - 399
  - 400
  - 430
  - 431
  - 403
  jupyter_client.ssh.tunnel._split_server:
  - 309
  - 310
  - 312
  - 313
  - 314
  - 315
  jupyter_client.ssh.tunnel._stop_tunnel:
  - 305
  jupyter_client.ssh.tunnel._try_passwordless_openssh:
  - 76
  - 77
  - 81
  - 86
  - 87
  - 90
  - 93
  - 94
  jupyter_client.ssh.tunnel._try_passwordless_paramiko:
  - 106
  - 107
  - 109
  - 114
  - 115
  - 116
  - 117
  - 119
  - 123
  jupyter_client.ssh.tunnel.open_tunnel:
  - 164
  - 175
  - 176
  - 177
  - 178
  - 182
  - 191
  jupyter_client.ssh.tunnel.openssh_tunnel:
  - 260
  - 261
  - 262
  - 274
  - 275
  - 278
  - 282
  - 283
  - 289
  - 290
  - 295
  - 296
  - 298
  - 299
  - 300
  - 203
  - 238
  - 242
  - 245
  - 246
  - 250
  - 251
  - 252
  jupyter_client.ssh.tunnel.paramiko_tunnel:
  - 330
  - 369
  - 373
  - 374
  - 376
  - 382
  jupyter_client.ssh.tunnel.select_random_ports:
  - 43
  - 46
  - 47
  - 48
  - 49
  - 50
  - 51
  - 52
  jupyter_client.ssh.tunnel.try_passwordless_ssh:
  - 72
  - 69
  - 63
  jupyter_client.ssh.tunnel.tunnel_connection:
  - 136
  - 152
  - 144
  jupyter_client.threaded:
  - 1
  jupyter_client.threaded.IOLoopThread:
  - 222
  jupyter_client.threaded.IOLoopThread.__del__:
  - 286
  jupyter_client.threaded.IOLoopThread.__init__:
  - 228
  - 229
  jupyter_client.threaded.IOLoopThread._async_run:
  - 269
  - 271
  jupyter_client.threaded.IOLoopThread._notice_exit:
  - 237
  jupyter_client.threaded.IOLoopThread.close:
  - 289
  - 290
  - 292
  jupyter_client.threaded.IOLoopThread.run:
  - 260
  - 262
  - 264
  - 266
  - 252
  - 254
  - 255
  jupyter_client.threaded.IOLoopThread.run.assign_ioloop:
  - 258
  jupyter_client.threaded.IOLoopThread.start:
  - 241
  - 249
  - 246
  - 247
  jupyter_client.threaded.IOLoopThread.stop:
  - 281
  - 274
  - 282
  jupyter_client.threaded.ThreadedKernelClient:
  - 298
  - 337
  - 306
  - 339
  - 338
  - 340
  - 341
  jupyter_client.threaded.ThreadedKernelClient._check_kernel_info_reply:
  - 328
  - 326
  - 327
  jupyter_client.threaded.ThreadedKernelClient.ioloop:
  - 302
  jupyter_client.threaded.ThreadedKernelClient.is_alive:
  - 344
  - 345
  - 348
  jupyter_client.threaded.ThreadedKernelClient.start_channels:
  - 320
  - 323
  - 316
  - 317
  - 318
  jupyter_client.threaded.ThreadedKernelClient.stop_channels:
  - 332
  - 333
  - 334
  - 335
  jupyter_client.threaded.ThreadedZMQSocketChannel:
  - 28
  jupyter_client.threaded.ThreadedZMQSocketChannel.__init__:
  - 71
  - 73
  - 42
  - 53
  - 58
  jupyter_client.threaded.ThreadedZMQSocketChannel.__init__.setup_stream:
  - 64
  - 66
  - 68
  - 63
  jupyter_client.threaded.ThreadedZMQSocketChannel._flush:
  - 217
  - 215
  jupyter_client.threaded.ThreadedZMQSocketChannel._handle_recv:
  - 140
  - 146
  - 147
  - 149
  - 150
  - 151
  jupyter_client.threaded.ThreadedZMQSocketChannel.call_handlers:
  - 154
  jupyter_client.threaded.ThreadedZMQSocketChannel.close:
  - 105
  - 108
  - 110
  - 112
  - 114
  - 116
  - 90
  - 91
  - 93
  jupyter_client.threaded.ThreadedZMQSocketChannel.close.close_stream:
  - 97
  - 98
  - 101
  - 103
  jupyter_client.threaded.ThreadedZMQSocketChannel.flush:
  - 170
  - 203
  - 204
  - 205
  - 207
  - 209
  - 188
  - 190
  jupyter_client.threaded.ThreadedZMQSocketChannel.flush.flush:
  - 201
  - 197
  - 199
  jupyter_client.threaded.ThreadedZMQSocketChannel.is_alive:
  - 78
  jupyter_client.threaded.ThreadedZMQSocketChannel.process_events:
  - 164
  jupyter_client.threaded.ThreadedZMQSocketChannel.send:
  - 137
  - 122
  jupyter_client.threaded.ThreadedZMQSocketChannel.send.thread_send:
  - 134
  jupyter_client.threaded.ThreadedZMQSocketChannel.start:
  - 82
  jupyter_client.threaded.ThreadedZMQSocketChannel.stop:
  - 86
  jupyter_client.utils:
  - 1
  jupyter_client.utils._expand_path:
  - 71
  - 85
  - 86
  - 87
  - 88
  - 89
  jupyter_client.utils._filefind:
  - 64
  - 65
  - 17
  - 50
  - 52
  - 55
  - 57
  - 60
  - 61
  - 62
  - 63
  jupyter_client.win_interrupt:
  - 1
  jupyter_client.win_interrupt.create_interrupt_event:
  - 35
  - 11
  - 29
  - 30
  - 31
  jupyter_client.win_interrupt.send_interrupt:
  - 44
  - 45
  jupyter_server:
  - 1
  - 5
  - 7
  - 8
  - 13
  jupyter_server.__main__:
  - 1
  - 3
  - 6
  jupyter_server._sysinfo:
  - 1
  jupyter_server._sysinfo.get_sys_info:
  - 90
  - 92
  - 93
  jupyter_server._sysinfo.pkg_commit_hash:
  - 41
  - 43
  - 15
  - 49
  - 53
  - 54
  - 57
  jupyter_server._sysinfo.pkg_info:
  - 75
  - 84
  - 63
  jupyter_server._tz:
  - 1
  - 37
  - 13
  jupyter_server._tz.isoformat:
  - 41
  - 45
  jupyter_server._tz.tzUTC:
  - 17
  jupyter_server._tz.tzUTC.dst:
  - 24
  jupyter_server._tz.tzUTC.utcoffset:
  - 20
  jupyter_server._tz.utcfromtimestamp:
  - 34
  jupyter_server._tz.utcnow:
  - 29
  - 30
  jupyter_server._version:
  - 1
  - 13
  - 15
  - 16
  - 17
  - 18
  jupyter_server.auth.__main__:
  - 1
  - 61
  - 62
  jupyter_server.auth.__main__.main:
  - 44
  - 45
  - 46
  - 47
  - 50
  - 55
  - 56
  - 57
  - 58
  jupyter_server.auth.__main__.set_password:
  - 38
  - 39
  - 40
  - 15
  - 19
  - 20
  - 21
  - 22
  - 23
  - 24
  - 28
  - 29
  - 30
  jupyter_server.auth.authorizer:
  - 1
  - 19
  jupyter_server.auth.authorizer.AllowAllAuthorizer:
  - 72
  jupyter_server.auth.authorizer.AllowAllAuthorizer.is_authorized:
  - 82
  jupyter_server.auth.authorizer.Authorizer:
  - 24
  - 43
  jupyter_server.auth.authorizer.Authorizer.is_authorized:
  - 48
  jupyter_server.auth.decorator:
  - 1
  - 15
  jupyter_server.auth.decorator.authorized:
  - 81
  - 85
  - 87
  - 23
  jupyter_server.auth.decorator.authorized.wrapper:
  - 46
  jupyter_server.auth.decorator.authorized.wrapper.inner:
  - 66
  - 67
  - 69
  - 70
  - 72
  - 52
  - 53
  - 55
  - 57
  - 61
  - 62
  jupyter_server.auth.identity:
  - 1
  - 30
  jupyter_server.auth.identity.IdentityProvider:
  - 160
  - 129
  - 192
  - 132
  - 134
  - 140
  - 187
  - 110
  - 144
  - 176
  - 209
  - 180
  - 411
  - 150
  - 183
  - 152
  - 158
  - 126
  jupyter_server.auth.identity.IdentityProvider._force_clear_cookie:
  - 363
  - 364
  - 366
  - 367
  - 368
  - 370
  - 372
  - 350
  jupyter_server.auth.identity.IdentityProvider._get_user:
  - 256
  - 257
  - 258
  - 259
  - 260
  - 261
  - 264
  - 267
  - 227
  - 228
  - 230
  - 231
  - 232
  - 235
  - 236
  - 243
  - 246
  - 247
  - 252
  jupyter_server.auth.identity.IdentityProvider._token_default:
  - 194
  - 197
  - 199
  - 200
  - 201
  - 207
  jupyter_server.auth.identity.IdentityProvider.auth_enabled:
  - 544
  jupyter_server.auth.identity.IdentityProvider.clear_login_cookie:
  - 386
  - 375
  - 377
  - 378
  - 379
  - 380
  - 381
  jupyter_server.auth.identity.IdentityProvider.generate_anonymous_user:
  - 465
  - 470
  - 471
  - 475
  - 476
  jupyter_server.auth.identity.IdentityProvider.get_cookie_name:
  - 320
  - 329
  - 326
  jupyter_server.auth.identity.IdentityProvider.get_handlers:
  - 277
  - 282
  - 283
  - 284
  - 285
  jupyter_server.auth.identity.IdentityProvider.get_token:
  - 421
  - 422
  - 424
  - 425
  - 426
  - 414
  jupyter_server.auth.identity.IdentityProvider.get_user:
  - 212
  - 221
  jupyter_server.auth.identity.IdentityProvider.get_user_cookie:
  - 391
  - 395
  - 396
  - 399
  - 401
  - 404
  - 407
  - 408
  jupyter_server.auth.identity.IdentityProvider.get_user_token:
  - 450
  - 454
  - 455
  - 458
  - 459
  - 430
  - 436
  - 437
  - 440
  - 442
  - 444
  jupyter_server.auth.identity.IdentityProvider.identity_model:
  - 272
  - 274
  jupyter_server.auth.identity.IdentityProvider.is_token_authenticated:
  - 490
  - 499
  - 500
  jupyter_server.auth.identity.IdentityProvider.login_available:
  - 555
  jupyter_server.auth.identity.IdentityProvider.logout_available:
  - 560
  jupyter_server.auth.identity.IdentityProvider.process_login_form:
  - 527
  - 531
  - 533
  - 534
  - 535
  - 537
  - 538
  jupyter_server.auth.identity.IdentityProvider.set_login_cookie:
  - 332
  - 334
  - 335
  - 339
  - 341
  - 342
  - 343
  - 344
  - 345
  jupyter_server.auth.identity.IdentityProvider.should_check_origin:
  - 487
  - 479
  jupyter_server.auth.identity.IdentityProvider.user_from_cookie:
  - 308
  - 309
  - 310
  jupyter_server.auth.identity.IdentityProvider.user_to_cookie:
  - 296
  - 289
  jupyter_server.auth.identity.IdentityProvider.validate_security:
  - 513
  - 514
  - 515
  - 516
  - 520
  - 521
  - 507
  - 511
  jupyter_server.auth.identity.LegacyIdentityProvider:
  - 690
  - 681
  - 674
  - 683
  jupyter_server.auth.identity.LegacyIdentityProvider.get_user:
  - 705
  - 701
  - 702
  - 703
  jupyter_server.auth.identity.LegacyIdentityProvider.is_token_authenticated:
  - 720
  - 721
  jupyter_server.auth.identity.LegacyIdentityProvider.login_available:
  - 709
  - 710
  jupyter_server.auth.identity.LegacyIdentityProvider.should_check_origin:
  - 716
  - 717
  jupyter_server.auth.identity.LegacyIdentityProvider.validate_security:
  - 736
  - 728
  - 729
  - 730
  - 731
  - 733
  - 734
  - 735
  jupyter_server.auth.identity.PasswordIdentityProvider:
  - 599
  - 583
  - 615
  - 586
  - 565
  - 602
  - 567
  - 570
  jupyter_server.auth.identity.PasswordIdentityProvider._need_token_default:
  - 617
  jupyter_server.auth.identity.PasswordIdentityProvider.auth_enabled:
  - 626
  - 627
  jupyter_server.auth.identity.PasswordIdentityProvider.login_available:
  - 621
  jupyter_server.auth.identity.PasswordIdentityProvider.passwd_check:
  - 630
  - 631
  jupyter_server.auth.identity.PasswordIdentityProvider.process_login_form:
  - 641
  - 642
  - 643
  - 645
  - 646
  - 647
  - 648
  - 649
  - 650
  - 651
  - 652
  - 653
  - 634
  - 638
  - 639
  jupyter_server.auth.identity.PasswordIdentityProvider.validate_security:
  - 662
  - 663
  - 664
  - 665
  - 666
  - 668
  - 669
  - 670
  jupyter_server.auth.identity.User:
  - 35
  jupyter_server.auth.identity.User.__post_init__:
  - 58
  jupyter_server.auth.identity.User.fill_defaults:
  - 74
  - 69
  - 61
  - 76
  jupyter_server.auth.identity._backward_compat_user:
  - 96
  - 97
  - 100
  - 81
  - 90
  - 91
  - 92
  - 94
  jupyter_server.auth.login:
  - 1
  jupyter_server.auth.login.LegacyLoginHandler:
  - 152
  - 99
  jupyter_server.auth.login.LegacyLoginHandler.get_login_available:
  - 288
  - 290
  jupyter_server.auth.login.LegacyLoginHandler.get_token:
  - 164
  - 165
  - 167
  - 168
  - 169
  - 156
  jupyter_server.auth.login.LegacyLoginHandler.get_user:
  - 192
  - 193
  - 197
  - 200
  - 201
  - 206
  - 210
  - 211
  - 212
  - 213
  - 187
  - 190
  jupyter_server.auth.login.LegacyLoginHandler.get_user_cookie:
  - 224
  - 225
  - 226
  - 227
  - 228
  jupyter_server.auth.login.LegacyLoginHandler.get_user_token:
  - 256
  - 233
  - 235
  - 238
  - 240
  - 242
  - 248
  - 252
  - 253
  - 255
  jupyter_server.auth.login.LegacyLoginHandler.hashed_password:
  - 107
  jupyter_server.auth.login.LegacyLoginHandler.is_token_authenticated:
  - 179
  - 180
  - 182
  - 183
  jupyter_server.auth.login.LegacyLoginHandler.passwd_check:
  - 110
  - 111
  jupyter_server.auth.login.LegacyLoginHandler.password_from_settings:
  - 283
  - 284
  jupyter_server.auth.login.LegacyLoginHandler.post:
  - 129
  - 130
  - 132
  - 133
  - 136
  - 137
  - 114
  - 115
  - 116
  - 118
  - 119
  - 120
  - 121
  - 122
  - 123
  - 124
  - 125
  - 126
  jupyter_server.auth.login.LegacyLoginHandler.set_login_cookie:
  - 141
  - 142
  - 143
  - 146
  - 147
  - 148
  - 149
  jupyter_server.auth.login.LegacyLoginHandler.should_check_origin:
  - 174
  - 175
  jupyter_server.auth.login.LegacyLoginHandler.validate_security:
  - 265
  - 266
  - 268
  - 269
  - 270
  - 271
  - 275
  - 276
  jupyter_server.auth.login.LoginFormHandler:
  - 16
  jupyter_server.auth.login.LoginFormHandler._redirect_safe:
  - 32
  - 65
  - 66
  - 68
  - 69
  - 38
  - 70
  - 72
  - 74
  - 43
  - 51
  - 52
  - 53
  - 54
  - 58
  - 62
  jupyter_server.auth.login.LoginFormHandler._render:
  - 24
  - 26
  - 22
  - 23
  jupyter_server.auth.login.LoginFormHandler.get:
  - 77
  - 78
  - 79
  - 80
  - 82
  jupyter_server.auth.login.LoginFormHandler.post:
  - 85
  - 86
  - 87
  - 88
  - 89
  - 92
  - 93
  - 94
  - 95
  jupyter_server.auth.logout:
  - 1
  jupyter_server.auth.logout.LogoutHandler:
  - 9
  jupyter_server.auth.logout.LogoutHandler.get:
  - 18
  - 12
  - 13
  - 14
  jupyter_server.auth.security:
  - 1
  jupyter_server.auth.security.passwd:
  - 68
  - 70
  - 72
  - 73
  - 74
  - 76
  - 48
  - 49
  - 50
  - 51
  - 52
  - 55
  - 23
  - 60
  - 63
  jupyter_server.auth.security.passwd_check:
  - 130
  - 132
  - 106
  - 110
  - 80
  - 113
  - 118
  - 123
  - 127
  jupyter_server.auth.security.persist_config:
  - 160
  - 162
  - 163
  - 137
  - 143
  - 144
  - 146
  - 148
  - 150
  - 152
  - 154
  - 156
  - 157
  jupyter_server.auth.security.set_password:
  - 169
  - 171
  - 173
  jupyter_server.auth.utils:
  - 1
  jupyter_server.auth.utils.get_anonymous_username:
  - 169
  - 165
  jupyter_server.auth.utils.get_regex_to_resource_map:
  - 33
  - 43
  - 44
  - 45
  - 47
  - 48
  - 50
  - 55
  jupyter_server.auth.utils.match_url_to_resource:
  - 65
  - 72
  - 73
  - 74
  - 75
  - 76
  jupyter_server.auth.utils.warn_disabled_authorization:
  - 12
  - 13
  jupyter_server.base.call_context:
  - 1
  jupyter_server.base.call_context.CallContext:
  - 25
  - 10
  jupyter_server.base.call_context.CallContext._get_map:
  - 81
  - 85
  - 86
  - 87
  - 88
  jupyter_server.base.call_context.CallContext.context_variable_names:
  - 77
  - 76
  - 69
  jupyter_server.base.call_context.CallContext.get:
  - 45
  - 43
  - 29
  jupyter_server.base.call_context.CallContext.set:
  - 64
  - 51
  jupyter_server.base.handlers:
  - 1
  - 45
  jupyter_server.base.handlers.APIHandler:
  - 727
  jupyter_server.base.handlers.APIHandler.content_security_policy:
  - 768
  jupyter_server.base.handlers.APIHandler.finish:
  - 790
  - 791
  - 793
  - 794
  - 795
  jupyter_server.base.handlers.APIHandler.get_login_url:
  - 762
  - 764
  - 758
  jupyter_server.base.handlers.APIHandler.options:
  - 800
  - 834
  - 805
  - 809
  - 817
  - 820
  - 831
  - 822
  - 798
  - 799
  jupyter_server.base.handlers.APIHandler.prepare:
  - 730
  - 731
  - 732
  jupyter_server.base.handlers.APIHandler.update_api_activity:
  - 780
  - 782
  - 784
  - 785
  - 787
  jupyter_server.base.handlers.APIHandler.write_error:
  - 736
  - 737
  - 738
  - 742
  - 743
  - 745
  - 754
  - 755
  jupyter_server.base.handlers.APIVersionHandler:
  - 1035
  jupyter_server.base.handlers.APIVersionHandler.get:
  - 1040
  - 1042
  jupyter_server.base.handlers.AuthenticatedFileHandler:
  - 847
  jupyter_server.base.handlers.AuthenticatedFileHandler.compute_etag:
  - 902
  jupyter_server.base.handlers.AuthenticatedFileHandler.content_security_policy:
  - 855
  jupyter_server.base.handlers.AuthenticatedFileHandler.get:
  - 869
  - 870
  - 871
  - 872
  - 873
  - 875
  jupyter_server.base.handlers.AuthenticatedFileHandler.get_content_type:
  - 878
  - 880
  - 881
  - 882
  - 885
  - 888
  - 889
  - 892
  jupyter_server.base.handlers.AuthenticatedFileHandler.head:
  - 860
  - 861
  - 862
  jupyter_server.base.handlers.AuthenticatedFileHandler.set_headers:
  - 896
  - 898
  - 899
  - 895
  jupyter_server.base.handlers.AuthenticatedFileHandler.validate_absolute_path:
  - 906
  - 912
  - 913
  - 915
  - 916
  jupyter_server.base.handlers.AuthenticatedHandler:
  - 82
  jupyter_server.base.handlers.AuthenticatedHandler.authorizer:
  - 229
  - 230
  - 243
  - 244
  - 248
  jupyter_server.base.handlers.AuthenticatedHandler.base_url:
  - 86
  jupyter_server.base.handlers.AuthenticatedHandler.clear_login_cookie:
  - 158
  - 150
  - 151
  jupyter_server.base.handlers.AuthenticatedHandler.content_security_policy:
  - 96
  - 90
  - 94
  - 98
  jupyter_server.base.handlers.AuthenticatedHandler.cookie_name:
  - 136
  - 129
  jupyter_server.base.handlers.AuthenticatedHandler.force_clear_cookie:
  - 139
  - 140
  - 147
  jupyter_server.base.handlers.AuthenticatedHandler.get_current_user:
  - 161
  - 169
  - 174
  - 167
  jupyter_server.base.handlers.AuthenticatedHandler.identity_provider:
  - 266
  - 267
  - 269
  - 252
  - 253
  jupyter_server.base.handlers.AuthenticatedHandler.logged_in:
  - 196
  - 198
  jupyter_server.base.handlers.AuthenticatedHandler.login_available:
  - 225
  - 219
  jupyter_server.base.handlers.AuthenticatedHandler.login_handler:
  - 202
  - 203
  jupyter_server.base.handlers.AuthenticatedHandler.set_default_headers:
  - 108
  - 111
  - 116
  - 118
  - 123
  jupyter_server.base.handlers.AuthenticatedHandler.skip_check_origin:
  - 184
  - 179
  - 187
  jupyter_server.base.handlers.AuthenticatedHandler.token:
  - 214
  jupyter_server.base.handlers.AuthenticatedHandler.token_authenticated:
  - 192
  - 191
  jupyter_server.base.handlers.FileFindHandler:
  - 958
  jupyter_server.base.handlers.FileFindHandler.compute_etag:
  - 1002
  jupyter_server.base.handlers.FileFindHandler.get_absolute_path:
  - 1009
  - 1019
  - 1012
  - 1007
  jupyter_server.base.handlers.FileFindHandler.initialize:
  - 992
  - 995
  - 998
  jupyter_server.base.handlers.FileFindHandler.set_headers:
  - 971
  - 972
  - 974
  - 977
  - 978
  - 981
  - 982
  - 984
  jupyter_server.base.handlers.FileFindHandler.validate_absolute_path:
  - 1024
  - 1027
  - 1028
  - 1031
  - 1023
  jupyter_server.base.handlers.FilesRedirectHandler:
  - 1076
  jupyter_server.base.handlers.FilesRedirectHandler.get:
  - 1108
  jupyter_server.base.handlers.FilesRedirectHandler.redirect_to_files:
  - 1091
  - 1093
  - 1096
  - 1097
  - 1098
  - 1100
  - 1103
  - 1104
  - 1105
  - 1080
  - 1085
  - 1087
  jupyter_server.base.handlers.JupyterHandler:
  - 273
  jupyter_server.base.handlers.JupyterHandler.allow_credentials:
  - 380
  - 381
  jupyter_server.base.handlers.JupyterHandler.allow_origin:
  - 370
  - 371
  jupyter_server.base.handlers.JupyterHandler.allow_origin_pat:
  - 376
  - 375
  jupyter_server.base.handlers.JupyterHandler.check_host:
  - 576
  - 580
  - 581
  - 551
  - 555
  - 559
  - 561
  - 564
  - 568
  - 569
  - 573
  jupyter_server.base.handlers.JupyterHandler.check_origin:
  - 453
  - 456
  - 457
  - 460
  - 464
  - 465
  - 434
  - 466
  - 467
  - 471
  - 472
  - 441
  - 444
  - 445
  jupyter_server.base.handlers.JupyterHandler.check_referer:
  - 512
  - 481
  - 517
  - 518
  - 489
  - 492
  - 493
  - 495
  - 496
  - 498
  - 499
  - 502
  - 504
  - 509
  - 511
  jupyter_server.base.handlers.JupyterHandler.check_xsrf_cookie:
  - 527
  - 528
  - 531
  - 536
  - 538
  - 540
  - 541
  - 542
  jupyter_server.base.handlers.JupyterHandler.config:
  - 280
  jupyter_server.base.handlers.JupyterHandler.config_manager:
  - 358
  jupyter_server.base.handlers.JupyterHandler.contents_js_source:
  - 328
  - 330
  - 326
  jupyter_server.base.handlers.JupyterHandler.contents_manager:
  - 342
  jupyter_server.base.handlers.JupyterHandler.default_url:
  - 318
  jupyter_server.base.handlers.JupyterHandler.event_logger:
  - 362
  jupyter_server.base.handlers.JupyterHandler.get_json_body:
  - 674
  - 675
  - 678
  - 680
  - 682
  - 683
  - 685
  jupyter_server.base.handlers.JupyterHandler.get_origin:
  - 425
  - 426
  - 428
  jupyter_server.base.handlers.JupyterHandler.get_template:
  - 640
  - 641
  jupyter_server.base.handlers.JupyterHandler.jinja_template_vars:
  - 289
  - 290
  jupyter_server.base.handlers.JupyterHandler.kernel_manager:
  - 338
  jupyter_server.base.handlers.JupyterHandler.kernel_spec_manager:
  - 354
  jupyter_server.base.handlers.JupyterHandler.log:
  - 284
  - 285
  jupyter_server.base.handlers.JupyterHandler.mathjax_config:
  - 314
  jupyter_server.base.handlers.JupyterHandler.mathjax_url:
  - 307
  - 308
  - 310
  jupyter_server.base.handlers.JupyterHandler.prepare:
  - 611
  - 617
  - 619
  - 620
  - 593
  - 595
  - 597
  - 630
  - 631
  - 632
  - 633
  - 603
  - 607
  jupyter_server.base.handlers.JupyterHandler.render_template:
  - 644
  - 645
  - 646
  - 647
  jupyter_server.base.handlers.JupyterHandler.serverapp:
  - 294
  jupyter_server.base.handlers.JupyterHandler.session_manager:
  - 346
  jupyter_server.base.handlers.JupyterHandler.set_attachment_header:
  - 410
  - 414
  - 415
  jupyter_server.base.handlers.JupyterHandler.set_cors_headers:
  - 388
  - 393
  - 394
  - 395
  - 396
  - 397
  - 398
  - 399
  - 404
  - 406
  - 407
  jupyter_server.base.handlers.JupyterHandler.set_default_headers:
  - 384
  - 385
  jupyter_server.base.handlers.JupyterHandler.template_namespace:
  - 651
  - 656
  - 659
  - 661
  - 666
  - 667
  - 668
  jupyter_server.base.handlers.JupyterHandler.terminal_manager:
  - 350
  jupyter_server.base.handlers.JupyterHandler.version_hash:
  - 302
  - 303
  jupyter_server.base.handlers.JupyterHandler.write_error:
  - 716
  - 719
  - 688
  - 689
  - 721
  - 691
  - 723
  - 693
  - 702
  - 703
  jupyter_server.base.handlers.JupyterHandler.ws_url:
  - 322
  jupyter_server.base.handlers.MainHandler:
  - 1065
  jupyter_server.base.handlers.MainHandler.get:
  - 1068
  - 1069
  - 1070
  jupyter_server.base.handlers.PrometheusMetricsHandler:
  - 1127
  jupyter_server.base.handlers.PrometheusMetricsHandler.get:
  - 1136
  - 1137
  - 1132
  - 1133
  jupyter_server.base.handlers.RedirectWithParams:
  - 1112
  jupyter_server.base.handlers.RedirectWithParams.get:
  - 1120
  - 1122
  - 1123
  jupyter_server.base.handlers.RedirectWithParams.initialize:
  - 1115
  jupyter_server.base.handlers.Template404:
  - 838
  jupyter_server.base.handlers.Template404.prepare:
  - 841
  - 842
  jupyter_server.base.handlers.TrailingSlashHandler:
  - 1046
  jupyter_server.base.handlers.TrailingSlashHandler.get:
  - 1057
  - 1058
  - 1059
  - 1052
  - 1054
  jupyter_server.base.handlers.json_errors:
  - 924
  - 941
  - 935
  jupyter_server.base.handlers.json_errors.wrapper:
  - 944
  - 943
  jupyter_server.base.handlers.json_sys_info:
  - 66
  - 68
  - 69
  jupyter_server.base.handlers.log:
  - 74
  - 75
  - 76
  jupyter_server.base.websocket:
  - 1
  jupyter_server.base.websocket.WebSocketMixin:
  - 14
  jupyter_server.base.websocket.WebSocketMixin.check_origin:
  - 67
  - 69
  - 70
  - 41
  - 74
  - 75
  - 46
  - 47
  - 51
  - 52
  - 53
  - 56
  - 59
  - 60
  - 63
  jupyter_server.base.websocket.WebSocketMixin.clear_cookie:
  - 83
  jupyter_server.base.websocket.WebSocketMixin.on_pong:
  - 128
  - 127
  jupyter_server.base.websocket.WebSocketMixin.open:
  - 99
  - 100
  - 87
  - 88
  - 91
  - 92
  - 93
  - 95
  jupyter_server.base.websocket.WebSocketMixin.ping_interval:
  - 27
  - 23
  jupyter_server.base.websocket.WebSocketMixin.ping_timeout:
  - 35
  - 36
  - 31
  jupyter_server.base.websocket.WebSocketMixin.send_ping:
  - 104
  - 105
  - 106
  - 109
  - 110
  - 115
  - 118
  - 119
  - 120
  - 123
  jupyter_server.base.zmqhandlers:
  - 1
  - 15
  jupyter_server.config_manager:
  - 1
  jupyter_server.config_manager.BaseJSONConfigManager:
  - 60
  - 61
  - 54
  jupyter_server.config_manager.BaseJSONConfigManager.directory:
  - 76
  - 77
  jupyter_server.config_manager.BaseJSONConfigManager.ensure_config_dir_exists:
  - 64
  - 66
  - 68
  jupyter_server.config_manager.BaseJSONConfigManager.file_name:
  - 72
  - 73
  jupyter_server.config_manager.BaseJSONConfigManager.get:
  - 96
  - 97
  - 100
  - 103
  - 104
  - 105
  - 106
  - 80
  - 88
  - 89
  - 90
  jupyter_server.config_manager.BaseJSONConfigManager.set:
  - 110
  - 111
  - 112
  - 114
  - 116
  - 117
  - 118
  - 122
  - 123
  - 124
  jupyter_server.config_manager.BaseJSONConfigManager.update:
  - 131
  - 132
  - 133
  - 127
  jupyter_server.config_manager.recursive_update:
  - 33
  - 34
  - 20
  - 24
  - 25
  - 26
  - 28
  - 29
  jupyter_server.config_manager.remove_defaults:
  - 41
  - 43
  - 44
  - 45
  - 46
  - 47
  - 49
  jupyter_server.extension.application:
  - 1
  jupyter_server.extension.application.ExtensionApp:
  - 261
  - 262
  - 263
  - 270
  - 272
  - 273
  - 152
  - 161
  - 196
  - 198
  - 202
  - 205
  - 213
  - 215
  - 231
  - 235
  - 242
  - 246
  - 252
  - 253
  - 126
  jupyter_server.extension.application.ExtensionApp._config_file_name_default:
  - 280
  - 277
  - 278
  jupyter_server.extension.application.ExtensionApp._default_log_format:
  - 237
  jupyter_server.extension.application.ExtensionApp._default_open_browser:
  - 164
  jupyter_server.extension.application.ExtensionApp._default_serverapp:
  - 218
  - 227
  - 220
  jupyter_server.extension.application.ExtensionApp._default_static_url_prefix:
  - 250
  jupyter_server.extension.application.ExtensionApp._jupyter_server_config:
  - 370
  - 378
  jupyter_server.extension.application.ExtensionApp._link_jupyter_server_extension:
  - 396
  - 403
  - 407
  - 411
  - 382
  jupyter_server.extension.application.ExtensionApp._load_jupyter_server_extension:
  - 472
  - 473
  - 474
  - 463
  jupyter_server.extension.application.ExtensionApp._prepare_config:
  - 296
  - 292
  - 295
  jupyter_server.extension.application.ExtensionApp._prepare_handlers:
  - 321
  - 326
  - 359
  - 361
  - 330
  - 332
  - 337
  - 341
  - 346
  - 349
  - 351
  jupyter_server.extension.application.ExtensionApp._prepare_settings:
  - 300
  - 304
  - 307
  - 315
  - 318
  jupyter_server.extension.application.ExtensionApp._prepare_templates:
  - 364
  - 365
  - 366
  - 367
  jupyter_server.extension.application.ExtensionApp.config_file_paths:
  - 168
  jupyter_server.extension.application.ExtensionApp.current_activity:
  - 449
  jupyter_server.extension.application.ExtensionApp.get_extension_package:
  - 185
  - 181
  - 182
  - 183
  jupyter_server.extension.application.ExtensionApp.get_extension_point:
  - 190
  jupyter_server.extension.application.ExtensionApp.initialize:
  - 416
  - 425
  - 433
  - 434
  - 435
  - 436
  jupyter_server.extension.application.ExtensionApp.initialize_handlers:
  - 286
  jupyter_server.extension.application.ExtensionApp.initialize_server:
  - 577
  - 579
  - 580
  - 583
  - 584
  - 585
  - 570
  jupyter_server.extension.application.ExtensionApp.initialize_settings:
  - 283
  jupyter_server.extension.application.ExtensionApp.initialize_templates:
  - 289
  jupyter_server.extension.application.ExtensionApp.launch_instance:
  - 608
  - 614
  - 615
  - 618
  - 619
  - 622
  - 594
  - 599
  - 606
  - 607
  jupyter_server.extension.application.ExtensionApp.load_classic_server_extension:
  - 480
  - 482
  - 483
  - 484
  - 486
  - 556
  - 479
  jupyter_server.extension.application.ExtensionApp.make_serverapp:
  - 562
  - 566
  jupyter_server.extension.application.ExtensionApp.start:
  - 443
  - 446
  - 439
  jupyter_server.extension.application.ExtensionApp.stop:
  - 456
  - 458
  - 459
  jupyter_server.extension.application.ExtensionApp.stop_extension:
  - 453
  jupyter_server.extension.application.ExtensionAppJinjaMixin:
  - 82
  - 84
  - 85
  jupyter_server.extension.application.ExtensionAppJinjaMixin._prepare_templates:
  - 96
  - 97
  - 100
  - 101
  - 108
  - 93
  - 94
  jupyter_server.extension.application.JupyterServerExtensionException:
  - 117
  jupyter_server.extension.application._preparse_for_stopping_flags:
  - 64
  - 65
  - 66
  - 69
  - 70
  - 71
  - 72
  - 75
  - 76
  - 45
  - 77
  - 78
  - 58
  - 63
  jupyter_server.extension.application._preparse_for_subcommand:
  - 34
  - 37
  - 39
  - 40
  - 28
  - 30
  jupyter_server.extension.config:
  - 1
  jupyter_server.extension.config.ExtensionConfigManager:
  - 8
  jupyter_server.extension.config.ExtensionConfigManager.disable:
  - 33
  - 35
  jupyter_server.extension.config.ExtensionConfigManager.enable:
  - 28
  - 30
  jupyter_server.extension.config.ExtensionConfigManager.enabled:
  - 20
  - 21
  jupyter_server.extension.config.ExtensionConfigManager.get_jpserver_extensions:
  - 16
  - 17
  - 14
  jupyter_server.extension.handler:
  - 1
  - 11
  jupyter_server.extension.handler.ExtensionHandlerJinjaMixin:
  - 19
  jupyter_server.extension.handler.ExtensionHandlerJinjaMixin.get_template:
  - 24
  - 27
  - 29
  jupyter_server.extension.handler.ExtensionHandlerMixin:
  - 33
  jupyter_server.extension.handler.ExtensionHandlerMixin.base_url:
  - 81
  jupyter_server.extension.handler.ExtensionHandlerMixin.config:
  - 73
  jupyter_server.extension.handler.ExtensionHandlerMixin.extensionapp:
  - 54
  jupyter_server.extension.handler.ExtensionHandlerMixin.initialize:
  - 48
  jupyter_server.extension.handler.ExtensionHandlerMixin.log:
  - 64
  - 67
  - 69
  - 63
  jupyter_server.extension.handler.ExtensionHandlerMixin.server_config:
  - 77
  jupyter_server.extension.handler.ExtensionHandlerMixin.serverapp:
  - 59
  jupyter_server.extension.handler.ExtensionHandlerMixin.static_path:
  - 89
  jupyter_server.extension.handler.ExtensionHandlerMixin.static_url:
  - 137
  - 110
  - 112
  - 124
  - 121
  - 123
  - 92
  - 127
  jupyter_server.extension.manager:
  - 1
  jupyter_server.extension.manager.ExtensionManager:
  - 261
  - 235
  - 242
  - 244
  - 277
  - 246
  - 252
  jupyter_server.extension.manager.ExtensionManager._config_manager_changed:
  - 254
  - 255
  jupyter_server.extension.manager.ExtensionManager._load_config_manager:
  - 308
  - 309
  - 310
  jupyter_server.extension.manager.ExtensionManager._load_default_config_manager:
  - 248
  - 249
  jupyter_server.extension.manager.ExtensionManager.add_extension:
  - 329
  - 322
  - 318
  - 327
  jupyter_server.extension.manager.ExtensionManager.any_activity:
  - 400
  - 401
  - 402
  - 399
  jupyter_server.extension.manager.ExtensionManager.extension_apps:
  - 289
  - 290
  - 287
  jupyter_server.extension.manager.ExtensionManager.extension_points:
  - 298
  - 299
  - 295
  jupyter_server.extension.manager.ExtensionManager.from_config_manager:
  - 303
  jupyter_server.extension.manager.ExtensionManager.from_jpserver_extensions:
  - 313
  - 314
  - 315
  jupyter_server.extension.manager.ExtensionManager.link_all_extensions:
  - 377
  - 382
  - 383
  jupyter_server.extension.manager.ExtensionManager.link_extension:
  - 339
  - 340
  - 342
  - 345
  - 347
  - 349
  - 351
  jupyter_server.extension.manager.ExtensionManager.load_all_extensions:
  - 392
  - 386
  - 391
  jupyter_server.extension.manager.ExtensionManager.load_extension:
  - 354
  - 355
  - 357
  - 359
  - 361
  - 363
  - 367
  jupyter_server.extension.manager.ExtensionManager.sorted_extensions:
  - 270
  - 271
  jupyter_server.extension.manager.ExtensionManager.stop_all_extensions:
  - 395
  - 396
  jupyter_server.extension.manager.ExtensionManager.stop_extension:
  - 370
  - 371
  - 372
  - 373
  - 374
  jupyter_server.extension.manager.ExtensionPackage:
  - 162
  - 163
  - 165
  - 166
  - 167
  - 168
  - 169
  - 176
  - 154
  jupyter_server.extension.manager.ExtensionPackage.__init__:
  - 184
  - 185
  - 186
  - 183
  jupyter_server.extension.manager.ExtensionPackage._load_metadata:
  - 195
  - 204
  - 189
  - 203
  jupyter_server.extension.manager.ExtensionPackage._load_version:
  - 178
  - 180
  jupyter_server.extension.manager.ExtensionPackage.link_all_points:
  - 225
  - 226
  - 227
  jupyter_server.extension.manager.ExtensionPackage.link_point:
  - 217
  - 213
  - 214
  - 215
  jupyter_server.extension.manager.ExtensionPackage.load_all_points:
  - 230
  - 231
  jupyter_server.extension.manager.ExtensionPackage.load_point:
  - 220
  - 222
  jupyter_server.extension.manager.ExtensionPackage.validate:
  - 209
  - 210
  jupyter_server.extension.manager.ExtensionPoint:
  - 17
  - 21
  - 22
  - 24
  - 26
  jupyter_server.extension.manager.ExtensionPoint._get_linker:
  - 104
  - 109
  - 100
  - 101
  jupyter_server.extension.manager.ExtensionPoint._get_loader:
  - 114
  - 116
  - 118
  jupyter_server.extension.manager.ExtensionPoint._valid_metadata:
  - 46
  - 28
  - 38
  - 47
  jupyter_server.extension.manager.ExtensionPoint.app:
  - 63
  jupyter_server.extension.manager.ExtensionPoint.config:
  - 68
  - 69
  - 70
  jupyter_server.extension.manager.ExtensionPoint.link:
  - 137
  - 138
  - 139
  - 132
  jupyter_server.extension.manager.ExtensionPoint.linked:
  - 57
  - 52
  jupyter_server.extension.manager.ExtensionPoint.load:
  - 144
  - 149
  - 150
  jupyter_server.extension.manager.ExtensionPoint.module:
  - 96
  jupyter_server.extension.manager.ExtensionPoint.module_name:
  - 78
  jupyter_server.extension.manager.ExtensionPoint.name:
  - 90
  - 92
  - 85
  jupyter_server.extension.manager.ExtensionPoint.validate:
  - 122
  - 124
  - 125
  jupyter_server.extension.serverextension:
  - 1
  - 185
  - 76
  - 77
  - 78
  - 79
  - 403
  - 404
  - 182
  - 119
  - 184
  - 183
  jupyter_server.extension.serverextension.BaseExtensionApp:
  - 132
  - 130
  - 123
  - 131
  jupyter_server.extension.serverextension.BaseExtensionApp._log_format_default:
  - 135
  jupyter_server.extension.serverextension.BaseExtensionApp.config_dir:
  - 140
  jupyter_server.extension.serverextension.DisableServerExtensionApp:
  - 304
  jupyter_server.extension.serverextension.EnableServerExtensionApp:
  - 289
  jupyter_server.extension.serverextension.ListServerExtensionsApp:
  - 319
  jupyter_server.extension.serverextension.ListServerExtensionsApp.list_server_extensions:
  - 355
  - 326
  - 358
  - 360
  - 362
  - 336
  - 337
  - 338
  - 340
  - 342
  - 344
  - 345
  - 347
  - 349
  - 350
  - 351
  jupyter_server.extension.serverextension.ListServerExtensionsApp.start:
  - 365
  - 366
  jupyter_server.extension.serverextension.ServerExtensionApp:
  - 377
  jupyter_server.extension.serverextension.ServerExtensionApp.start:
  - 392
  - 396
  - 397
  - 391
  jupyter_server.extension.serverextension.ToggleServerExtensionApp:
  - 236
  - 229
  jupyter_server.extension.serverextension.ToggleServerExtensionApp.start:
  - 281
  - 282
  - 283
  - 284
  - 285
  jupyter_server.extension.serverextension.ToggleServerExtensionApp.toggle_server_extension:
  - 257
  - 258
  - 260
  - 262
  - 263
  - 265
  - 269
  - 270
  - 271
  - 241
  - 273
  - 276
  - 278
  - 253
  jupyter_server.extension.serverextension._get_config_dir:
  - 33
  - 35
  - 36
  - 37
  - 22
  jupyter_server.extension.serverextension._get_extmanager_for_context:
  - 65
  - 47
  - 60
  - 61
  - 63
  jupyter_server.extension.serverextension.toggle_server_extension_python:
  - 162
  - 166
  - 167
  - 169
  - 171
  - 172
  - 174
  jupyter_server.extension.utils:
  - 1
  jupyter_server.extension.utils.ExtensionLoadingError:
  - 8
  jupyter_server.extension.utils.ExtensionMetadataError:
  - 12
  jupyter_server.extension.utils.ExtensionModuleNotFound:
  - 16
  jupyter_server.extension.utils.NotAnExtensionApp:
  - 20
  jupyter_server.extension.utils.get_loader:
  - 24
  - 41
  jupyter_server.extension.utils.get_metadata:
  - 64
  - 65
  - 98
  - 99
  - 70
  - 72
  - 75
  - 83
  - 84
  - 85
  - 54
  - 63
  jupyter_server.extension.utils.validate_extension:
  - 120
  - 109
  jupyter_server.files.handlers:
  - 1
  jupyter_server.files.handlers.FilesHandler:
  - 20
  jupyter_server.files.handlers.FilesHandler.content_security_policy:
  - 32
  - 35
  jupyter_server.files.handlers.FilesHandler.get:
  - 48
  - 50
  - 53
  - 54
  - 57
  - 58
  - 59
  - 63
  - 65
  - 66
  - 69
  - 70
  - 72
  - 73
  - 74
  - 76
  - 77
  - 78
  - 79
  - 80
  - 81
  - 82
  - 83
  - 85
  - 87
  - 88
  - 89
  - 90
  - 92
  - 93
  jupyter_server.files.handlers.FilesHandler.head:
  - 40
  - 41
  - 42
  - 43
  jupyter_server.gateway.connections:
  - 1
  jupyter_server.gateway.connections.GatewayWebSocketConnection:
  - 32
  - 37
  - 24
  - 26
  - 28
  - 30
  jupyter_server.gateway.connections.GatewayWebSocketConnection._connection_done:
  - 65
  - 67
  - 69
  - 70
  - 72
  - 61
  - 62
  - 63
  jupyter_server.gateway.connections.GatewayWebSocketConnection._get_message_summary:
  - 163
  - 166
  - 168
  - 169
  - 170
  - 171
  - 172
  - 179
  - 181
  jupyter_server.gateway.connections.GatewayWebSocketConnection._read_messages:
  - 128
  - 129
  - 130
  - 88
  - 91
  - 93
  - 95
  - 98
  - 99
  - 100
  - 102
  - 103
  - 104
  - 111
  - 112
  - 114
  - 115
  - 116
  - 121
  - 125
  jupyter_server.gateway.connections.GatewayWebSocketConnection._write_message:
  - 154
  - 156
  - 157
  - 159
  jupyter_server.gateway.connections.GatewayWebSocketConnection.connect:
  - 40
  - 43
  - 44
  - 45
  - 46
  - 49
  - 51
  - 53
  - 54
  - 55
  - 57
  - 58
  jupyter_server.gateway.connections.GatewayWebSocketConnection.connect.<lambda1>:
  - 58
  jupyter_server.gateway.connections.GatewayWebSocketConnection.disconnect:
  - 77
  - 79
  - 81
  - 82
  - 84
  - 85
  jupyter_server.gateway.connections.GatewayWebSocketConnection.handle_incoming_message:
  - 146
  - 147
  - 148
  - 149
  - 151
  jupyter_server.gateway.connections.GatewayWebSocketConnection.handle_incoming_message.<lambda1>:
  - 149
  jupyter_server.gateway.connections.GatewayWebSocketConnection.handle_outgoing_message:
  - 133
  - 135
  - 137
  - 138
  - 139
  - 141
  jupyter_server.gateway.gateway_client:
  - 1
  - 42
  jupyter_server.gateway.gateway_client.GatewayClient:
  - 130
  - 386
  - 261
  - 134
  - 517
  - 265
  - 395
  - 144
  - 274
  - 402
  - 278
  - 410
  - 155
  - 538
  - 287
  - 162
  - 291
  - 419
  - 300
  - 174
  - 430
  - 306
  - 180
  - 437
  - 186
  - 315
  - 192
  - 320
  - 448
  - 455
  - 200
  - 334
  - 207
  - 463
  - 339
  - 469
  - 216
  - 91
  - 477
  - 223
  - 351
  - 98
  - 100
  - 229
  - 356
  - 485
  - 504
  - 235
  - 364
  - 239
  - 496
  - 370
  - 117
  - 248
  - 377
  - 252
  jupyter_server.gateway.gateway_client.GatewayClient.__init__:
  - 545
  - 546
  - 548
  jupyter_server.gateway.gateway_client.GatewayClient._accept_cookies_default:
  - 506
  - 507
  jupyter_server.gateway.gateway_client.GatewayClient._allowed_envs_default:
  - 397
  - 399
  jupyter_server.gateway.gateway_client.GatewayClient._auth_header_key_default:
  - 336
  jupyter_server.gateway.gateway_client.GatewayClient._auth_scheme_default:
  - 366
  jupyter_server.gateway.gateway_client.GatewayClient._auth_token_default:
  - 353
  jupyter_server.gateway.gateway_client.GatewayClient._ca_certs_default:
  - 276
  jupyter_server.gateway.gateway_client.GatewayClient._clear_expired_cookies:
  - 648
  - 649
  - 652
  - 653
  - 654
  - 657
  - 658
  - 660
  - 661
  jupyter_server.gateway.gateway_client.GatewayClient._client_cert_default:
  - 263
  jupyter_server.gateway.gateway_client.GatewayClient._client_key_default:
  - 250
  jupyter_server.gateway.gateway_client.GatewayClient._connect_timeout_default:
  - 225
  jupyter_server.gateway.gateway_client.GatewayClient._default_event_logger:
  - 110
  - 107
  - 109
  - 102
  jupyter_server.gateway.gateway_client.GatewayClient._deprecated_trait:
  - 519
  - 522
  - 523
  - 527
  - 531
  jupyter_server.gateway.gateway_client.GatewayClient._gateway_retry_interval_default:
  - 421
  - 422
  jupyter_server.gateway.gateway_client.GatewayClient._gateway_retry_interval_max_default:
  - 440
  - 439
  jupyter_server.gateway.gateway_client.GatewayClient._gateway_retry_max_default:
  - 457
  jupyter_server.gateway.gateway_client.GatewayClient._gateway_token_renewer_class_default:
  - 471
  jupyter_server.gateway.gateway_client.GatewayClient._headers_default:
  - 317
  jupyter_server.gateway.gateway_client.GatewayClient._http_pwd_default:
  - 302
  jupyter_server.gateway.gateway_client.GatewayClient._http_user_default:
  - 289
  jupyter_server.gateway.gateway_client.GatewayClient._kernels_endpoint_default:
  - 182
  jupyter_server.gateway.gateway_client.GatewayClient._kernelspecs_endpoint_default:
  - 194
  jupyter_server.gateway.gateway_client.GatewayClient._kernelspecs_resource_endpoint_default:
  - 209
  jupyter_server.gateway.gateway_client.GatewayClient._launch_timeout_pad_default:
  - 488
  - 487
  jupyter_server.gateway.gateway_client.GatewayClient._request_timeout_default:
  - 237
  jupyter_server.gateway.gateway_client.GatewayClient._update_cookie_header:
  - 675
  - 676
  - 679
  - 682
  - 664
  - 665
  - 667
  - 668
  - 670
  - 671
  jupyter_server.gateway.gateway_client.GatewayClient._url_default:
  - 132
  jupyter_server.gateway.gateway_client.GatewayClient._url_validate:
  - 138
  - 140
  jupyter_server.gateway.gateway_client.GatewayClient._validate_cert_default:
  - 379
  - 380
  jupyter_server.gateway.gateway_client.GatewayClient._ws_url_default:
  - 157
  - 158
  - 159
  jupyter_server.gateway.gateway_client.GatewayClient._ws_url_validate:
  - 168
  - 166
  jupyter_server.gateway.gateway_client.GatewayClient.emit:
  - 114
  - 115
  jupyter_server.gateway.gateway_client.GatewayClient.gateway_enabled:
  - 535
  jupyter_server.gateway.gateway_client.GatewayClient.init_connection_args:
  - 581
  - 584
  - 554
  - 586
  - 588
  - 561
  - 563
  - 565
  - 566
  - 570
  - 572
  - 573
  - 574
  - 575
  jupyter_server.gateway.gateway_client.GatewayClient.load_connection_args:
  - 615
  - 616
  - 617
  - 618
  - 619
  - 621
  - 592
  - 627
  - 596
  - 597
  - 628
  - 601
  - 603
  - 607
  jupyter_server.gateway.gateway_client.GatewayClient.update_cookies:
  - 641
  - 642
  - 643
  - 633
  - 634
  - 637
  - 638
  jupyter_server.gateway.gateway_client.GatewayTokenRenewerBase:
  - 53
  jupyter_server.gateway.gateway_client.GatewayTokenRenewerBase.get_token:
  - 68
  jupyter_server.gateway.gateway_client.GatewayTokenRenewerMeta:
  - 47
  jupyter_server.gateway.gateway_client.NoOpTokenRenewer:
  - 75
  jupyter_server.gateway.gateway_client.NoOpTokenRenewer.get_token:
  - 86
  jupyter_server.gateway.gateway_client.RetryableHTTPClient:
  - 698
  - 690
  - 699
  jupyter_server.gateway.gateway_client.RetryableHTTPClient.__init__:
  - 706
  - 708
  jupyter_server.gateway.gateway_client.RetryableHTTPClient._fetch:
  - 719
  - 724
  - 726
  - 727
  - 729
  - 733
  jupyter_server.gateway.gateway_client.RetryableHTTPClient._is_retryable:
  - 737
  - 739
  - 741
  - 745
  - 747
  - 749
  - 753
  jupyter_server.gateway.gateway_client.RetryableHTTPClient.fetch:
  - 716
  - 711
  jupyter_server.gateway.gateway_client.gateway_request:
  - 773
  - 780
  - 782
  - 783
  - 784
  - 786
  - 794
  - 803
  - 812
  - 815
  - 822
  - 824
  - 825
  - 826
  - 827
  - 828
  - 759
  - 760
  - 761
  - 762
  - 764
  - 765
  jupyter_server.gateway.handlers:
  - 1
  - 27
  - 35
  jupyter_server.gateway.handlers.GatewayResourceHandler:
  - 289
  jupyter_server.gateway.handlers.GatewayResourceHandler.get:
  - 293
  - 296
  - 299
  - 300
  - 301
  - 305
  - 306
  jupyter_server.gateway.handlers.GatewayWebSocketClient:
  - 156
  jupyter_server.gateway.handlers.GatewayWebSocketClient.__init__:
  - 160
  - 163
  - 159
  jupyter_server.gateway.handlers.GatewayWebSocketClient._connect:
  - 168
  - 172
  - 175
  - 178
  - 181
  - 183
  - 185
  - 186
  - 187
  - 189
  - 190
  jupyter_server.gateway.handlers.GatewayWebSocketClient._connect.<lambda1>:
  - 190
  jupyter_server.gateway.handlers.GatewayWebSocketClient._connection_done:
  - 193
  - 194
  - 195
  - 197
  - 199
  - 201
  - 202
  - 204
  jupyter_server.gateway.handlers.GatewayWebSocketClient._disconnect:
  - 209
  - 211
  - 213
  - 214
  - 216
  - 217
  jupyter_server.gateway.handlers.GatewayWebSocketClient._read_messages:
  - 225
  - 258
  - 227
  - 255
  - 259
  - 230
  - 231
  - 232
  - 260
  - 234
  - 241
  - 242
  - 244
  - 245
  - 246
  - 251
  - 220
  - 223
  jupyter_server.gateway.handlers.GatewayWebSocketClient._write_message:
  - 281
  - 276
  - 278
  - 279
  jupyter_server.gateway.handlers.GatewayWebSocketClient.on_close:
  - 284
  - 285
  jupyter_server.gateway.handlers.GatewayWebSocketClient.on_message:
  - 268
  - 269
  - 270
  - 271
  - 273
  jupyter_server.gateway.handlers.GatewayWebSocketClient.on_message.<lambda1>:
  - 271
  jupyter_server.gateway.handlers.GatewayWebSocketClient.on_open:
  - 264
  - 265
  - 263
  jupyter_server.gateway.handlers.WebSocketChannelsHandler:
  - 39
  jupyter_server.gateway.handlers.WebSocketChannelsHandler._get_message_summary:
  - 134
  - 137
  - 139
  - 140
  - 141
  - 142
  - 143
  - 150
  - 152
  jupyter_server.gateway.handlers.WebSocketChannelsHandler.authenticate:
  - 65
  - 66
  - 69
  - 71
  - 73
  - 59
  jupyter_server.gateway.handlers.WebSocketChannelsHandler.check_origin:
  - 48
  - 47
  jupyter_server.gateway.handlers.WebSocketChannelsHandler.get:
  - 82
  - 83
  - 86
  jupyter_server.gateway.handlers.WebSocketChannelsHandler.get_compression_options:
  - 54
  jupyter_server.gateway.handlers.WebSocketChannelsHandler.initialize:
  - 76
  - 77
  - 78
  - 79
  jupyter_server.gateway.handlers.WebSocketChannelsHandler.on_close:
  - 129
  - 130
  - 126
  - 127
  jupyter_server.gateway.handlers.WebSocketChannelsHandler.on_message:
  - 109
  - 111
  jupyter_server.gateway.handlers.WebSocketChannelsHandler.open:
  - 97
  - 98
  - 99
  - 102
  - 105
  jupyter_server.gateway.handlers.WebSocketChannelsHandler.send_ping:
  - 89
  - 90
  - 91
  - 94
  jupyter_server.gateway.handlers.WebSocketChannelsHandler.set_default_headers:
  - 51
  jupyter_server.gateway.handlers.WebSocketChannelsHandler.write_message:
  - 114
  - 115
  - 116
  - 118
  - 119
  - 120
  - 121
  jupyter_server.gateway.managers:
  - 1
  - 878
  - 590
  jupyter_server.gateway.managers.ChannelQueue:
  - 594
  jupyter_server.gateway.managers.ChannelQueue.__init__:
  - 600
  - 601
  jupyter_server.gateway.managers.ChannelQueue._async_get:
  - 608
  - 609
  - 610
  - 611
  - 614
  - 618
  - 620
  - 623
  - 625
  jupyter_server.gateway.managers.ChannelQueue.get_msg:
  - 628
  - 629
  - 630
  - 631
  - 632
  - 636
  - 637
  jupyter_server.gateway.managers.ChannelQueue.is_alive:
  - 680
  jupyter_server.gateway.managers.ChannelQueue.send:
  - 640
  - 641
  - 642
  - 643
  - 647
  jupyter_server.gateway.managers.ChannelQueue.serialize_datetime:
  - 651
  - 652
  - 653
  jupyter_server.gateway.managers.ChannelQueue.start:
  - 657
  jupyter_server.gateway.managers.ChannelQueue.stop:
  - 672
  - 673
  - 674
  - 675
  - 660
  - 661
  - 666
  - 667
  - 668
  - 669
  - 670
  jupyter_server.gateway.managers.GatewayKernelClient:
  - 694
  jupyter_server.gateway.managers.GatewayKernelClient.__init__:
  - 721
  - 722
  jupyter_server.gateway.managers.GatewayKernelClient._route_responses:
  - 867
  - 868
  - 872
  - 875
  - 845
  - 855
  - 856
  - 858
  - 861
  jupyter_server.gateway.managers.GatewayKernelClient.control_channel:
  - 835
  - 836
  - 837
  - 839
  jupyter_server.gateway.managers.GatewayKernelClient.hb_channel:
  - 824
  - 825
  - 826
  - 828
  jupyter_server.gateway.managers.GatewayKernelClient.iopub_channel:
  - 802
  - 803
  - 804
  - 806
  jupyter_server.gateway.managers.GatewayKernelClient.shell_channel:
  - 792
  - 793
  - 795
  - 791
  jupyter_server.gateway.managers.GatewayKernelClient.start_channels:
  - 741
  - 742
  - 743
  - 744
  - 749
  - 750
  - 751
  - 766
  - 754
  - 756
  - 761
  - 762
  - 765
  - 734
  jupyter_server.gateway.managers.GatewayKernelClient.stdin_channel:
  - 817
  - 813
  - 814
  - 815
  jupyter_server.gateway.managers.GatewayKernelClient.stop_channels:
  - 769
  - 774
  - 776
  - 779
  - 781
  - 783
  - 784
  jupyter_server.gateway.managers.GatewayKernelManager:
  - 524
  - 558
  - 404
  - 405
  - 470
  - 378
  - 541
  - 383
  jupyter_server.gateway.managers.GatewayKernelManager.__init__:
  - 388
  - 389
  - 390
  - 391
  - 397
  jupyter_server.gateway.managers.GatewayKernelManager.cleanup_resources:
  - 587
  jupyter_server.gateway.managers.GatewayKernelManager.client:
  - 424
  - 425
  - 412
  - 414
  - 415
  jupyter_server.gateway.managers.GatewayKernelManager.has_kernel:
  - 401
  jupyter_server.gateway.managers.GatewayKernelManager.interrupt_kernel:
  - 562
  - 563
  - 566
  - 567
  - 571
  - 573
  jupyter_server.gateway.managers.GatewayKernelManager.is_alive:
  - 576
  - 577
  - 579
  - 580
  - 583
  jupyter_server.gateway.managers.GatewayKernelManager.refresh_model:
  - 448
  - 449
  - 451
  - 452
  - 456
  - 428
  - 461
  - 436
  - 437
  - 439
  - 442
  - 443
  jupyter_server.gateway.managers.GatewayKernelManager.restart_kernel:
  - 545
  - 546
  - 549
  - 550
  - 554
  - 556
  jupyter_server.gateway.managers.GatewayKernelManager.shutdown_kernel:
  - 528
  - 530
  - 531
  - 533
  - 534
  - 536
  - 537
  jupyter_server.gateway.managers.GatewayKernelManager.start_kernel:
  - 514
  - 516
  - 517
  - 520
  - 521
  - 522
  - 474
  - 482
  - 484
  - 485
  - 486
  - 489
  - 490
  - 492
  - 493
  - 498
  - 499
  - 503
  - 506
  - 508
  jupyter_server.gateway.managers.GatewayKernelSpecManager:
  - 213
  jupyter_server.gateway.managers.GatewayKernelSpecManager.__init__:
  - 224
  - 225
  - 216
  - 217
  - 218
  - 219
  - 222
  - 223
  jupyter_server.gateway.managers.GatewayKernelSpecManager._get_endpoint_for_user_filter:
  - 232
  - 233
  - 230
  - 231
  jupyter_server.gateway.managers.GatewayKernelSpecManager._get_kernelspecs_endpoint_url:
  - 267
  - 268
  - 262
  jupyter_server.gateway.managers.GatewayKernelSpecManager._replace_path_kernelspec_resources:
  - 237
  - 241
  - 244
  - 246
  - 248
  - 249
  - 250
  - 254
  - 255
  jupyter_server.gateway.managers.GatewayKernelSpecManager.get_all_specs:
  - 291
  - 273
  - 274
  - 280
  - 283
  - 284
  - 285
  jupyter_server.gateway.managers.GatewayKernelSpecManager.get_kernel_spec:
  - 324
  - 304
  - 311
  - 312
  - 314
  - 316
  - 319
  jupyter_server.gateway.managers.GatewayKernelSpecManager.get_kernel_spec_resource:
  - 329
  - 338
  - 339
  - 341
  - 343
  - 345
  jupyter_server.gateway.managers.GatewayKernelSpecManager.list_kernel_specs:
  - 295
  - 296
  - 297
  - 298
  - 299
  - 300
  jupyter_server.gateway.managers.GatewayMappingKernelManager:
  - 43
  - 38
  - 47
  jupyter_server.gateway.managers.GatewayMappingKernelManager.__init__:
  - 52
  - 53
  - 54
  - 55
  jupyter_server.gateway.managers.GatewayMappingKernelManager.cull_kernels:
  - 208
  - 209
  - 207
  jupyter_server.gateway.managers.GatewayMappingKernelManager.interrupt_kernel:
  - 196
  - 195
  - 188
  jupyter_server.gateway.managers.GatewayMappingKernelManager.kernel_model:
  - 104
  - 94
  - 103
  jupyter_server.gateway.managers.GatewayMappingKernelManager.list_kernels:
  - 128
  - 129
  - 131
  - 158
  - 109
  - 114
  - 115
  - 116
  - 147
  - 150
  - 120
  - 153
  - 122
  - 123
  - 156
  - 157
  - 126
  jupyter_server.gateway.managers.GatewayMappingKernelManager.remove_kernel:
  - 59
  - 61
  jupyter_server.gateway.managers.GatewayMappingKernelManager.restart_kernel:
  - 184
  - 177
  - 185
  jupyter_server.gateway.managers.GatewayMappingKernelManager.shutdown_all:
  - 199
  - 200
  - 201
  - 202
  - 203
  - 204
  jupyter_server.gateway.managers.GatewayMappingKernelManager.shutdown_kernel:
  - 161
  - 172
  - 173
  - 174
  jupyter_server.gateway.managers.GatewayMappingKernelManager.start_kernel:
  - 66
  - 78
  - 80
  - 81
  - 83
  - 84
  - 88
  - 89
  jupyter_server.gateway.managers.GatewaySessionManager:
  - 355
  - 357
  jupyter_server.gateway.managers.GatewaySessionManager.kernel_culled:
  - 360
  - 370
  jupyter_server.gateway.managers.HBChannelQueue:
  - 685
  jupyter_server.gateway.managers.HBChannelQueue.is_beating:
  - 688
  - 690
  jupyter_server.i18n:
  - 24
  - 1
  - 13
  jupyter_server.i18n.cached_load:
  - 74
  - 79
  jupyter_server.i18n.combine_translations:
  - 96
  - 85
  - 89
  - 91
  - 92
  - 94
  jupyter_server.i18n.load:
  - 64
  - 60
  - 69
  - 62
  jupyter_server.i18n.parse_accept_lang_header:
  - 35
  - 40
  - 41
  - 42
  - 43
  - 45
  - 47
  - 48
  - 49
  - 51
  - 54
  - 55
  jupyter_server.kernelspecs.handlers:
  - 1
  jupyter_server.kernelspecs.handlers.KernelSpecResourceHandler:
  - 16
  jupyter_server.kernelspecs.handlers.KernelSpecResourceHandler.get:
  - 33
  - 36
  - 37
  - 41
  - 42
  - 43
  - 46
  - 47
  - 53
  - 57
  - 58
  - 28
  - 30
  - 31
  jupyter_server.kernelspecs.handlers.KernelSpecResourceHandler.head:
  - 64
  - 63
  jupyter_server.kernelspecs.handlers.KernelSpecResourceHandler.initialize:
  - 22
  - 23
  jupyter_server.log:
  - 1
  jupyter_server.log._scrub_uri:
  - 32
  - 33
  - 34
  - 37
  - 38
  - 39
  - 23
  - 24
  - 25
  - 29
  - 31
  jupyter_server.log.log_request:
  - 97
  - 98
  - 99
  - 68
  - 73
  - 44
  - 51
  - 83
  - 95
  - 87
  - 89
  - 58
  - 91
  - 61
  - 94
  - 63
  jupyter_server.nbconvert.handlers:
  - 1
  - 23
  jupyter_server.nbconvert.handlers.NbconvertFileHandler:
  - 89
  jupyter_server.nbconvert.handlers.NbconvertFileHandler.get:
  - 129
  - 134
  - 135
  - 138
  - 141
  - 145
  - 146
  - 147
  - 150
  - 151
  - 153
  - 154
  - 97
  - 98
  - 99
  - 101
  - 104
  - 105
  - 106
  - 110
  - 112
  - 114
  - 118
  - 121
  - 122
  jupyter_server.nbconvert.handlers.NbconvertFileHandler.get.<lambda1>:
  - 135
  jupyter_server.nbconvert.handlers.NbconvertPostHandler:
  - 158
  jupyter_server.nbconvert.handlers.NbconvertPostHandler.post:
  - 192
  - 194
  - 166
  - 167
  - 169
  - 171
  - 172
  - 175
  - 176
  - 187
  - 191
  jupyter_server.nbconvert.handlers.NbconvertPostHandler.post.<lambda1>:
  - 176
  jupyter_server.nbconvert.handlers.find_resource_files:
  - 32
  - 33
  - 30
  jupyter_server.nbconvert.handlers.get_exporter:
  - 82
  - 68
  - 84
  - 76
  jupyter_server.nbconvert.handlers.respond_zip:
  - 38
  - 44
  - 45
  - 49
  - 50
  - 51
  - 52
  - 55
  - 56
  - 57
  - 58
  - 59
  - 60
  - 61
  - 63
  jupyter_server.prometheus.log_functions:
  - 1
  jupyter_server.prometheus.log_functions.prometheus_log_method:
  - 6
  - 21
  - 23
  - 24
  - 25
  jupyter_server.prometheus.metrics:
  - 32
  - 1
  - 27
  - 21
  jupyter_server.pytest_plugin:
  - 1
  - 45
  - 21
  - 39
  jupyter_server.pytest_plugin.jp_contents_manager:
  - 41
  - 42
  jupyter_server.pytest_plugin.jp_kernelspecs:
  - 33
  - 35
  - 36
  - 23
  - 25
  - 26
  - 27
  - 29
  - 30
  - 31
  jupyter_server.pytest_plugin.jp_large_contents_manager:
  - 48
  - 47
  jupyter_server.serverapp:
  - 704
  - 1
  - 738
  - 708
  - 740
  - 712
  - 716
  - 45
  - 729
  - 730
  jupyter_server.serverapp.JupyterPasswordApp:
  - 491
  jupyter_server.serverapp.JupyterPasswordApp._config_file_default:
  - 500
  - 501
  jupyter_server.serverapp.JupyterPasswordApp.start:
  - 504
  - 507
  - 508
  jupyter_server.serverapp.JupyterServerListApp:
  - 673
  - 676
  - 648
  - 651
  - 656
  - 660
  - 664
  - 667
  jupyter_server.serverapp.JupyterServerListApp.start:
  - 684
  - 685
  - 686
  - 687
  - 688
  - 689
  - 690
  - 692
  - 693
  - 695
  - 697
  jupyter_server.serverapp.JupyterServerStopApp:
  - 584
  - 579
  - 590
  jupyter_server.serverapp.JupyterServerStopApp._maybe_remove_unix_socket:
  - 616
  - 614
  jupyter_server.serverapp.JupyterServerStopApp._shutdown_or_exit:
  - 608
  - 609
  - 610
  - 607
  jupyter_server.serverapp.JupyterServerStopApp.parse_command_line:
  - 593
  - 594
  - 595
  - 597
  jupyter_server.serverapp.JupyterServerStopApp.shutdown_server:
  - 603
  - 604
  jupyter_server.serverapp.JupyterServerStopApp.start:
  - 640
  - 641
  - 642
  - 643
  - 644
  - 621
  - 623
  - 624
  - 625
  - 626
  - 627
  - 628
  - 629
  - 630
  - 632
  - 634
  - 635
  - 636
  - 637
  jupyter_server.serverapp.ServerApp:
  - 1024
  - 1537
  - 1027
  - 1030
  - 1543
  - 1035
  - 1036
  - 1548
  - 1039
  - 1551
  - 1043
  - 1556
  - 1560
  - 1564
  - 1055
  - 1567
  - 1571
  - 1574
  - 1578
  - 1585
  - 1591
  - 1593
  - 1082
  - 1086
  - 1598
  - 1090
  - 1602
  - 1604
  - 1609
  - 1099
  - 1611
  - 1616
  - 1619
  - 1110
  - 1626
  - 1640
  - 1130
  - 1642
  - 1650
  - 1654
  - 1143
  - 1662
  - 1152
  - 1665
  - 1158
  - 1670
  - 1673
  - 1164
  - 1694
  - 1701
  - 1191
  - 1195
  - 1707
  - 1709
  - 1199
  - 1712
  - 1716
  - 1723
  - 1728
  - 1217
  - 1730
  - 1733
  - 1742
  - 1745
  - 1234
  - 1748
  - 1751
  - 1754
  - 1758
  - 1761
  - 1764
  - 1768
  - 1771
  - 1774
  - 1778
  - 1267
  - 1781
  - 1784
  - 1788
  - 765
  - 1791
  - 769
  - 1794
  - 1285
  - 1286
  - 1798
  - 776
  - 777
  - 1296
  - 1812
  - 1814
  - 1307
  - 1826
  - 803
  - 1318
  - 807
  - 1830
  - 1321
  - 811
  - 1838
  - 815
  - 1839
  - 1336
  - 1849
  - 1338
  - 1343
  - 1346
  - 839
  - 841
  - 845
  - 1358
  - 1359
  - 1361
  - 1364
  - 853
  - 1366
  - 1368
  - 857
  - 1370
  - 1373
  - 862
  - 1377
  - 1380
  - 873
  - 1386
  - 1388
  - 1391
  - 1393
  - 1396
  - 888
  - 891
  - 894
  - 1406
  - 897
  - 900
  - 903
  - 1415
  - 1416
  - 906
  - 908
  - 911
  - 914
  - 1429
  - 1431
  - 1435
  - 1436
  - 1438
  - 932
  - 1450
  - 939
  - 1451
  - 1453
  - 942
  - 1458
  - 1468
  - 959
  - 961
  - 1474
  - 964
  - 1478
  - 1481
  - 970
  - 1484
  - 973
  - 1487
  - 979
  - 1493
  - 983
  - 1495
  - 985
  - 1498
  - 991
  - 1504
  - 1507
  - 1510
  - 1518
  - 1521
  - 1524
  - 1526
  - 1015
  - 1018
  - 1021
  jupyter_server.serverapp.ServerApp._bind_http_server:
  - 2438
  - 2439
  - 2440
  - 2441
  - 2442
  - 2447
  jupyter_server.serverapp.ServerApp._bind_http_server_tcp:
  - 2472
  - 2471
  jupyter_server.serverapp.ServerApp._bind_http_server_unix:
  - 2450
  - 2451
  - 2452
  - 2456
  - 2457
  - 2459
  - 2460
  - 2462
  - 2463
  jupyter_server.serverapp.ServerApp._cleanup:
  - 2944
  - 2918
  - 2921
  - 2922
  - 2923
  - 2924
  - 2926
  - 2938
  - 2939
  - 2940
  - 2941
  - 2942
  jupyter_server.serverapp.ServerApp._confirm_exit:
  - 2252
  - 2260
  - 2262
  - 2263
  - 2266
  - 2268
  - 2269
  - 2270
  - 2271
  - 2272
  - 2273
  - 2274
  - 2275
  - 2276
  - 2277
  - 2280
  - 2283
  - 2287
  - 2288
  - 2293
  jupyter_server.serverapp.ServerApp._default_allow_remote:
  - 1251
  - 1253
  - 1259
  - 1236
  - 1240
  - 1244
  - 1247
  jupyter_server.serverapp.ServerApp._default_browser_open_file:
  - 1606
  - 1607
  jupyter_server.serverapp.ServerApp._default_browser_open_file_to_run:
  - 1613
  - 1614
  jupyter_server.serverapp.ServerApp._default_cookie_secret:
  - 1057
  - 1058
  - 1059
  - 1061
  - 1062
  - 1063
  - 1064
  - 1065
  jupyter_server.serverapp.ServerApp._default_cookie_secret_file:
  - 1041
  jupyter_server.serverapp.ServerApp._default_info_file:
  - 1595
  - 1596
  jupyter_server.serverapp.ServerApp._default_ip:
  - 929
  - 916
  - 920
  - 922
  - 924
  - 925
  jupyter_server.serverapp.ServerApp._default_kernel_manager_class:
  - 1489
  jupyter_server.serverapp.ServerApp._default_kernel_spec_manager_class:
  - 1539
  jupyter_server.serverapp.ServerApp._default_kernel_websocket_connection_class:
  - 1514
  jupyter_server.serverapp.ServerApp._default_log_format:
  - 847
  jupyter_server.serverapp.ServerApp._default_min_open_files_limit:
  - 1112
  - 1122
  - 1116
  - 1119
  jupyter_server.serverapp.ServerApp._default_root_dir:
  - 1675
  - 1677
  - 1679
  jupyter_server.serverapp.ServerApp._default_session_manager_class:
  - 1500
  jupyter_server.serverapp.ServerApp._default_static_custom_path:
  - 1433
  jupyter_server.serverapp.ServerApp._deprecated_cookie_config:
  - 1375
  jupyter_server.serverapp.ServerApp._deprecated_iopub_data_rate_limit:
  - 1786
  jupyter_server.serverapp.ServerApp._deprecated_iopub_msg_rate_limit:
  - 1776
  jupyter_server.serverapp.ServerApp._deprecated_kernel_ws_protocol:
  - 1756
  jupyter_server.serverapp.ServerApp._deprecated_limit_rate:
  - 1766
  jupyter_server.serverapp.ServerApp._deprecated_password:
  - 1193
  jupyter_server.serverapp.ServerApp._deprecated_password_config:
  - 1197
  jupyter_server.serverapp.ServerApp._deprecated_rate_limit_window:
  - 1796
  jupyter_server.serverapp.ServerApp._deprecated_token:
  - 1088
  jupyter_server.serverapp.ServerApp._deprecated_token_access:
  - 1092
  jupyter_server.serverapp.ServerApp._find_http_port:
  - 2476
  - 2479
  - 2481
  - 2482
  - 2484
  - 2485
  - 2486
  - 2487
  - 2490
  - 2492
  - 2494
  - 2496
  - 2503
  - 2504
  - 2505
  - 2506
  - 2512
  - 2513
  - 2519
  jupyter_server.serverapp.ServerApp._get_urlparts:
  - 2176
  - 2180
  - 2182
  - 2155
  - 2159
  - 2161
  - 2163
  - 2166
  - 2167
  - 2172
  jupyter_server.serverapp.ServerApp._handle_sigint:
  - 2240
  - 2243
  - 2245
  - 2238
  jupyter_server.serverapp.ServerApp._init_asyncio_patch:
  - 2544
  - 2523
  - 2533
  - 2542
  jupyter_server.serverapp.ServerApp._normalize_dir:
  - 1682
  - 1685
  - 1686
  - 1688
  - 1689
  - 1691
  jupyter_server.serverapp.ServerApp._port_default:
  - 966
  jupyter_server.serverapp.ServerApp._port_retries_default:
  - 981
  jupyter_server.serverapp.ServerApp._preferred_dir_validate:
  - 1718
  - 1719
  jupyter_server.serverapp.ServerApp._prepare_browser_open:
  - 2789
  - 2790
  - 2791
  - 2793
  - 2794
  - 2796
  - 2804
  - 2805
  - 2807
  jupyter_server.serverapp.ServerApp._resolve_file_to_run_and_root_dir:
  - 2691
  - 2699
  - 2700
  - 2701
  - 2702
  - 2704
  - 2705
  - 2706
  - 2712
  - 2714
  - 2719
  jupyter_server.serverapp.ServerApp._restore_sigint_handler:
  - 2248
  - 2249
  jupyter_server.serverapp.ServerApp._root_dir_validate:
  - 1696
  - 1697
  jupyter_server.serverapp.ServerApp._signal_info:
  - 2301
  - 2302
  jupyter_server.serverapp.ServerApp._signal_stop:
  - 2296
  - 2297
  - 2298
  jupyter_server.serverapp.ServerApp._stop:
  - 2971
  - 2972
  - 2973
  - 2974
  jupyter_server.serverapp.ServerApp._update_base_url:
  - 1408
  - 1409
  - 1411
  jupyter_server.serverapp.ServerApp._update_notebook_dir:
  - 1644
  - 1647
  jupyter_server.serverapp.ServerApp._update_pylab:
  - 1633
  - 1634
  - 1638
  - 1628
  - 1630
  - 1631
  jupyter_server.serverapp.ServerApp._update_server_extensions:
  - 1725
  jupyter_server.serverapp.ServerApp._validate_ip:
  - 934
  - 935
  jupyter_server.serverapp.ServerApp._validate_sock_mode:
  - 1000
  - 995
  - 996
  - 999
  jupyter_server.serverapp.ServerApp._warn_deprecated_config:
  - 1186
  - 1187
  - 1173
  - 1174
  - 1176
  - 1179
  jupyter_server.serverapp.ServerApp._write_browser_open_file:
  - 2723
  - 2724
  - 2725
  - 2726
  - 2729
  - 2730
  jupyter_server.serverapp.ServerApp._write_cookie_secret_file:
  - 1068
  - 1069
  - 1071
  - 1072
  - 1074
  - 1075
  jupyter_server.serverapp.ServerApp.cleanup_extensions:
  - 2628
  - 2629
  - 2631
  - 2632
  - 2635
  - 2636
  jupyter_server.serverapp.ServerApp.cleanup_kernels:
  - 2624
  - 2625
  - 2613
  - 2618
  - 2620
  - 2621
  jupyter_server.serverapp.ServerApp.connection_url:
  - 2218
  - 2219
  jupyter_server.serverapp.ServerApp.display_url:
  - 2210
  jupyter_server.serverapp.ServerApp.find_server_extensions:
  - 2309
  - 2323
  - 2324
  - 2326
  - 2327
  - 2328
  - 2329
  jupyter_server.serverapp.ServerApp.http_server:
  - 2400
  jupyter_server.serverapp.ServerApp.init_components:
  - 2305
  jupyter_server.serverapp.ServerApp.init_configurables:
  - 1920
  - 1921
  - 1923
  - 1924
  - 1929
  - 1930
  - 1936
  - 1937
  - 1943
  - 1949
  - 1957
  - 1964
  - 1966
  - 1968
  - 1972
  - 1974
  - 1979
  - 1980
  - 1983
  - 1991
  - 1993
  - 1882
  - 1885
  - 1887
  - 1891
  - 1897
  - 1901
  - 1907
  - 1917
  - 1918
  jupyter_server.serverapp.ServerApp.init_event_logger:
  - 2024
  - 2026
  - 2029
  - 2014
  - 2015
  jupyter_server.serverapp.ServerApp.init_httpserver:
  - 2433
  - 2434
  - 2435
  - 2412
  - 2416
  - 2424
  jupyter_server.serverapp.ServerApp.init_ioloop:
  - 2960
  - 2959
  jupyter_server.serverapp.ServerApp.init_logging:
  - 2008
  - 2011
  - 2004
  - 1998
  jupyter_server.serverapp.ServerApp.init_mime_overrides:
  - 2368
  - 2361
  - 2363
  - 2365
  - 2366
  jupyter_server.serverapp.ServerApp.init_resources:
  - 2144
  - 2145
  - 2147
  - 2150
  - 2134
  - 2135
  - 2136
  - 2141
  jupyter_server.serverapp.ServerApp.init_server_extensions:
  - 2342
  - 2332
  - 2341
  - 2340
  jupyter_server.serverapp.ServerApp.init_shutdown_no_activity:
  - 2389
  - 2390
  - 2391
  - 2395
  - 2396
  jupyter_server.serverapp.ServerApp.init_signal:
  - 2222
  - 2223
  - 2224
  - 2226
  - 2228
  - 2229
  - 2230
  - 2232
  - 2233
  - 2235
  jupyter_server.serverapp.ServerApp.init_webapp:
  - 2051
  - 2052
  - 2055
  - 2056
  - 2057
  - 2060
  - 2065
  - 2067
  - 2071
  - 2072
  - 2075
  - 2077
  - 2078
  - 2084
  - 2086
  - 2105
  - 2107
  - 2109
  - 2111
  - 2121
  - 2122
  - 2124
  - 2125
  - 2127
  - 2129
  - 2032
  - 2035
  - 2036
  - 2047
  jupyter_server.serverapp.ServerApp.initialize:
  - 2571
  - 2574
  - 2575
  - 2579
  - 2583
  - 2584
  - 2585
  - 2586
  - 2587
  - 2591
  - 2595
  - 2598
  - 2601
  - 2602
  - 2603
  - 2604
  - 2605
  - 2606
  - 2607
  - 2608
  - 2609
  - 2610
  - 2554
  jupyter_server.serverapp.ServerApp.launch_browser:
  - 2818
  - 2820
  - 2823
  - 2826
  - 2832
  - 2812
  jupyter_server.serverapp.ServerApp.launch_browser.target:
  - 2830
  jupyter_server.serverapp.ServerApp.load_server_extensions:
  - 2352
  - 2345
  jupyter_server.serverapp.ServerApp.local_url:
  - 2202
  - 2204
  - 2205
  - 2206
  jupyter_server.serverapp.ServerApp.parse_command_line:
  - 1861
  - 1862
  - 1864
  - 1866
  - 1867
  - 1868
  - 1869
  - 1870
  - 1874
  - 1875
  - 1877
  - 1879
  jupyter_server.serverapp.ServerApp.public_url:
  - 2189
  - 2191
  - 2193
  - 2195
  - 2197
  - 2198
  jupyter_server.serverapp.ServerApp.remove_browser_open_file:
  - 2785
  - 2778
  - 2783
  jupyter_server.serverapp.ServerApp.remove_browser_open_files:
  - 2770
  - 2772
  - 2765
  - 2774
  jupyter_server.serverapp.ServerApp.remove_server_info_file:
  - 2680
  - 2685
  - 2687
  jupyter_server.serverapp.ServerApp.running_server_info:
  - 2639
  - 2640
  - 2641
  - 2642
  - 2643
  - 2647
  - 2648
  - 2650
  jupyter_server.serverapp.ServerApp.server_info:
  - 2656
  - 2662
  - 2665
  - 2666
  - 2667
  jupyter_server.serverapp.ServerApp.shutdown_no_activity:
  - 2371
  - 2373
  - 2376
  - 2379
  - 2380
  - 2381
  - 2382
  - 2386
  jupyter_server.serverapp.ServerApp.start:
  - 2968
  - 2963
  - 2967
  jupyter_server.serverapp.ServerApp.start_app:
  - 2835
  - 2836
  - 2838
  - 2841
  - 2844
  - 2845
  - 2846
  - 2848
  - 2851
  - 2852
  - 2853
  - 2854
  - 2858
  - 2859
  - 2860
  - 2868
  - 2870
  - 2871
  - 2874
  - 2875
  - 2877
  - 2880
  - 2881
  - 2882
  - 2887
  - 2896
  - 2899
  - 2915
  jupyter_server.serverapp.ServerApp.start_ioloop:
  - 2947
  - 2948
  - 2951
  - 2952
  - 2954
  - 2956
  jupyter_server.serverapp.ServerApp.starter_app:
  - 1857
  jupyter_server.serverapp.ServerApp.static_file_path:
  - 1426
  jupyter_server.serverapp.ServerApp.stop:
  - 2977
  - 2980
  - 2982
  - 2983
  - 2986
  - 2987
  - 2989
  jupyter_server.serverapp.ServerApp.template_file_path:
  - 1447
  jupyter_server.serverapp.ServerApp.write_browser_open_file:
  - 2762
  - 2761
  - 2754
  - 2759
  jupyter_server.serverapp.ServerApp.write_browser_open_files:
  - 2733
  - 2738
  - 2742
  - 2744
  - 2746
  - 2747
  - 2750
  - 2751
  jupyter_server.serverapp.ServerApp.write_server_info_file:
  - 2672
  - 2674
  - 2675
  - 2677
  jupyter_server.serverapp.ServerWebApplication:
  - 221
  jupyter_server.serverapp.ServerWebApplication.__init__:
  - 261
  - 263
  - 244
  - 245
  - 246
  - 281
  - 283
  - 252
  - 254
  - 255
  jupyter_server.serverapp.ServerWebApplication.init_handlers:
  - 413
  - 417
  - 418
  - 422
  - 423
  - 425
  - 426
  - 427
  - 438
  - 440
  - 443
  - 445
  - 447
  - 458
  - 462
  - 463
  - 464
  - 465
  - 467
  jupyter_server.serverapp.ServerWebApplication.init_settings:
  - 405
  - 407
  - 305
  - 306
  - 310
  - 312
  - 315
  - 317
  - 318
  - 320
  - 322
  - 323
  - 325
  - 328
  - 330
  - 336
  - 338
  - 341
  - 342
  - 344
  - 355
  - 370
  jupyter_server.serverapp.ServerWebApplication.last_activity:
  - 483
  - 484
  - 486
  - 487
  - 471
  jupyter_server.serverapp.list_running_servers:
  - 3008
  - 3009
  - 3010
  - 3013
  - 3019
  - 3020
  - 3024
  - 3026
  - 2995
  - 3027
  - 3001
  - 3002
  - 3005
  jupyter_server.serverapp.load_handlers:
  - 210
  - 211
  jupyter_server.serverapp.random_ports:
  - 198
  - 203
  - 204
  - 205
  - 206
  jupyter_server.serverapp.shutdown_server:
  - 512
  - 527
  - 528
  - 529
  - 530
  - 537
  - 539
  - 540
  - 541
  - 542
  - 550
  - 551
  - 552
  - 553
  - 555
  - 557
  - 560
  - 561
  - 562
  - 565
  - 566
  - 567
  - 568
  - 570
  - 572
  - 573
  - 574
  jupyter_server.services.api.handlers:
  - 1
  jupyter_server.services.api.handlers.APISpecHandler:
  - 20
  jupyter_server.services.api.handlers.APISpecHandler.get:
  - 32
  - 33
  - 31
  jupyter_server.services.api.handlers.APISpecHandler.get_content_type:
  - 36
  jupyter_server.services.api.handlers.APISpecHandler.initialize:
  - 25
  - 26
  jupyter_server.services.api.handlers.APIStatusHandler:
  - 41
  jupyter_server.services.api.handlers.APIStatusHandler.get:
  - 49
  - 51
  - 52
  - 54
  - 55
  - 56
  - 60
  - 63
  jupyter_server.services.api.handlers.IdentityHandler:
  - 67
  jupyter_server.services.api.handlers.IdentityHandler.get:
  - 96
  - 97
  - 98
  - 100
  - 101
  - 71
  - 72
  - 103
  - 74
  - 76
  - 108
  - 79
  - 87
  - 88
  - 89
  - 90
  - 91
  jupyter_server.services.config.handlers:
  - 1
  jupyter_server.services.config.handlers.ConfigHandler:
  - 16
  jupyter_server.services.config.handlers.ConfigHandler.get:
  - 24
  - 25
  - 23
  jupyter_server.services.config.handlers.ConfigHandler.patch:
  - 40
  - 41
  - 38
  - 39
  jupyter_server.services.config.handlers.ConfigHandler.put:
  - 32
  - 33
  - 30
  - 31
  jupyter_server.services.config.manager:
  - 1
  jupyter_server.services.config.manager.ConfigManager:
  - 43
  - 45
  - 16
  - 49
  - 18
  - 51
  - 55
  - 57
  - 61
  jupyter_server.services.config.manager.ConfigManager._default_read_config_path:
  - 47
  jupyter_server.services.config.manager.ConfigManager._default_write_config_dir:
  - 53
  jupyter_server.services.config.manager.ConfigManager._default_write_config_manager:
  - 59
  jupyter_server.services.config.manager.ConfigManager._update_write_config_dir:
  - 63
  jupyter_server.services.config.manager.ConfigManager.get:
  - 25
  - 28
  - 29
  - 30
  jupyter_server.services.config.manager.ConfigManager.set:
  - 34
  - 35
  jupyter_server.services.config.manager.ConfigManager.update:
  - 38
  - 39
  jupyter_server.services.contents.checkpoints:
  - 1
  jupyter_server.services.contents.checkpoints.AsyncCheckpoints:
  - 146
  jupyter_server.services.contents.checkpoints.AsyncCheckpoints.create_checkpoint:
  - 151
  jupyter_server.services.contents.checkpoints.AsyncCheckpoints.delete_all_checkpoints:
  - 176
  - 177
  - 178
  jupyter_server.services.contents.checkpoints.AsyncCheckpoints.delete_checkpoint:
  - 163
  jupyter_server.services.contents.checkpoints.AsyncCheckpoints.list_checkpoints:
  - 167
  jupyter_server.services.contents.checkpoints.AsyncCheckpoints.rename_all_checkpoints:
  - 171
  - 172
  - 173
  jupyter_server.services.contents.checkpoints.AsyncCheckpoints.rename_checkpoint:
  - 159
  jupyter_server.services.contents.checkpoints.AsyncCheckpoints.restore_checkpoint:
  - 155
  jupyter_server.services.contents.checkpoints.AsyncGenericCheckpointsMixin:
  - 182
  jupyter_server.services.contents.checkpoints.AsyncGenericCheckpointsMixin.create_checkpoint:
  - 195
  - 196
  - 188
  - 190
  - 191
  jupyter_server.services.contents.checkpoints.AsyncGenericCheckpointsMixin.create_file_checkpoint:
  - 218
  jupyter_server.services.contents.checkpoints.AsyncGenericCheckpointsMixin.create_notebook_checkpoint:
  - 225
  jupyter_server.services.contents.checkpoints.AsyncGenericCheckpointsMixin.get_file_checkpoint:
  - 232
  jupyter_server.services.contents.checkpoints.AsyncGenericCheckpointsMixin.get_notebook_checkpoint:
  - 245
  jupyter_server.services.contents.checkpoints.AsyncGenericCheckpointsMixin.restore_checkpoint:
  - 205
  - 206
  - 208
  - 209
  - 210
  - 211
  - 214
  jupyter_server.services.contents.checkpoints.Checkpoints:
  - 11
  jupyter_server.services.contents.checkpoints.Checkpoints.create_checkpoint:
  - 24
  jupyter_server.services.contents.checkpoints.Checkpoints.delete_all_checkpoints:
  - 49
  - 50
  - 51
  jupyter_server.services.contents.checkpoints.Checkpoints.delete_checkpoint:
  - 36
  jupyter_server.services.contents.checkpoints.Checkpoints.list_checkpoints:
  - 40
  jupyter_server.services.contents.checkpoints.Checkpoints.rename_all_checkpoints:
  - 44
  - 45
  - 46
  jupyter_server.services.contents.checkpoints.Checkpoints.rename_checkpoint:
  - 32
  jupyter_server.services.contents.checkpoints.Checkpoints.restore_checkpoint:
  - 28
  jupyter_server.services.contents.checkpoints.GenericCheckpointsMixin:
  - 55
  jupyter_server.services.contents.checkpoints.GenericCheckpointsMixin.create_checkpoint:
  - 77
  - 79
  - 80
  - 84
  - 85
  jupyter_server.services.contents.checkpoints.GenericCheckpointsMixin.create_file_checkpoint:
  - 106
  jupyter_server.services.contents.checkpoints.GenericCheckpointsMixin.create_notebook_checkpoint:
  - 113
  jupyter_server.services.contents.checkpoints.GenericCheckpointsMixin.get_file_checkpoint:
  - 120
  jupyter_server.services.contents.checkpoints.GenericCheckpointsMixin.get_notebook_checkpoint:
  - 133
  jupyter_server.services.contents.checkpoints.GenericCheckpointsMixin.restore_checkpoint:
  - 96
  - 97
  - 98
  - 99
  - 102
  - 94
  - 95
  jupyter_server.services.contents.filecheckpoints:
  - 1
  jupyter_server.services.contents.filecheckpoints.AsyncFileCheckpoints.checkpoint_model:
  - 149
  - 150
  - 151
  jupyter_server.services.contents.filecheckpoints.AsyncFileCheckpoints.create_checkpoint:
  - 135
  - 137
  - 138
  - 139
  - 140
  jupyter_server.services.contents.filecheckpoints.AsyncFileCheckpoints.delete_checkpoint:
  - 173
  - 174
  - 175
  - 176
  - 177
  - 179
  - 180
  - 181
  jupyter_server.services.contents.filecheckpoints.AsyncFileCheckpoints.list_checkpoints:
  - 194
  - 184
  - 188
  - 190
  - 191
  jupyter_server.services.contents.filecheckpoints.AsyncFileCheckpoints.rename_checkpoint:
  - 160
  - 161
  - 162
  - 163
  - 164
  - 169
  - 170
  jupyter_server.services.contents.filecheckpoints.AsyncFileCheckpoints.restore_checkpoint:
  - 144
  - 145
  - 146
  - 143
  jupyter_server.services.contents.filecheckpoints.AsyncGenericFileCheckpoints:
  - 264
  jupyter_server.services.contents.filecheckpoints.AsyncGenericFileCheckpoints.create_file_checkpoint:
  - 270
  - 271
  - 274
  - 275
  - 276
  - 277
  - 280
  jupyter_server.services.contents.filecheckpoints.AsyncGenericFileCheckpoints.create_notebook_checkpoint:
  - 288
  - 289
  - 290
  - 293
  - 283
  - 284
  - 287
  jupyter_server.services.contents.filecheckpoints.AsyncGenericFileCheckpoints.get_file_checkpoint:
  - 321
  - 313
  - 314
  - 315
  - 316
  - 318
  - 319
  jupyter_server.services.contents.filecheckpoints.AsyncGenericFileCheckpoints.get_notebook_checkpoint:
  - 296
  - 297
  - 298
  - 299
  - 301
  - 302
  - 306
  jupyter_server.services.contents.filecheckpoints.FileCheckpoints:
  - 24
  - 32
  - 43
  jupyter_server.services.contents.filecheckpoints.FileCheckpoints._root_dir_default:
  - 46
  - 47
  jupyter_server.services.contents.filecheckpoints.FileCheckpoints.checkpoint_model:
  - 120
  - 121
  - 119
  jupyter_server.services.contents.filecheckpoints.FileCheckpoints.checkpoint_path:
  - 105
  - 106
  - 107
  - 108
  - 109
  - 111
  - 112
  - 113
  - 114
  - 115
  jupyter_server.services.contents.filecheckpoints.FileCheckpoints.create_checkpoint:
  - 52
  - 54
  - 55
  - 56
  - 57
  jupyter_server.services.contents.filecheckpoints.FileCheckpoints.delete_checkpoint:
  - 80
  - 81
  - 82
  - 83
  - 84
  - 86
  - 87
  - 88
  jupyter_server.services.contents.filecheckpoints.FileCheckpoints.list_checkpoints:
  - 97
  - 98
  - 101
  - 91
  - 95
  jupyter_server.services.contents.filecheckpoints.FileCheckpoints.rename_checkpoint:
  - 67
  - 68
  - 69
  - 70
  - 71
  - 76
  - 77
  jupyter_server.services.contents.filecheckpoints.FileCheckpoints.restore_checkpoint:
  - 60
  - 61
  - 62
  - 63
  jupyter_server.services.contents.filecheckpoints.GenericFileCheckpoints:
  - 198
  jupyter_server.services.contents.filecheckpoints.GenericFileCheckpoints.create_file_checkpoint:
  - 204
  - 205
  - 208
  - 209
  - 210
  - 211
  - 214
  jupyter_server.services.contents.filecheckpoints.GenericFileCheckpoints.create_notebook_checkpoint:
  - 224
  - 227
  - 217
  - 218
  - 221
  - 222
  - 223
  jupyter_server.services.contents.filecheckpoints.GenericFileCheckpoints.get_file_checkpoint:
  - 247
  - 248
  - 249
  - 250
  - 252
  - 253
  - 255
  jupyter_server.services.contents.filecheckpoints.GenericFileCheckpoints.get_notebook_checkpoint:
  - 230
  - 231
  - 232
  - 233
  - 235
  - 236
  - 240
  jupyter_server.services.contents.fileio:
  - 1
  jupyter_server.services.contents.fileio.AsyncFileManagerMixin:
  - 434
  jupyter_server.services.contents.fileio.AsyncFileManagerMixin._copy:
  - 443
  - 439
  jupyter_server.services.contents.fileio.AsyncFileManagerMixin._read_file:
  - 550
  - 520
  - 552
  - 523
  - 524
  - 526
  - 530
  - 501
  - 535
  - 538
  - 543
  jupyter_server.services.contents.fileio.AsyncFileManagerMixin._read_notebook:
  - 448
  - 449
  - 452
  - 453
  - 467
  - 469
  - 476
  - 477
  - 478
  - 479
  jupyter_server.services.contents.fileio.AsyncFileManagerMixin._save_file:
  - 556
  - 557
  - 563
  - 564
  - 566
  - 567
  - 571
  - 572
  jupyter_server.services.contents.fileio.AsyncFileManagerMixin._save_notebook:
  - 488
  - 489
  - 486
  - 487
  jupyter_server.services.contents.fileio.FileManagerMixin:
  - 199
  - 174
  - 191
  jupyter_server.services.contents.fileio.FileManagerMixin._copy:
  - 248
  - 244
  jupyter_server.services.contents.fileio.FileManagerMixin._get_hash:
  - 351
  - 349
  - 350
  - 335
  jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path:
  - 267
  - 268
  - 270
  - 272
  - 276
  - 251
  - 284
  jupyter_server.services.contents.fileio.FileManagerMixin._read_file:
  - 385
  - 356
  - 390
  - 393
  - 398
  - 405
  - 375
  - 408
  - 378
  - 379
  - 381
  jupyter_server.services.contents.fileio.FileManagerMixin._read_notebook:
  - 320
  - 291
  - 292
  - 295
  - 308
  - 310
  - 317
  - 318
  - 319
  jupyter_server.services.contents.fileio.FileManagerMixin._save_file:
  - 421
  - 422
  - 424
  - 425
  - 429
  - 430
  - 414
  - 415
  jupyter_server.services.contents.fileio.FileManagerMixin._save_notebook:
  - 325
  - 326
  - 327
  jupyter_server.services.contents.fileio.FileManagerMixin.atomic_writing:
  - 224
  - 214
  - 217
  - 219
  - 220
  - 221
  - 223
  jupyter_server.services.contents.fileio.FileManagerMixin.open:
  - 208
  - 209
  - 210
  jupyter_server.services.contents.fileio.FileManagerMixin.perm_to_403:
  - 228
  - 230
  - 232
  - 236
  - 238
  jupyter_server.services.contents.fileio._simple_writing:
  - 160
  - 162
  - 165
  - 167
  - 136
  - 170
  - 154
  - 155
  - 157
  - 159
  jupyter_server.services.contents.fileio.async_copy2_safe:
  - 51
  - 55
  - 57
  - 59
  - 60
  jupyter_server.services.contents.fileio.async_replace_file:
  - 33
  - 34
  jupyter_server.services.contents.fileio.atomic_writing:
  - 130
  - 131
  - 101
  - 102
  - 104
  - 106
  - 107
  - 109
  - 79
  - 111
  - 112
  - 114
  - 117
  - 120
  - 121
  - 125
  - 126
  - 127
  jupyter_server.services.contents.fileio.copy2_safe:
  - 38
  - 42
  - 44
  - 46
  - 47
  jupyter_server.services.contents.fileio.path_to_intermediate:
  - 64
  - 67
  - 68
  jupyter_server.services.contents.fileio.path_to_invalid:
  - 72
  - 73
  - 74
  jupyter_server.services.contents.fileio.replace_file:
  - 28
  - 29
  jupyter_server.services.contents.filemanager:
  - 1
  jupyter_server.services.contents.filemanager.AsyncFileContentsManager:
  - 740
  - 742
  jupyter_server.services.contents.filemanager.AsyncFileContentsManager._copy_dir:
  - 1153
  - 1143
  - 1148
  - 1149
  - 1150
  - 1151
  jupyter_server.services.contents.filemanager.AsyncFileContentsManager._dir_model:
  - 768
  - 770
  - 772
  - 776
  - 779
  - 780
  - 781
  - 782
  - 785
  - 786
  - 787
  - 788
  - 790
  - 794
  - 795
  - 797
  - 800
  - 801
  - 747
  - 751
  - 755
  - 757
  - 758
  - 761
  - 764
  - 766
  - 767
  jupyter_server.services.contents.filemanager.AsyncFileContentsManager._file_model:
  - 832
  - 839
  - 812
  - 844
  - 845
  - 846
  - 847
  - 823
  - 826
  - 827
  - 830
  - 831
  jupyter_server.services.contents.filemanager.AsyncFileContentsManager._get_dir_size:
  - 1185
  - 1187
  - 1191
  - 1197
  - 1198
  - 1200
  - 1181
  jupyter_server.services.contents.filemanager.AsyncFileContentsManager._human_readable_size:
  - 1208
  - 1211
  - 1215
  jupyter_server.services.contents.filemanager.AsyncFileContentsManager._notebook_model:
  - 864
  - 867
  - 870
  - 872
  - 873
  - 874
  - 875
  - 852
  - 857
  - 859
  - 862
  jupyter_server.services.contents.filemanager.AsyncFileContentsManager._save_directory:
  - 929
  - 930
  - 932
  - 933
  - 934
  - 935
  - 938
  jupyter_server.services.contents.filemanager.AsyncFileContentsManager.check_folder_size:
  - 1168
  - 1162
  - 1171
  - 1170
  jupyter_server.services.contents.filemanager.AsyncFileContentsManager.copy:
  - 1122
  - 1125
  - 1126
  - 1128
  - 1097
  - 1129
  - 1130
  - 1133
  - 1105
  - 1106
  - 1107
  - 1108
  - 1110
  - 1111
  - 1116
  - 1118
  - 1119
  jupyter_server.services.contents.filemanager.AsyncFileContentsManager.delete_file:
  - 1024
  - 1026
  - 1031
  - 1033
  - 1035
  - 1036
  - 1037
  - 1039
  - 1040
  - 1041
  - 990
  - 991
  - 992
  - 995
  - 998
  - 1012
  - 1013
  - 1016
  - 1022
  jupyter_server.services.contents.filemanager.AsyncFileContentsManager.delete_file.is_non_empty_dir:
  - 1002
  - 1005
  - 1006
  - 1007
  jupyter_server.services.contents.filemanager.AsyncFileContentsManager.dir_exists:
  - 1072
  - 1073
  - 1074
  - 1075
  jupyter_server.services.contents.filemanager.AsyncFileContentsManager.file_exists:
  - 1080
  - 1081
  - 1078
  - 1079
  jupyter_server.services.contents.filemanager.AsyncFileContentsManager.get:
  - 903
  - 905
  - 908
  - 909
  - 910
  - 880
  - 916
  - 917
  - 918
  - 920
  - 922
  - 925
  jupyter_server.services.contents.filemanager.AsyncFileContentsManager.get_kernel_path:
  - 1090
  - 1091
  - 1093
  jupyter_server.services.contents.filemanager.AsyncFileContentsManager.is_hidden:
  - 1084
  - 1085
  - 1086
  - 1087
  jupyter_server.services.contents.filemanager.AsyncFileContentsManager.rename_file:
  - 1059
  - 1064
  - 1065
  - 1044
  - 1045
  - 1046
  - 1047
  - 1050
  - 1051
  - 1053
  - 1054
  jupyter_server.services.contents.filemanager.AsyncFileContentsManager.save:
  - 941
  - 942
  - 944
  - 946
  - 948
  - 951
  - 952
  - 956
  - 957
  - 958
  - 959
  - 961
  - 962
  - 963
  - 965
  - 966
  - 967
  - 973
  - 977
  - 978
  - 979
  - 981
  - 982
  - 985
  - 986
  jupyter_server.services.contents.filemanager.FileContentsManager:
  - 98
  - 68
  - 102
  - 46
  - 110
  - 48
  - 124
  - 50
  - 52
  - 120
  - 58
  - 92
  jupyter_server.services.contents.filemanager.FileContentsManager._base_model:
  - 257
  - 258
  - 227
  - 228
  - 229
  - 262
  - 233
  - 234
  - 270
  - 241
  - 245
  - 251
  - 252
  - 255
  jupyter_server.services.contents.filemanager.FileContentsManager._copy_dir:
  - 672
  - 662
  - 667
  - 668
  - 669
  - 670
  jupyter_server.services.contents.filemanager.FileContentsManager._default_preferred_dir:
  - 70
  - 74
  - 79
  - 80
  - 86
  - 87
  jupyter_server.services.contents.filemanager.FileContentsManager._default_root_dir:
  - 54
  - 55
  jupyter_server.services.contents.filemanager.FileContentsManager._dir_model:
  - 277
  - 281
  - 285
  - 287
  - 288
  - 291
  - 294
  - 296
  - 297
  - 299
  - 301
  - 305
  - 308
  - 309
  - 310
  - 311
  - 314
  - 315
  - 316
  - 317
  - 319
  - 323
  - 324
  - 326
  - 329
  - 330
  jupyter_server.services.contents.filemanager.FileContentsManager._file_model:
  - 352
  - 355
  - 356
  - 359
  - 360
  - 361
  - 368
  - 341
  - 373
  - 374
  - 376
  - 375
  jupyter_server.services.contents.filemanager.FileContentsManager._get_dir_size:
  - 704
  - 706
  - 710
  - 716
  - 717
  - 719
  - 700
  jupyter_server.services.contents.filemanager.FileContentsManager._human_readable_size:
  - 730
  - 734
  - 727
  jupyter_server.services.contents.filemanager.FileContentsManager._notebook_model:
  - 388
  - 390
  - 393
  - 395
  - 398
  - 401
  - 403
  - 404
  - 405
  - 406
  - 381
  jupyter_server.services.contents.filemanager.FileContentsManager._save_directory:
  - 465
  - 466
  - 468
  - 469
  - 470
  - 471
  - 474
  jupyter_server.services.contents.filemanager.FileContentsManager._validate_preferred_dir:
  - 96
  - 95
  jupyter_server.services.contents.filemanager.FileContentsManager._validate_root_dir:
  - 64
  - 61
  - 63
  jupyter_server.services.contents.filemanager.FileContentsManager.check_folder_size:
  - 688
  - 681
  - 690
  - 686
  jupyter_server.services.contents.filemanager.FileContentsManager.copy:
  - 640
  - 643
  - 646
  - 647
  - 649
  - 618
  - 650
  - 651
  - 654
  - 626
  - 627
  - 628
  - 629
  - 631
  - 632
  - 637
  - 639
  jupyter_server.services.contents.filemanager.FileContentsManager.delete_file:
  - 576
  - 551
  - 552
  - 557
  - 559
  - 529
  - 530
  - 531
  - 561
  - 570
  - 534
  - 566
  - 568
  - 538
  - 571
  - 572
  - 574
  - 575
  jupyter_server.services.contents.filemanager.FileContentsManager.delete_file.is_non_empty_dir:
  - 545
  - 546
  - 542
  jupyter_server.services.contents.filemanager.FileContentsManager.dir_exists:
  - 204
  - 203
  - 188
  - 205
  jupyter_server.services.contents.filemanager.FileContentsManager.exists:
  - 208
  - 224
  - 222
  - 223
  jupyter_server.services.contents.filemanager.FileContentsManager.file_exists:
  - 184
  - 169
  - 185
  - 183
  jupyter_server.services.contents.filemanager.FileContentsManager.get:
  - 452
  - 453
  - 454
  - 456
  - 458
  - 461
  - 434
  - 435
  - 438
  - 441
  - 442
  - 411
  - 445
  - 446
  jupyter_server.services.contents.filemanager.FileContentsManager.get_kernel_path:
  - 611
  - 612
  - 614
  jupyter_server.services.contents.filemanager.FileContentsManager.info_string:
  - 608
  - 607
  jupyter_server.services.contents.filemanager.FileContentsManager.is_hidden:
  - 144
  - 129
  - 142
  - 143
  jupyter_server.services.contents.filemanager.FileContentsManager.is_writable:
  - 160
  - 161
  - 163
  - 165
  - 147
  jupyter_server.services.contents.filemanager.FileContentsManager.rename_file:
  - 579
  - 580
  - 581
  - 582
  - 585
  - 586
  - 588
  - 589
  - 594
  - 599
  - 600
  jupyter_server.services.contents.filemanager.FileContentsManager.save:
  - 512
  - 516
  - 517
  - 518
  - 520
  - 521
  - 524
  - 525
  - 477
  - 478
  - 480
  - 482
  - 484
  - 486
  - 488
  - 491
  - 495
  - 496
  - 497
  - 498
  - 500
  - 501
  - 502
  - 504
  - 505
  - 506
  jupyter_server.services.contents.handlers:
  - 1
  jupyter_server.services.contents.handlers.CheckpointsHandler:
  - 340
  jupyter_server.services.contents.handlers.CheckpointsHandler.get:
  - 345
  - 347
  - 348
  - 349
  jupyter_server.services.contents.handlers.CheckpointsHandler.post:
  - 354
  - 356
  - 357
  - 358
  - 361
  - 363
  - 365
  - 366
  - 367
  jupyter_server.services.contents.handlers.ContentsAPIHandler:
  - 83
  jupyter_server.services.contents.handlers.ContentsHandler:
  - 89
  jupyter_server.services.contents.handlers.ContentsHandler._copy:
  - 208
  - 209
  - 210
  - 215
  - 216
  - 217
  - 218
  jupyter_server.services.contents.handlers.ContentsHandler._finish_error:
  - 112
  - 113
  - 114
  - 111
  jupyter_server.services.contents.handlers.ContentsHandler._finish_model:
  - 102
  - 103
  - 104
  - 105
  - 106
  - 107
  - 108
  jupyter_server.services.contents.handlers.ContentsHandler._new_untitled:
  - 229
  - 230
  - 231
  - 232
  - 234
  - 235
  - 236
  jupyter_server.services.contents.handlers.ContentsHandler._save:
  - 239
  - 240
  - 241
  - 242
  - 243
  - 244
  - 245
  jupyter_server.services.contents.handlers.ContentsHandler._upload:
  - 224
  - 225
  - 226
  - 221
  - 222
  - 223
  jupyter_server.services.contents.handlers.ContentsHandler.delete:
  - 327
  - 330
  - 333
  - 334
  - 335
  - 336
  jupyter_server.services.contents.handlers.ContentsHandler.get:
  - 128
  - 132
  - 133
  - 135
  - 136
  - 138
  - 140
  - 141
  - 143
  - 145
  - 146
  - 153
  - 154
  - 166
  - 167
  - 174
  - 175
  - 178
  - 179
  - 119
  - 127
  jupyter_server.services.contents.handlers.ContentsHandler.location_url:
  - 99
  - 92
  jupyter_server.services.contents.handlers.ContentsHandler.patch:
  - 193
  - 194
  - 198
  - 203
  - 204
  - 205
  - 187
  - 189
  - 190
  jupyter_server.services.contents.handlers.ContentsHandler.post:
  - 263
  - 264
  - 267
  - 268
  - 269
  - 270
  - 271
  - 272
  - 273
  - 277
  - 279
  - 280
  - 281
  - 250
  - 284
  - 286
  jupyter_server.services.contents.handlers.ContentsHandler.put:
  - 320
  - 322
  - 291
  - 301
  - 304
  - 305
  - 307
  - 308
  - 309
  - 313
  - 314
  - 317
  - 318
  jupyter_server.services.contents.handlers.ModifyCheckpointsHandler:
  - 371
  jupyter_server.services.contents.handlers.ModifyCheckpointsHandler.delete:
  - 385
  - 387
  - 388
  - 389
  jupyter_server.services.contents.handlers.ModifyCheckpointsHandler.post:
  - 376
  - 378
  - 379
  - 380
  jupyter_server.services.contents.handlers.NotebooksRedirectHandler:
  - 393
  jupyter_server.services.contents.handlers.NotebooksRedirectHandler.get:
  - 404
  - 405
  - 406
  jupyter_server.services.contents.handlers.TrustNotebooksHandler:
  - 412
  - 415
  jupyter_server.services.contents.handlers.TrustNotebooksHandler.post:
  - 417
  - 419
  - 420
  - 421
  jupyter_server.services.contents.handlers._validate_keys:
  - 40
  - 33
  - 27
  - 31
  jupyter_server.services.contents.handlers.validate_model:
  - 67
  - 68
  - 69
  - 70
  - 77
  - 78
  - 79
  - 48
  jupyter_server.services.contents.largefilemanager.AsyncLargeFileManager:
  - 86
  jupyter_server.services.contents.largefilemanager.AsyncLargeFileManager._save_large_file:
  - 136
  - 137
  - 143
  - 144
  - 146
  - 147
  - 151
  - 152
  - 153
  - 154
  - 155
  jupyter_server.services.contents.largefilemanager.AsyncLargeFileManager.save:
  - 128
  - 130
  - 133
  - 89
  - 90
  - 91
  - 92
  - 94
  - 95
  - 97
  - 99
  - 104
  - 107
  - 108
  - 109
  - 111
  - 114
  - 115
  - 117
  - 121
  - 124
  - 127
  jupyter_server.services.contents.largefilemanager.LargeFileManager:
  - 14
  jupyter_server.services.contents.largefilemanager.LargeFileManager._save_large_file:
  - 64
  - 70
  - 71
  - 73
  - 74
  - 78
  - 79
  - 80
  - 81
  - 82
  - 63
  jupyter_server.services.contents.largefilemanager.LargeFileManager.save:
  - 17
  - 18
  - 19
  - 20
  - 22
  - 23
  - 25
  - 27
  - 32
  - 35
  - 36
  - 37
  - 39
  - 42
  - 43
  - 45
  - 49
  - 52
  - 55
  - 56
  - 57
  - 60
  jupyter_server.services.contents.manager:
  - 1
  - 41
  jupyter_server.services.contents.manager.AsyncContentsManager:
  - 768
  - 769
  - 770
  - 772
  - 776
  - 766
  jupyter_server.services.contents.manager.AsyncContentsManager._default_checkpoints:
  - 774
  jupyter_server.services.contents.manager.AsyncContentsManager.copy:
  - 1031
  - 1033
  - 1034
  - 1036
  - 1037
  - 1042
  - 1043
  - 1044
  - 1045
  - 1049
  - 1051
  - 1052
  - 1053
  - 1055
  - 1056
  - 1057
  - 1058
  - 1063
  - 1064
  - 1022
  jupyter_server.services.contents.manager.AsyncContentsManager.create_checkpoint:
  - 1083
  - 1084
  jupyter_server.services.contents.manager.AsyncContentsManager.delete:
  - 896
  - 899
  - 900
  - 901
  - 894
  - 895
  jupyter_server.services.contents.manager.AsyncContentsManager.delete_checkpoint:
  - 1097
  - 1098
  jupyter_server.services.contents.manager.AsyncContentsManager.delete_file:
  - 883
  jupyter_server.services.contents.manager.AsyncContentsManager.dir_exists:
  - 787
  jupyter_server.services.contents.manager.AsyncContentsManager.exists:
  - 856
  - 857
  - 842
  jupyter_server.services.contents.manager.AsyncContentsManager.file_exists:
  - 823
  jupyter_server.services.contents.manager.AsyncContentsManager.get:
  - 861
  jupyter_server.services.contents.manager.AsyncContentsManager.increment_filename:
  - 940
  - 941
  - 942
  - 943
  - 947
  - 950
  - 951
  - 923
  jupyter_server.services.contents.manager.AsyncContentsManager.is_hidden:
  - 806
  jupyter_server.services.contents.manager.AsyncContentsManager.list_checkpoints:
  - 1093
  - 1094
  jupyter_server.services.contents.manager.AsyncContentsManager.new:
  - 995
  - 999
  - 1000
  - 1003
  - 1004
  - 1006
  - 1009
  - 1010
  - 1011
  - 1018
  jupyter_server.services.contents.manager.AsyncContentsManager.new_untitled:
  - 992
  - 964
  - 965
  - 966
  - 970
  - 973
  - 974
  - 976
  - 979
  - 982
  - 985
  - 956
  - 990
  jupyter_server.services.contents.manager.AsyncContentsManager.rename:
  - 904
  - 905
  - 906
  - 907
  jupyter_server.services.contents.manager.AsyncContentsManager.rename_file:
  - 887
  jupyter_server.services.contents.manager.AsyncContentsManager.restore_checkpoint:
  - 1090
  - 1087
  jupyter_server.services.contents.manager.AsyncContentsManager.save:
  - 873
  jupyter_server.services.contents.manager.AsyncContentsManager.trust_notebook:
  - 1068
  - 1075
  - 1077
  - 1078
  - 1079
  jupyter_server.services.contents.manager.AsyncContentsManager.update:
  - 910
  - 915
  - 916
  - 917
  - 918
  - 919
  jupyter_server.services.contents.manager.ContentsManager:
  - 264
  - 265
  - 138
  - 139
  - 144
  - 148
  - 154
  - 45
  - 177
  - 64
  - 192
  - 66
  - 324
  - 325
  - 326
  - 328
  - 332
  - 81
  - 83
  - 339
  - 213
  - 86
  - 91
  - 356
  - 113
  - 115
  - 117
  - 121
  - 122
  jupyter_server.services.contents.manager.ContentsManager._default_checkpoints:
  - 330
  jupyter_server.services.contents.manager.ContentsManager._default_event_logger:
  - 72
  - 74
  - 68
  jupyter_server.services.contents.manager.ContentsManager._notary_default:
  - 119
  jupyter_server.services.contents.manager.ContentsManager._validate_post_save_hook:
  - 216
  - 217
  - 218
  - 221
  - 222
  jupyter_server.services.contents.manager.ContentsManager._validate_pre_save_hook:
  - 180
  - 181
  - 182
  - 185
  - 186
  jupyter_server.services.contents.manager.ContentsManager._validate_preferred_dir:
  - 97
  - 98
  - 100
  - 103
  - 105
  - 107
  - 108
  - 93
  jupyter_server.services.contents.manager.ContentsManager.check_and_sign:
  - 721
  - 722
  - 724
  - 710
  jupyter_server.services.contents.manager.ContentsManager.copy:
  - 646
  - 655
  - 657
  - 658
  - 660
  - 661
  - 666
  - 667
  - 668
  - 669
  - 673
  - 675
  - 676
  - 677
  - 679
  - 680
  - 681
  - 682
  - 687
  - 688
  jupyter_server.services.contents.manager.ContentsManager.create_checkpoint:
  - 749
  - 750
  jupyter_server.services.contents.manager.ContentsManager.delete:
  - 484
  - 485
  - 486
  - 488
  - 489
  - 490
  jupyter_server.services.contents.manager.ContentsManager.delete_checkpoint:
  - 762
  jupyter_server.services.contents.manager.ContentsManager.delete_file:
  - 473
  jupyter_server.services.contents.manager.ContentsManager.dir_exists:
  - 379
  jupyter_server.services.contents.manager.ContentsManager.emit:
  - 78
  - 79
  jupyter_server.services.contents.manager.ContentsManager.exists:
  - 448
  - 434
  jupyter_server.services.contents.manager.ContentsManager.file_exists:
  - 415
  jupyter_server.services.contents.manager.ContentsManager.get:
  - 451
  jupyter_server.services.contents.manager.ContentsManager.get_extra_handlers:
  - 371
  - 372
  - 366
  jupyter_server.services.contents.manager.ContentsManager.get_kernel_path:
  - 516
  jupyter_server.services.contents.manager.ContentsManager.increment_filename:
  - 545
  - 546
  - 547
  - 548
  - 552
  - 555
  - 528
  jupyter_server.services.contents.manager.ContentsManager.info_string:
  - 512
  jupyter_server.services.contents.manager.ContentsManager.is_hidden:
  - 398
  jupyter_server.services.contents.manager.ContentsManager.list_checkpoints:
  - 759
  jupyter_server.services.contents.manager.ContentsManager.log_info:
  - 692
  - 693
  jupyter_server.services.contents.manager.ContentsManager.mark_trusted_cells:
  - 738
  - 739
  - 740
  - 741
  - 727
  jupyter_server.services.contents.manager.ContentsManager.new:
  - 642
  - 619
  - 623
  - 624
  - 627
  - 628
  - 630
  - 633
  - 634
  - 635
  jupyter_server.services.contents.manager.ContentsManager.new_untitled:
  - 609
  - 581
  - 614
  - 616
  - 589
  - 590
  - 594
  - 597
  - 598
  - 600
  - 603
  - 606
  jupyter_server.services.contents.manager.ContentsManager.register_post_save_hook:
  - 277
  - 278
  - 279
  - 280
  - 283
  jupyter_server.services.contents.manager.ContentsManager.register_pre_save_hook:
  - 268
  - 269
  - 270
  - 271
  - 274
  jupyter_server.services.contents.manager.ContentsManager.rename:
  - 496
  - 493
  - 494
  - 495
  jupyter_server.services.contents.manager.ContentsManager.rename_file:
  - 477
  jupyter_server.services.contents.manager.ContentsManager.restore_checkpoint:
  - 753
  - 756
  jupyter_server.services.contents.manager.ContentsManager.run_post_save_hook:
  - 257
  - 258
  - 260
  - 249
  - 250
  - 255
  jupyter_server.services.contents.manager.ContentsManager.run_post_save_hooks:
  - 308
  - 311
  - 313
  - 314
  - 316
  jupyter_server.services.contents.manager.ContentsManager.run_pre_save_hook:
  - 229
  - 230
  - 235
  - 237
  - 238
  - 246
  jupyter_server.services.contents.manager.ContentsManager.run_pre_save_hooks:
  - 289
  - 291
  - 292
  - 300
  - 286
  jupyter_server.services.contents.manager.ContentsManager.save:
  - 463
  jupyter_server.services.contents.manager.ContentsManager.should_list:
  - 744
  - 745
  jupyter_server.services.contents.manager.ContentsManager.trust_notebook:
  - 705
  - 706
  - 707
  - 696
  - 703
  jupyter_server.services.contents.manager.ContentsManager.update:
  - 499
  - 504
  - 505
  - 506
  - 507
  - 508
  jupyter_server.services.contents.manager.ContentsManager.validate_notebook_model:
  - 576
  - 560
  - 567
  - 568
  - 569
  - 572
  - 574
  - 575
  jupyter_server.services.events.handlers:
  - 1
  jupyter_server.services.events.handlers.EventHandler:
  - 101
  jupyter_server.services.events.handlers.EventHandler.post:
  - 108
  - 109
  - 110
  - 114
  - 115
  - 116
  - 117
  - 118
  - 120
  - 121
  jupyter_server.services.events.handlers.SubscribeWebsocket:
  - 27
  jupyter_server.services.events.handlers.SubscribeWebsocket.event_listener:
  - 59
  - 60
  - 61
  jupyter_server.services.events.handlers.SubscribeWebsocket.get:
  - 50
  - 51
  - 52
  - 53
  - 54
  jupyter_server.services.events.handlers.SubscribeWebsocket.on_close:
  - 70
  - 71
  jupyter_server.services.events.handlers.SubscribeWebsocket.open:
  - 64
  - 67
  jupyter_server.services.events.handlers.SubscribeWebsocket.pre_get:
  - 32
  - 38
  - 39
  - 43
  - 44
  - 46
  jupyter_server.services.events.handlers.get_timestamp:
  - 83
  - 85
  - 86
  jupyter_server.services.events.handlers.validate_model:
  - 75
  - 77
  - 78
  jupyter_server.services.kernels.connection.abc.KernelWebsocketConnectionABC:
  - 6
  jupyter_server.services.kernels.connection.abc.KernelWebsocketConnectionABC.connect:
  - 17
  jupyter_server.services.kernels.connection.abc.KernelWebsocketConnectionABC.disconnect:
  - 21
  jupyter_server.services.kernels.connection.abc.KernelWebsocketConnectionABC.handle_incoming_message:
  - 25
  jupyter_server.services.kernels.connection.abc.KernelWebsocketConnectionABC.handle_outgoing_message:
  - 29
  jupyter_server.services.kernels.connection.base:
  - 1
  - 180
  jupyter_server.services.kernels.connection.base.BaseKernelWebsocketConnection:
  - 161
  - 114
  - 116
  - 149
  - 151
  - 120
  - 155
  - 157
  jupyter_server.services.kernels.connection.base.BaseKernelWebsocketConnection._default_session:
  - 159
  jupyter_server.services.kernels.connection.base.BaseKernelWebsocketConnection.connect:
  - 164
  jupyter_server.services.kernels.connection.base.BaseKernelWebsocketConnection.disconnect:
  - 168
  jupyter_server.services.kernels.connection.base.BaseKernelWebsocketConnection.handle_incoming_message:
  - 172
  jupyter_server.services.kernels.connection.base.BaseKernelWebsocketConnection.handle_outgoing_message:
  - 176
  jupyter_server.services.kernels.connection.base.BaseKernelWebsocketConnection.kernel_id:
  - 141
  jupyter_server.services.kernels.connection.base.BaseKernelWebsocketConnection.kernel_manager:
  - 131
  jupyter_server.services.kernels.connection.base.BaseKernelWebsocketConnection.multi_kernel_manager:
  - 136
  jupyter_server.services.kernels.connection.base.BaseKernelWebsocketConnection.session_id:
  - 146
  jupyter_server.services.kernels.connection.base.deserialize_binary_message:
  - 66
  - 67
  - 68
  - 70
  - 71
  - 72
  - 73
  - 74
  - 53
  jupyter_server.services.kernels.connection.base.deserialize_msg_from_ws_v1:
  - 103
  - 104
  - 106
  - 108
  - 109
  jupyter_server.services.kernels.connection.base.serialize_binary_message:
  - 39
  - 40
  - 41
  - 42
  - 43
  - 45
  - 46
  - 47
  - 48
  - 49
  - 24
  jupyter_server.services.kernels.connection.base.serialize_msg_to_ws_v1:
  - 96
  - 97
  - 98
  - 80
  - 81
  - 83
  - 84
  - 85
  - 86
  - 90
  - 92
  - 93
  - 94
  - 95
  jupyter_server.services.kernels.connection.channels:
  - 808
  - 1
  jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection:
  - 131
  - 48
  - 50
  - 53
  - 60
  - 63
  - 70
  - 73
  - 80
  - 83
  - 89
  - 100
  - 105
  - 106
  - 108
  - 110
  - 115
  - 117
  - 122
  - 124
  - 125
  - 126
  - 127
  jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection._default_close_future:
  - 120
  - 119
  jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection._default_kernel_info_future:
  - 112
  - 113
  jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection._finish_kernel_info:
  - 622
  - 627
  - 628
  - 629
  - 630
  - 633
  - 634
  jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection._handle_kernel_info_reply:
  - 610
  - 611
  - 612
  - 614
  - 617
  - 618
  - 597
  - 601
  - 603
  - 605
  - 606
  jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection._limit_rate:
  - 652
  - 653
  - 656
  - 659
  - 660
  - 661
  - 670
  - 672
  - 673
  - 675
  - 686
  - 691
  - 695
  - 696
  - 699
  - 700
  - 702
  - 705
  - 706
  - 722
  - 724
  - 725
  - 728
  - 729
  - 731
  - 734
  - 735
  - 751
  - 753
  - 754
  - 757
  - 761
  jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection._on_error:
  - 800
  - 804
  - 805
  - 793
  - 794
  - 797
  - 798
  - 799
  jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection._on_zmq_reply:
  - 552
  - 555
  - 556
  - 557
  - 559
  - 560
  - 561
  - 562
  - 565
  - 567
  - 570
  - 572
  jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection._register_session:
  - 289
  - 275
  - 282
  - 283
  - 284
  - 285
  - 286
  jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection._reserialize_reply:
  - 545
  - 546
  - 549
  - 527
  - 537
  - 541
  - 542
  - 543
  jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection._send_status_message:
  - 768
  - 769
  - 773
  - 774
  - 775
  - 776
  - 777
  - 780
  - 767
  jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.close:
  - 395
  - 396
  jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.close_all:
  - 136
  - 137
  - 138
  - 135
  jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.connect:
  - 390
  - 391
  - 335
  - 336
  - 339
  - 340
  - 341
  - 342
  - 345
  - 350
  - 360
  - 363
  - 364
  - 369
  - 370
  - 375
  - 376
  - 377
  - 378
  - 381
  - 382
  jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.connect.replay:
  - 354
  - 355
  - 356
  - 358
  jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.connect.subscribe:
  - 387
  - 388
  jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.create_stream:
  - 152
  - 153
  - 154
  - 150
  jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.disconnect:
  - 439
  - 418
  - 422
  - 440
  - 425
  - 426
  - 399
  - 400
  - 432
  - 402
  - 403
  - 433
  - 405
  - 406
  - 407
  - 434
  - 435
  - 411
  jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.get_part:
  - 523
  - 516
  - 517
  jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.handle_incoming_message:
  - 445
  - 447
  - 449
  - 452
  - 453
  - 458
  - 459
  - 461
  - 463
  - 465
  - 466
  - 468
  - 469
  - 473
  - 474
  - 476
  - 477
  - 482
  - 484
  - 485
  - 487
  jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.handle_outgoing_message:
  - 513
  - 490
  - 492
  - 494
  - 497
  - 499
  - 502
  - 505
  - 507
  - 510
  - 511
  jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.nudge:
  - 266
  - 269
  - 271
  - 272
  - 158
  - 171
  - 172
  - 173
  - 174
  - 175
  - 178
  - 181
  - 185
  - 186
  - 187
  - 207
  - 231
  - 232
  - 233
  - 234
  jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.nudge.cleanup:
  - 198
  - 199
  - 200
  - 201
  - 202
  - 203
  - 204
  jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.nudge.finish:
  - 193
  - 194
  - 195
  - 190
  jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.nudge.nudge:
  - 258
  - 260
  - 261
  - 262
  - 264
  - 238
  - 241
  - 242
  - 243
  - 247
  - 248
  - 249
  - 253
  - 254
  - 255
  jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.nudge.on_control_reply:
  - 217
  - 218
  - 219
  - 220
  - 221
  jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.nudge.on_iopub:
  - 224
  - 225
  - 226
  - 227
  - 228
  - 229
  jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.nudge.on_shell_reply:
  - 210
  - 211
  - 212
  - 213
  - 214
  jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.on_kernel_restarted:
  - 784
  - 785
  - 783
  jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.on_restart_failed:
  - 788
  - 789
  - 790
  jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.prepare:
  - 320
  - 294
  - 296
  - 329
  - 330
  - 332
  - 301
  - 303
  - 304
  - 306
  - 309
  - 312
  - 313
  - 314
  - 315
  jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.prepare.give_up:
  - 323
  - 324
  - 326
  - 327
  jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.request_kernel_info:
  - 580
  - 583
  - 584
  - 586
  - 587
  - 591
  - 592
  - 593
  - 594
  - 575
  jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.request_kernel_info.<lambda1>:
  - 593
  jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.subprotocol:
  - 142
  jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.write_message:
  - 93
  jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.write_stderr:
  - 644
  - 645
  - 646
  - 649
  - 637
  - 638
  - 639
  jupyter_server.services.kernels.connection.channels._ensure_future:
  - 41
  - 42
  - 39
  jupyter_server.services.kernels.handlers:
  - 1
  jupyter_server.services.kernels.handlers.KernelActionHandler:
  - 88
  jupyter_server.services.kernels.handlers.KernelActionHandler.post:
  - 96
  - 97
  - 98
  - 100
  - 103
  - 104
  - 105
  - 107
  - 108
  - 109
  - 93
  - 95
  jupyter_server.services.kernels.handlers.KernelHandler:
  - 67
  jupyter_server.services.kernels.handlers.KernelHandler.delete:
  - 80
  - 82
  - 83
  - 84
  jupyter_server.services.kernels.handlers.KernelHandler.get:
  - 72
  - 74
  - 75
  jupyter_server.services.kernels.handlers.KernelsAPIHandler:
  - 27
  jupyter_server.services.kernels.handlers.MainKernelHandler:
  - 33
  jupyter_server.services.kernels.handlers.MainKernelHandler.get:
  - 40
  - 41
  - 38
  jupyter_server.services.kernels.handlers.MainKernelHandler.post:
  - 46
  - 48
  - 49
  - 52
  - 54
  - 55
  - 56
  - 59
  - 60
  - 61
  - 62
  - 63
  jupyter_server.services.kernels.kernelmanager:
  - 1
  jupyter_server.services.kernels.kernelmanager.AsyncMappingKernelManager:
  - 690
  - 684
  - 686
  jupyter_server.services.kernels.kernelmanager.AsyncMappingKernelManager.__init__:
  - 706
  - 709
  - 710
  jupyter_server.services.kernels.kernelmanager.AsyncMappingKernelManager._validate_kernel_manager_class:
  - 696
  - 692
  - 694
  - 695
  jupyter_server.services.kernels.kernelmanager.MappingKernelManager:
  - 132
  - 146
  - 148
  - 152
  - 164
  - 165
  - 172
  - 176
  - 51
  - 57
  - 61
  - 63
  - 65
  - 67
  - 73
  - 79
  - 90
  - 99
  - 105
  - 112
  - 119
  jupyter_server.services.kernels.kernelmanager.MappingKernelManager.__init__:
  - 161
  - 162
  - 158
  jupyter_server.services.kernels.kernelmanager.MappingKernelManager._async_restart_kernel:
  - 480
  - 471
  - 476
  - 474
  - 437
  - 438
  - 439
  - 440
  - 473
  - 442
  - 443
  - 475
  - 478
  - 479
  jupyter_server.services.kernels.kernelmanager.MappingKernelManager._async_restart_kernel.finish:
  - 448
  - 449
  - 450
  - 446
  - 447
  jupyter_server.services.kernels.kernelmanager.MappingKernelManager._async_restart_kernel.on_reply:
  - 456
  - 457
  - 454
  - 455
  jupyter_server.services.kernels.kernelmanager.MappingKernelManager._async_restart_kernel.on_restart_failed:
  - 466
  - 467
  - 468
  - 469
  jupyter_server.services.kernels.kernelmanager.MappingKernelManager._async_restart_kernel.on_timeout:
  - 460
  - 461
  - 462
  - 463
  jupyter_server.services.kernels.kernelmanager.MappingKernelManager._async_shutdown_kernel:
  - 416
  - 417
  - 421
  - 423
  - 424
  - 425
  - 427
  - 428
  - 430
  jupyter_server.services.kernels.kernelmanager.MappingKernelManager._async_start_kernel:
  - 256
  - 226
  - 227
  - 228
  - 229
  - 232
  - 234
  - 235
  - 236
  - 240
  - 211
  - 243
  - 244
  - 245
  - 249
  - 252
  - 255
  jupyter_server.services.kernels.kernelmanager.MappingKernelManager._check_kernel_id:
  - 529
  - 530
  jupyter_server.services.kernels.kernelmanager.MappingKernelManager._default_kernel_buffers:
  - 150
  jupyter_server.services.kernels.kernelmanager.MappingKernelManager._default_root_dir:
  - 75
  - 76
  jupyter_server.services.kernels.kernelmanager.MappingKernelManager._finish_kernel_start:
  - 266
  - 267
  - 268
  - 270
  - 271
  - 273
  - 275
  - 279
  - 281
  - 283
  jupyter_server.services.kernels.kernelmanager.MappingKernelManager._finish_kernel_start.<lambda1>:
  - 283
  jupyter_server.services.kernels.kernelmanager.MappingKernelManager._get_changed_ports:
  - 308
  - 316
  - 317
  - 318
  - 319
  jupyter_server.services.kernels.kernelmanager.MappingKernelManager._handle_kernel_died:
  - 187
  - 188
  - 189
  jupyter_server.services.kernels.kernelmanager.MappingKernelManager._remove_kernel_when_ready:
  - 201
  - 202
  - 203
  - 204
  jupyter_server.services.kernels.kernelmanager.MappingKernelManager._update_root_dir:
  - 81
  - 83
  - 85
  - 86
  jupyter_server.services.kernels.kernelmanager.MappingKernelManager.cull_kernel_if_idle:
  - 645
  - 678
  - 649
  - 651
  - 670
  - 654
  - 660
  - 663
  - 665
  - 635
  - 668
  - 669
  - 638
  - 639
  jupyter_server.services.kernels.kernelmanager.MappingKernelManager.cull_kernels:
  - 617
  - 618
  - 623
  - 624
  - 626
  - 628
  jupyter_server.services.kernels.kernelmanager.MappingKernelManager.cwd_for_path:
  - 192
  - 193
  - 196
  - 197
  jupyter_server.services.kernels.kernelmanager.MappingKernelManager.get_buffer:
  - 385
  - 363
  - 374
  - 375
  - 379
  - 381
  jupyter_server.services.kernels.kernelmanager.MappingKernelManager.initialize_culler:
  - 608
  - 609
  - 610
  - 611
  - 612
  - 585
  - 589
  - 594
  - 595
  - 596
  - 602
  - 603
  jupyter_server.services.kernels.kernelmanager.MappingKernelManager.kernel_model:
  - 496
  - 500
  - 506
  - 508
  - 510
  jupyter_server.services.kernels.kernelmanager.MappingKernelManager.list_kernels:
  - 515
  - 517
  - 518
  - 520
  - 521
  jupyter_server.services.kernels.kernelmanager.MappingKernelManager.notify_connect:
  - 486
  - 487
  jupyter_server.services.kernels.kernelmanager.MappingKernelManager.notify_disconnect:
  - 491
  - 492
  jupyter_server.services.kernels.kernelmanager.MappingKernelManager.ports_changed:
  - 288
  - 299
  - 300
  - 302
  jupyter_server.services.kernels.kernelmanager.MappingKernelManager.start_buffering:
  - 324
  - 359
  - 360
  - 338
  - 339
  - 340
  - 343
  - 344
  - 346
  jupyter_server.services.kernels.kernelmanager.MappingKernelManager.start_buffering.buffer_msg:
  - 356
  - 357
  jupyter_server.services.kernels.kernelmanager.MappingKernelManager.start_watching_activity:
  - 545
  - 546
  - 547
  - 536
  - 572
  jupyter_server.services.kernels.kernelmanager.MappingKernelManager.start_watching_activity.record_activity:
  - 553
  - 554
  - 556
  - 557
  - 560
  - 561
  - 563
  - 570
  jupyter_server.services.kernels.kernelmanager.MappingKernelManager.stop_buffering:
  - 388
  - 395
  - 396
  - 398
  - 400
  - 402
  - 403
  - 404
  - 405
  - 408
  - 409
  - 411
  jupyter_server.services.kernels.kernelmanager.MappingKernelManager.stop_watching_activity:
  - 577
  - 578
  - 579
  - 581
  - 582
  - 575
  jupyter_server.services.kernels.kernelmanager.ServerKernelManager:
  - 864
  - 805
  - 843
  - 813
  - 815
  - 786
  - 850
  - 789
  - 792
  - 857
  - 794
  jupyter_server.services.kernels.kernelmanager.ServerKernelManager._default_event_logger:
  - 832
  - 817
  - 818
  - 821
  - 826
  - 829
  jupyter_server.services.kernels.kernelmanager.ServerKernelManager.emit:
  - 840
  - 839
  jupyter_server.services.kernels.kernelmanager.ServerKernelManager.interrupt_kernel:
  - 868
  jupyter_server.services.kernels.kernelmanager.ServerKernelManager.restart_kernel:
  - 861
  jupyter_server.services.kernels.kernelmanager.ServerKernelManager.shutdown_kernel:
  - 854
  jupyter_server.services.kernels.kernelmanager.ServerKernelManager.start_kernel:
  - 847
  jupyter_server.services.kernels.kernelmanager.emit_kernel_action_event:
  - 714
  jupyter_server.services.kernels.kernelmanager.emit_kernel_action_event.wrap_method:
  - 735
  jupyter_server.services.kernels.kernelmanager.emit_kernel_action_event.wrap_method.wrapped_method:
  - 737
  - 770
  - 739
  - 742
  - 774
  - 747
  - 751
  - 753
  - 764
  - 766
  jupyter_server.services.kernels.websocket:
  - 1
  jupyter_server.services.kernels.websocket.KernelWebsocketHandler:
  - 16
  jupyter_server.services.kernels.websocket.KernelWebsocketHandler.get:
  - 65
  - 67
  - 68
  jupyter_server.services.kernels.websocket.KernelWebsocketHandler.get_compression_options:
  - 32
  - 33
  jupyter_server.services.kernels.websocket.KernelWebsocketHandler.kernel_websocket_connection_class:
  - 22
  - 23
  jupyter_server.services.kernels.websocket.KernelWebsocketHandler.on_close:
  - 84
  - 85
  jupyter_server.services.kernels.websocket.KernelWebsocketHandler.on_message:
  - 80
  - 81
  jupyter_server.services.kernels.websocket.KernelWebsocketHandler.open:
  - 74
  - 76
  - 77
  - 71
  jupyter_server.services.kernels.websocket.KernelWebsocketHandler.pre_get:
  - 36
  - 39
  - 40
  - 44
  - 45
  - 47
  - 50
  - 51
  - 55
  - 56
  - 58
  - 61
  - 62
  jupyter_server.services.kernels.websocket.KernelWebsocketHandler.select_subprotocol:
  - 89
  - 91
  - 93
  jupyter_server.services.kernels.websocket.KernelWebsocketHandler.set_default_headers:
  - 26
  jupyter_server.services.kernelspecs.handlers:
  - 1
  jupyter_server.services.kernelspecs.handlers.KernelSpecHandler:
  - 93
  jupyter_server.services.kernelspecs.handlers.KernelSpecHandler.get:
  - 98
  - 100
  - 102
  - 105
  - 108
  - 109
  - 110
  jupyter_server.services.kernelspecs.handlers.KernelSpecsAPIHandler:
  - 55
  jupyter_server.services.kernelspecs.handlers.MainKernelSpecHandler:
  - 61
  jupyter_server.services.kernelspecs.handlers.MainKernelSpecHandler.get:
  - 66
  - 72
  - 73
  - 75
  - 78
  - 85
  - 88
  - 89
  jupyter_server.services.kernelspecs.handlers.is_kernelspec_model:
  - 45
  - 47
  jupyter_server.services.kernelspecs.handlers.kernelspec_model:
  - 32
  - 33
  - 34
  - 37
  - 38
  - 39
  - 40
  - 28
  jupyter_server.services.nbconvert.handlers:
  - 1
  jupyter_server.services.nbconvert.handlers.NbconvertRootHandler:
  - 16
  jupyter_server.services.nbconvert.handlers.NbconvertRootHandler.get:
  - 32
  - 40
  - 42
  - 44
  - 58
  jupyter_server.services.nbconvert.handlers.NbconvertRootHandler.initialize:
  - 25
  - 26
  - 22
  - 23
  jupyter_server.services.security.handlers:
  - 1
  jupyter_server.services.security.handlers.CSPReportHandler:
  - 15
  jupyter_server.services.security.handlers.CSPReportHandler.check_xsrf_cookie:
  - 25
  jupyter_server.services.security.handlers.CSPReportHandler.post:
  - 32
  - 34
  - 31
  jupyter_server.services.security.handlers.CSPReportHandler.skip_check_origin:
  - 21
  jupyter_server.services.sessions.handlers:
  - 1
  jupyter_server.services.sessions.handlers.SessionHandler:
  - 116
  jupyter_server.services.sessions.handlers.SessionHandler.delete:
  - 194
  - 187
  - 190
  - 195
  jupyter_server.services.sessions.handlers.SessionHandler.get:
  - 121
  - 123
  - 124
  jupyter_server.services.sessions.handlers.SessionHandler.patch:
  - 129
  - 136
  - 137
  - 141
  - 144
  - 145
  - 148
  - 150
  - 152
  - 154
  - 156
  - 158
  - 161
  - 163
  - 172
  - 173
  - 175
  - 178
  - 180
  - 181
  - 182
  jupyter_server.services.sessions.handlers.SessionRootHandler:
  - 34
  jupyter_server.services.sessions.handlers.SessionRootHandler.get:
  - 41
  - 42
  - 39
  jupyter_server.services.sessions.handlers.SessionRootHandler.post:
  - 47
  - 51
  - 52
  - 55
  - 56
  - 58
  - 60
  - 75
  - 76
  - 77
  - 78
  - 80
  - 81
  - 84
  - 85
  - 86
  - 89
  - 102
  - 103
  - 104
  - 109
  - 110
  - 111
  - 112
  jupyter_server.services.sessions.handlers.SessionsAPIHandler:
  - 28
  jupyter_server.services.sessions.sessionmanager:
  - 1
  - 10
  - 11
  jupyter_server.services.sessions.sessionmanager.KernelSessionRecord:
  - 37
  jupyter_server.services.sessions.sessionmanager.KernelSessionRecord.__eq__:
  - 48
  - 49
  - 51
  - 57
  - 62
  jupyter_server.services.sessions.sessionmanager.KernelSessionRecord.update:
  - 80
  - 81
  - 85
  - 89
  - 90
  - 91
  jupyter_server.services.sessions.sessionmanager.KernelSessionRecordConflict:
  - 30
  jupyter_server.services.sessions.sessionmanager.KernelSessionRecordList:
  - 95
  jupyter_server.services.sessions.sessionmanager.KernelSessionRecordList.__contains__:
  - 116
  - 117
  - 120
  - 121
  - 122
  jupyter_server.services.sessions.sessionmanager.KernelSessionRecordList.__init__:
  - 106
  - 108
  - 109
  jupyter_server.services.sessions.sessionmanager.KernelSessionRecordList.__len__:
  - 128
  - 127
  jupyter_server.services.sessions.sessionmanager.KernelSessionRecordList.__str__:
  - 112
  - 113
  jupyter_server.services.sessions.sessionmanager.KernelSessionRecordList.get:
  - 131
  - 134
  - 135
  - 136
  - 138
  - 139
  - 140
  jupyter_server.services.sessions.sessionmanager.KernelSessionRecordList.remove:
  - 154
  - 157
  - 158
  jupyter_server.services.sessions.sessionmanager.KernelSessionRecordList.update:
  - 146
  - 148
  - 149
  - 151
  jupyter_server.services.sessions.sessionmanager.SessionManager:
  - 162
  - 195
  - 196
  - 164
  - 174
  jupyter_server.services.sessions.sessionmanager.SessionManager.__del__:
  - 240
  - 241
  jupyter_server.services.sessions.sessionmanager.SessionManager.__init__:
  - 204
  - 205
  - 206
  jupyter_server.services.sessions.sessionmanager.SessionManager._validate_database_filepath:
  - 176
  - 178
  - 180
  - 181
  - 183
  - 187
  - 188
  - 190
  jupyter_server.services.sessions.sessionmanager.SessionManager.close:
  - 234
  - 235
  - 236
  jupyter_server.services.sessions.sessionmanager.SessionManager.connection:
  - 226
  - 227
  - 229
  jupyter_server.services.sessions.sessionmanager.SessionManager.create_session:
  - 289
  - 290
  - 293
  - 294
  - 271
  - 279
  - 280
  - 281
  - 282
  - 285
  jupyter_server.services.sessions.sessionmanager.SessionManager.cursor:
  - 216
  - 217
  - 218
  - 215
  jupyter_server.services.sessions.sessionmanager.SessionManager.delete_session:
  - 525
  - 526
  - 527
  - 528
  - 529
  - 530
  - 531
  jupyter_server.services.sessions.sessionmanager.SessionManager.get_kernel_env:
  - 299
  - 309
  - 310
  - 311
  - 312
  jupyter_server.services.sessions.sessionmanager.SessionManager.get_session:
  - 420
  - 422
  - 423
  - 415
  - 428
  - 400
  - 405
  - 406
  - 409
  - 411
  - 413
  - 383
  jupyter_server.services.sessions.sessionmanager.SessionManager.kernel_culled:
  - 470
  jupyter_server.services.sessions.sessionmanager.SessionManager.list_sessions:
  - 512
  - 516
  - 518
  - 519
  - 510
  jupyter_server.services.sessions.sessionmanager.SessionManager.new_session_id:
  - 260
  - 261
  jupyter_server.services.sessions.sessionmanager.SessionManager.row_to_model:
  - 484
  - 486
  - 491
  - 492
  - 496
  - 504
  - 474
  - 475
  - 476
  jupyter_server.services.sessions.sessionmanager.SessionManager.save_session:
  - 379
  - 375
  - 351
  jupyter_server.services.sessions.sessionmanager.SessionManager.session_exists:
  - 244
  - 246
  - 247
  - 248
  - 254
  - 255
  jupyter_server.services.sessions.sessionmanager.SessionManager.start_kernel_for_session:
  - 323
  - 340
  - 342
  - 343
  - 348
  jupyter_server.services.sessions.sessionmanager.SessionManager.update_session:
  - 448
  - 450
  - 455
  - 456
  - 458
  - 459
  - 460
  - 462
  - 463
  - 434
  - 466
  - 467
  jupyter_server.services.shutdown:
  - 1
  jupyter_server.services.shutdown.ShutdownHandler:
  - 12
  jupyter_server.services.shutdown.ShutdownHandler.post:
  - 19
  - 20
  - 22
  - 23
  - 25
  jupyter_server.terminal:
  - 1
  - 9
  jupyter_server.terminal.api_handlers:
  - 1
  jupyter_server.terminal.handlers:
  - 1
  jupyter_server.terminal.initialize:
  - 17
  jupyter_server.terminal.terminalmanager:
  - 1
  jupyter_server.traittypes:
  - 1
  jupyter_server.traittypes.InstanceFromClasses:
  - 129
  jupyter_server.traittypes.InstanceFromClasses.__init__:
  - 162
  - 135
  - 170
  - 173
  - 180
  - 159
  jupyter_server.traittypes.InstanceFromClasses._resolve_classes:
  - 226
  - 214
  - 217
  - 218
  - 221
  - 222
  jupyter_server.traittypes.InstanceFromClasses.default_value_repr:
  - 237
  - 238
  jupyter_server.traittypes.InstanceFromClasses.from_string:
  - 241
  - 242
  jupyter_server.traittypes.InstanceFromClasses.info:
  - 194
  - 197
  - 198
  - 201
  - 203
  - 204
  jupyter_server.traittypes.InstanceFromClasses.instance_from_importable_klasses:
  - 184
  - 183
  jupyter_server.traittypes.InstanceFromClasses.instance_init:
  - 209
  - 210
  - 211
  jupyter_server.traittypes.InstanceFromClasses.make_dynamic_default:
  - 232
  - 229
  - 230
  jupyter_server.traittypes.InstanceFromClasses.validate:
  - 187
  - 188
  - 191
  jupyter_server.traittypes.TypeFromClasses:
  - 10
  jupyter_server.traittypes.TypeFromClasses.__init__:
  - 35
  - 40
  - 41
  - 47
  - 15
  - 51
  - 52
  - 59
  jupyter_server.traittypes.TypeFromClasses._resolve_classes:
  - 103
  - 105
  - 106
  - 109
  - 110
  - 114
  - 116
  - 117
  jupyter_server.traittypes.TypeFromClasses.default_value_repr:
  - 120
  - 122
  - 123
  - 125
  jupyter_server.traittypes.TypeFromClasses.info:
  - 85
  - 87
  - 88
  - 92
  - 93
  jupyter_server.traittypes.TypeFromClasses.instance_init:
  - 98
  - 99
  - 100
  jupyter_server.traittypes.TypeFromClasses.subclass_from_klasses:
  - 62
  - 63
  jupyter_server.traittypes.TypeFromClasses.validate:
  - 66
  - 67
  - 69
  - 77
  - 82
  jupyter_server.transutils:
  - 1
  - 18
  - 19
  - 17
  jupyter_server.transutils._trans_gettext_deprecation_helper:
  - 10
  - 12
  - 13
  jupyter_server.utils:
  - 1
  - 191
  - 33
  jupyter_server.utils._check_pid_posix:
  - 177
  - 179
  - 181
  - 183
  jupyter_server.utils._check_pid_win32:
  - 173
  jupyter_server.utils._request_for_tornado_client:
  - 288
  - 289
  - 287
  - 242
  - 280
  - 281
  - 250
  - 251
  - 253
  - 255
  jupyter_server.utils._request_for_tornado_client.UnixSocketResolver:
  - 264
  jupyter_server.utils._request_for_tornado_client.UnixSocketResolver.close:
  - 275
  jupyter_server.utils._request_for_tornado_client.UnixSocketResolver.resolve:
  - 278
  jupyter_server.utils.async_fetch:
  - 313
  - 316
  - 309
  jupyter_server.utils.check_version:
  - 160
  - 153
  jupyter_server.utils.expand_path:
  - 395
  - 407
  - 408
  - 409
  - 410
  - 411
  jupyter_server.utils.fetch:
  - 299
  - 302
  - 295
  jupyter_server.utils.filefind:
  - 384
  - 385
  - 386
  - 387
  - 388
  - 373
  - 341
  - 375
  - 378
  - 380
  - 383
  jupyter_server.utils.import_item:
  - 416
  - 429
  - 430
  - 433
  - 435
  - 441
  jupyter_server.utils.is_namespace_package:
  - 337
  - 321
  - 330
  - 334
  jupyter_server.utils.path2url:
  - 66
  - 67
  - 69
  - 71
  jupyter_server.utils.run_sync_in_loop:
  - 204
  - 198
  - 199
  jupyter_server.utils.samefile_simple:
  - 121
  - 122
  - 123
  - 100
  jupyter_server.utils.to_api_path:
  - 139
  - 144
  - 145
  - 146
  - 148
  - 149
  jupyter_server.utils.to_os_path:
  - 135
  - 132
  - 134
  - 127
  jupyter_server.utils.unix_socket_in_use:
  - 224
  - 228
  - 229
  - 235
  - 223
  jupyter_server.utils.url2path:
  - 76
  - 77
  - 78
  jupyter_server.utils.url_escape:
  - 88
  - 83
  - 87
  jupyter_server.utils.url_is_absolute:
  - 61
  - 62
  jupyter_server.utils.url_path_join:
  - 42
  - 47
  - 48
  - 49
  - 50
  - 51
  - 53
  - 55
  jupyter_server.utils.url_unescape:
  - 96
  - 92
  jupyter_server.utils.urldecode_unix_socket_path:
  - 213
  - 214
  jupyter_server.utils.urlencode_unix_socket:
  - 218
  - 219
  jupyter_server.utils.urlencode_unix_socket_path:
  - 208
  - 209
  jupyter_server.view:
  - 1
  jupyter_server.view.handlers:
  - 1
  jupyter_server.view.handlers.ViewHandler:
  - 16
  jupyter_server.view.handlers.ViewHandler.get:
  - 23
  - 24
  - 25
  - 28
  - 29
  - 30
Fuzzer filename: /src/fuzz_serialization.py
Inheritance:
  jupyter_client.adapter.Adapter: []
  jupyter_client.adapter.V4toV5:
  - Adapter
  jupyter_client.adapter.V5toV4:
  - Adapter
  jupyter_client.asynchronous.client.AsyncKernelClient:
  - KernelClient
  jupyter_client.blocking.client.BlockingKernelClient:
  - KernelClient
  jupyter_client.channels.AsyncZMQSocketChannel:
  - ZMQSocketChannel
  jupyter_client.channels.HBChannel:
  - Thread
  jupyter_client.channels.InvalidPortNumber:
  - Exception
  jupyter_client.channels.ZMQSocketChannel: []
  jupyter_client.channelsabc.ChannelABC: []
  jupyter_client.channelsabc.HBChannelABC:
  - ChannelABC
  jupyter_client.client.KernelClient:
  - ConnectionFileMixin
  jupyter_client.clientabc.KernelClientABC: []
  jupyter_client.connect.ConnectionFileMixin:
  - LoggingConfigurable
  jupyter_client.connect.LocalPortCache:
  - SingletonConfigurable
  jupyter_client.consoleapp.IPythonConsoleApp:
  - JupyterConsoleApp
  jupyter_client.consoleapp.JupyterConsoleApp:
  - ConnectionFileMixin
  jupyter_client.ioloop.manager.AsyncIOLoopKernelManager:
  - AsyncKernelManager
  jupyter_client.ioloop.manager.IOLoopKernelManager:
  - KernelManager
  jupyter_client.ioloop.restarter.AsyncIOLoopKernelRestarter:
  - IOLoopKernelRestarter
  jupyter_client.ioloop.restarter.IOLoopKernelRestarter:
  - KernelRestarter
  jupyter_client.kernelapp.KernelApp:
  - JupyterApp
  jupyter_client.kernelspec.KernelSpec:
  - HasTraits
  jupyter_client.kernelspec.KernelSpecManager:
  - LoggingConfigurable
  jupyter_client.kernelspec.NoSuchKernel:
  - KeyError
  jupyter_client.kernelspecapp.InstallKernelSpec:
  - JupyterApp
  jupyter_client.kernelspecapp.InstallNativeKernelSpec:
  - JupyterApp
  jupyter_client.kernelspecapp.KernelSpecApp:
  - Application
  jupyter_client.kernelspecapp.ListKernelSpecs:
  - JupyterApp
  jupyter_client.kernelspecapp.ListProvisioners:
  - JupyterApp
  jupyter_client.kernelspecapp.RemoveKernelSpec:
  - JupyterApp
  jupyter_client.localinterfaces.NoIPAddresses:
  - Exception
  jupyter_client.manager.AsyncKernelManager:
  - KernelManager
  jupyter_client.manager.KernelManager:
  - ConnectionFileMixin
  jupyter_client.manager._ShutdownStatus:
  - Enum
  jupyter_client.managerabc.KernelManagerABC: []
  jupyter_client.multikernelmanager.AsyncMultiKernelManager:
  - MultiKernelManager
  jupyter_client.multikernelmanager.DuplicateKernelError:
  - Exception
  jupyter_client.multikernelmanager.MultiKernelManager:
  - LoggingConfigurable
  jupyter_client.provisioning.factory.KernelProvisionerFactory:
  - SingletonConfigurable
  jupyter_client.provisioning.local_provisioner.LocalProvisioner:
  - KernelProvisionerBase
  jupyter_client.provisioning.provisioner_base.KernelProvisionerBase:
  - LoggingConfigurable
  - ABC
  jupyter_client.provisioning.provisioner_base.KernelProvisionerMeta:
  - ABCMeta
  jupyter_client.restarter.KernelRestarter:
  - LoggingConfigurable
  jupyter_client.runapp.RunApp:
  - JupyterConsoleApp
  - JupyterApp
  jupyter_client.session.Message: []
  jupyter_client.session.Session:
  - Configurable
  jupyter_client.session.SessionFactory:
  - LoggingConfigurable
  jupyter_client.ssh.forward.ForwardServer: []
  jupyter_client.ssh.forward.Handler: []
  jupyter_client.ssh.forward.forward_tunnel.SubHander:
  - Handler
  jupyter_client.ssh.tunnel.SSHException:
  - Exception
  jupyter_client.threaded.IOLoopThread:
  - Thread
  jupyter_client.threaded.ThreadedKernelClient:
  - KernelClient
  jupyter_client.threaded.ThreadedZMQSocketChannel: []
  jupyter_client.win_interrupt.create_interrupt_event.SECURITY_ATTRIBUTES: []
  jupyter_server._tz.tzUTC:
  - tzinfo
  jupyter_server.auth.authorizer.AllowAllAuthorizer:
  - Authorizer
  jupyter_server.auth.authorizer.Authorizer:
  - LoggingConfigurable
  jupyter_server.auth.identity.IdentityProvider:
  - LoggingConfigurable
  jupyter_server.auth.identity.LegacyIdentityProvider:
  - PasswordIdentityProvider
  jupyter_server.auth.identity.PasswordIdentityProvider:
  - IdentityProvider
  jupyter_server.auth.identity.User: []
  jupyter_server.auth.login.LegacyLoginHandler:
  - LoginFormHandler
  jupyter_server.auth.login.LoginFormHandler:
  - JupyterHandler
  jupyter_server.auth.logout.LogoutHandler:
  - JupyterHandler
  jupyter_server.base.call_context.CallContext: []
  jupyter_server.base.handlers.APIHandler:
  - JupyterHandler
  jupyter_server.base.handlers.APIVersionHandler:
  - APIHandler
  jupyter_server.base.handlers.AuthenticatedFileHandler:
  - JupyterHandler
  jupyter_server.base.handlers.AuthenticatedHandler: []
  jupyter_server.base.handlers.FileFindHandler:
  - JupyterHandler
  jupyter_server.base.handlers.FilesRedirectHandler:
  - JupyterHandler
  jupyter_server.base.handlers.JupyterHandler:
  - AuthenticatedHandler
  jupyter_server.base.handlers.MainHandler:
  - JupyterHandler
  jupyter_server.base.handlers.PrometheusMetricsHandler:
  - JupyterHandler
  jupyter_server.base.handlers.RedirectWithParams: []
  jupyter_server.base.handlers.Template404:
  - JupyterHandler
  jupyter_server.base.handlers.TrailingSlashHandler: []
  jupyter_server.base.websocket.WebSocketMixin: []
  jupyter_server.config_manager.BaseJSONConfigManager:
  - LoggingConfigurable
  jupyter_server.extension.application.ExtensionApp:
  - JupyterApp
  jupyter_server.extension.application.ExtensionAppJinjaMixin:
  - HasTraits
  jupyter_server.extension.application.JupyterServerExtensionException:
  - Exception
  jupyter_server.extension.config.ExtensionConfigManager:
  - ConfigManager
  jupyter_server.extension.handler.ExtensionHandlerJinjaMixin: []
  jupyter_server.extension.handler.ExtensionHandlerMixin: []
  jupyter_server.extension.manager.ExtensionManager:
  - LoggingConfigurable
  jupyter_server.extension.manager.ExtensionPackage:
  - LoggingConfigurable
  jupyter_server.extension.manager.ExtensionPoint:
  - HasTraits
  jupyter_server.extension.serverextension.ArgumentConflict:
  - ValueError
  jupyter_server.extension.serverextension.BaseExtensionApp:
  - JupyterApp
  jupyter_server.extension.serverextension.DisableServerExtensionApp:
  - ToggleServerExtensionApp
  jupyter_server.extension.serverextension.EnableServerExtensionApp:
  - ToggleServerExtensionApp
  jupyter_server.extension.serverextension.ListServerExtensionsApp:
  - BaseExtensionApp
  jupyter_server.extension.serverextension.ServerExtensionApp:
  - BaseExtensionApp
  jupyter_server.extension.serverextension.ToggleServerExtensionApp:
  - BaseExtensionApp
  jupyter_server.extension.utils.ExtensionLoadingError:
  - Exception
  jupyter_server.extension.utils.ExtensionMetadataError:
  - Exception
  jupyter_server.extension.utils.ExtensionModuleNotFound:
  - Exception
  jupyter_server.extension.utils.NotAnExtensionApp:
  - Exception
  jupyter_server.files.handlers.FilesHandler:
  - JupyterHandler
  jupyter_server.gateway.connections.GatewayWebSocketConnection:
  - BaseKernelWebsocketConnection
  jupyter_server.gateway.gateway_client.GatewayClient:
  - SingletonConfigurable
  jupyter_server.gateway.gateway_client.GatewayTokenRenewerBase:
  - LoggingConfigurable
  - ABC
  jupyter_server.gateway.gateway_client.GatewayTokenRenewerMeta:
  - ABCMeta
  jupyter_server.gateway.gateway_client.NoOpTokenRenewer:
  - GatewayTokenRenewerBase
  jupyter_server.gateway.gateway_client.RetryableHTTPClient: []
  jupyter_server.gateway.handlers.GatewayResourceHandler:
  - APIHandler
  jupyter_server.gateway.handlers.GatewayWebSocketClient:
  - LoggingConfigurable
  jupyter_server.gateway.handlers.WebSocketChannelsHandler:
  - WebSocketHandler
  - JupyterHandler
  jupyter_server.gateway.managers.ChannelQueue:
  - Queue
  jupyter_server.gateway.managers.GatewayKernelClient:
  - AsyncKernelClient
  jupyter_server.gateway.managers.GatewayKernelManager:
  - ServerKernelManager
  jupyter_server.gateway.managers.GatewayKernelSpecManager:
  - KernelSpecManager
  jupyter_server.gateway.managers.GatewayMappingKernelManager:
  - AsyncMappingKernelManager
  jupyter_server.gateway.managers.GatewaySessionManager:
  - SessionManager
  jupyter_server.gateway.managers.HBChannelQueue:
  - ChannelQueue
  jupyter_server.kernelspecs.handlers.KernelSpecResourceHandler:
  - JupyterHandler
  jupyter_server.nbconvert.handlers.NbconvertFileHandler:
  - JupyterHandler
  jupyter_server.nbconvert.handlers.NbconvertPostHandler:
  - JupyterHandler
  jupyter_server.serverapp.JupyterPasswordApp:
  - JupyterApp
  jupyter_server.serverapp.JupyterServerListApp:
  - JupyterApp
  jupyter_server.serverapp.JupyterServerStopApp:
  - JupyterApp
  jupyter_server.serverapp.ServerApp:
  - JupyterApp
  jupyter_server.serverapp.ServerWebApplication: []
  jupyter_server.services.api.handlers.APISpecHandler:
  - JupyterHandler
  jupyter_server.services.api.handlers.APIStatusHandler:
  - APIHandler
  jupyter_server.services.api.handlers.IdentityHandler:
  - APIHandler
  jupyter_server.services.config.handlers.ConfigHandler:
  - APIHandler
  jupyter_server.services.config.manager.ConfigManager:
  - LoggingConfigurable
  jupyter_server.services.contents.checkpoints.AsyncCheckpoints:
  - Checkpoints
  jupyter_server.services.contents.checkpoints.AsyncGenericCheckpointsMixin:
  - GenericCheckpointsMixin
  jupyter_server.services.contents.checkpoints.Checkpoints:
  - LoggingConfigurable
  jupyter_server.services.contents.checkpoints.GenericCheckpointsMixin: []
  jupyter_server.services.contents.filecheckpoints.AsyncFileCheckpoints:
  - FileCheckpoints
  - AsyncCheckpoints
  - AsyncFileManagerMixin
  jupyter_server.services.contents.filecheckpoints.AsyncGenericFileCheckpoints:
  - AsyncGenericCheckpointsMixin
  - AsyncFileCheckpoints
  jupyter_server.services.contents.filecheckpoints.FileCheckpoints:
  - FileManagerMixin
  - Checkpoints
  jupyter_server.services.contents.filecheckpoints.GenericFileCheckpoints:
  - FileCheckpoints
  - GenericCheckpointsMixin
  jupyter_server.services.contents.fileio.AsyncFileManagerMixin:
  - FileManagerMixin
  jupyter_server.services.contents.fileio.FileManagerMixin:
  - Configurable
  - LoggingConfigurable
  jupyter_server.services.contents.filemanager.AsyncFileContentsManager:
  - AsyncFileManagerMixin
  - FileContentsManager
  - AsyncContentsManager
  jupyter_server.services.contents.filemanager.FileContentsManager:
  - FileManagerMixin
  - ContentsManager
  jupyter_server.services.contents.handlers.CheckpointsHandler:
  - ContentsAPIHandler
  jupyter_server.services.contents.handlers.ContentsAPIHandler:
  - APIHandler
  jupyter_server.services.contents.handlers.ContentsHandler:
  - ContentsAPIHandler
  jupyter_server.services.contents.handlers.ModifyCheckpointsHandler:
  - ContentsAPIHandler
  jupyter_server.services.contents.handlers.NotebooksRedirectHandler:
  - JupyterHandler
  jupyter_server.services.contents.handlers.TrustNotebooksHandler:
  - JupyterHandler
  jupyter_server.services.contents.largefilemanager.AsyncLargeFileManager:
  - AsyncFileContentsManager
  jupyter_server.services.contents.largefilemanager.LargeFileManager:
  - FileContentsManager
  jupyter_server.services.contents.manager.AsyncContentsManager:
  - ContentsManager
  jupyter_server.services.contents.manager.ContentsManager:
  - LoggingConfigurable
  jupyter_server.services.events.handlers.EventHandler:
  - APIHandler
  jupyter_server.services.events.handlers.SubscribeWebsocket:
  - JupyterHandler
  jupyter_server.services.kernels.connection.abc.KernelWebsocketConnectionABC:
  - ABC
  jupyter_server.services.kernels.connection.base.BaseKernelWebsocketConnection:
  - LoggingConfigurable
  jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection:
  - BaseKernelWebsocketConnection
  jupyter_server.services.kernels.handlers.KernelActionHandler:
  - KernelsAPIHandler
  jupyter_server.services.kernels.handlers.KernelHandler:
  - KernelsAPIHandler
  jupyter_server.services.kernels.handlers.KernelsAPIHandler:
  - APIHandler
  jupyter_server.services.kernels.handlers.MainKernelHandler:
  - KernelsAPIHandler
  jupyter_server.services.kernels.kernelmanager.AsyncMappingKernelManager:
  - AsyncMultiKernelManager
  - MappingKernelManager
  jupyter_server.services.kernels.kernelmanager.MappingKernelManager:
  - MultiKernelManager
  jupyter_server.services.kernels.kernelmanager.ServerKernelManager:
  - AsyncIOLoopKernelManager
  jupyter_server.services.kernels.websocket.KernelWebsocketHandler:
  - WebSocketHandler
  - JupyterHandler
  - WebSocketMixin
  jupyter_server.services.kernelspecs.handlers.KernelSpecHandler:
  - KernelSpecsAPIHandler
  jupyter_server.services.kernelspecs.handlers.KernelSpecsAPIHandler:
  - APIHandler
  jupyter_server.services.kernelspecs.handlers.MainKernelSpecHandler:
  - KernelSpecsAPIHandler
  jupyter_server.services.nbconvert.handlers.NbconvertRootHandler:
  - APIHandler
  jupyter_server.services.security.handlers.CSPReportHandler:
  - APIHandler
  jupyter_server.services.sessions.handlers.SessionHandler:
  - SessionsAPIHandler
  jupyter_server.services.sessions.handlers.SessionRootHandler:
  - SessionsAPIHandler
  jupyter_server.services.sessions.handlers.SessionsAPIHandler:
  - APIHandler
  jupyter_server.services.sessions.sessionmanager.KernelSessionRecord: []
  jupyter_server.services.sessions.sessionmanager.KernelSessionRecordConflict:
  - Exception
  jupyter_server.services.sessions.sessionmanager.KernelSessionRecordList: []
  jupyter_server.services.sessions.sessionmanager.SessionManager:
  - LoggingConfigurable
  jupyter_server.services.shutdown.ShutdownHandler:
  - JupyterHandler
  jupyter_server.traittypes.InstanceFromClasses:
  - ClassBasedTraitType
  jupyter_server.traittypes.TypeFromClasses:
  - ClassBasedTraitType
  jupyter_server.utils._request_for_tornado_client.UnixSocketResolver:
  - Resolver
  jupyter_server.view.handlers.ViewHandler:
  - JupyterHandler
ep:
  func_name: TestOneInput
  module: '...fuzz_serialization'
