Module Import alias Import alias ImportFrom alias ImportFrom alias ImportFrom alias ImportFrom alias ImportFrom alias ImportFrom alias ImportFrom alias ImportFrom alias ImportFrom alias ImportFrom alias ImportFrom alias ImportFrom alias ImportFrom alias ImportFrom alias Assign NameStore Str Import alias Assign NameStore Call AttributeLoad NameLoad attr NameLoad ClassDef bases NameLoad body Pass decorator_list ClassDef bases AttributeLoad NameLoad attr body FunctionDef arguments args NameParam NameParam NameParam NameParam NameParam NameParam NameParam NameParam NameParam NameParam defaults NameLoad NameLoad NameLoad NameLoad NameLoad NameLoad NameLoad Str NameLoad body Expr Call AttributeLoad AttributeLoad NameLoad attr attr NameLoad NameLoad NameLoad NameLoad keyword NameLoad keyword NameLoad Assign AttributeStore NameLoad attr BoolOpOr NameLoad Dict Assign AttributeStore NameLoad attr Str Assign AttributeStore NameLoad attr NameLoad Assign AttributeStore NameLoad attr Dict Assign AttributeStore NameLoad attr NameLoad Assign AttributeStore NameLoad attr NameLoad Assign AttributeStore NameLoad attr NameLoad Assign AttributeStore NameLoad attr NameLoad Assign AttributeStore AttributeLoad NameLoad attr attr AttributeLoad NameLoad attr decorator_list FunctionDef arguments args NameParam NameParam NameParam defaults NameLoad kwarg body Assign SubscriptStore NameLoad Index Str Call NameLoad Num Assign NameStore Dict Str Str Str SubscriptLoad AttributeLoad NameLoad attr Index Str SubscriptLoad NameLoad Index Str SubscriptLoad SubscriptLoad AttributeLoad NameLoad attr Index Str Index Num TryExcept body Assign SubscriptStore NameLoad Index Str SubscriptLoad AttributeLoad NameLoad attr Index Str handlers ExceptHandler type NameLoad body Pass Expr Call AttributeLoad NameLoad attr NameLoad Assign NameStore Call AttributeLoad NameLoad attr keyword NameLoad Expr Call AttributeLoad NameLoad attr BinOpMod Str NameLoad Assign TupleStore NameStore NameStore NameStore NameStore Call AttributeLoad NameLoad attr NameLoad NameLoad keyword Str keyword NameLoad Assign SubscriptStore AttributeLoad NameLoad attr Index SubscriptLoad NameLoad Index Str NameLoad Expr Call AttributeLoad NameLoad attr BinOpMod Str NameLoad Expr Call AttributeLoad NameLoad attr BinOpMod Str NameLoad Expr Call AttributeLoad NameLoad attr BinOpMod Str NameLoad Assign NameStore Call NameLoad Call NameLoad NameLoad If NameLoad body Expr Call AttributeLoad AttributeLoad NameLoad attr attr ListComp TupleLoad NameLoad NameLoad comprehension TupleStore NameStore NameStore Call AttributeLoad NameLoad attr Expr Call AttributeLoad NameLoad attr BinOpMod Str AttributeLoad NameLoad attr Return NameLoad decorator_list FunctionDef arguments args NameParam defaults kwarg body TryExcept body Assign NameStore Call AttributeLoad NameLoad attr NameLoad handlers ExceptHandler type NameLoad body Pass orelse If AttributeLoad NameLoad attr body Return NameLoad Return NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults body Expr Call AttributeLoad NameLoad attr NameLoad Raise Call NameLoad NameLoad decorator_list FunctionDef arguments args NameParam NameParam NameParam NameParam defaults Str body Expr Str If CompareEq SubscriptLoad AttributeLoad NameLoad attr Index Str Str body Assign NameStore NameLoad orelse Assign NameStore NameLoad TryExcept body Assign NameStore Call AttributeLoad NameLoad attr NameLoad NameLoad keyword NameLoad keyword AttributeLoad NameLoad attr handlers ExceptHandler type NameLoad body Expr Call AttributeLoad NameLoad attr Call AttributeLoad Str attr NameLoad Raise Call NameLoad Str Expr Call AttributeLoad NameLoad attr Call AttributeLoad Str attr AttributeLoad NameLoad attr NameLoad If Call NameLoad NameLoad NameLoad body If CompareEq SubscriptLoad NameLoad Index Str Str body Return Call AttributeLoad NameLoad attr NameLoad orelse Raise Call NameLoad Str If CompareNotEq SubscriptLoad NameLoad Index Str SubscriptLoad NameLoad Index Str body Expr Call AttributeLoad NameLoad attr Str If CompareEq SubscriptLoad AttributeLoad NameLoad attr Index Str Str body TryExcept body Assign NameStore Dict Str Str Str Str SubscriptLoad NameLoad Index Str SubscriptLoad SubscriptLoad AttributeLoad NameLoad attr Index Str Index Num AttributeLoad NameLoad attr AttributeLoad NameLoad attr TryExcept body Assign SubscriptStore NameLoad Index Str SubscriptLoad NameLoad Index Str handlers ExceptHandler type NameLoad body Pass Assign NameStore Call AttributeLoad NameLoad attr keyword SubscriptLoad NameLoad Index Str keyword NameLoad keyword SubscriptLoad AttributeLoad NameLoad attr Index Str Expr Call AttributeLoad NameLoad attr Call AttributeLoad Str attr NameLoad handlers ExceptHandler type NameLoad name NameStore body Expr Call AttributeLoad NameLoad attr BinOpMod Str NameLoad Raise If Call NameLoad NameLoad NameLoad body Expr Call AttributeLoad NameLoad attr Call AttributeLoad Str attr Call AttributeLoad NameLoad attr Assign NameStore SubscriptLoad NameLoad Index Str orelse Assign NameStore SubscriptLoad NameLoad Index Str Return Dict Str NameLoad decorator_list decorator_list ClassDef bases NameLoad body FunctionDef arguments args NameParam NameParam NameParam NameParam NameParam NameParam defaults Str NameLoad NameLoad body Expr Str Assign AttributeStore NameLoad attr Dict Assign AttributeStore NameLoad attr NameLoad Assign AttributeStore NameLoad attr NameLoad Assign AttributeStore NameLoad attr BoolOpOr NameLoad Call NameLoad Num Assign AttributeStore NameLoad attr Call AttributeLoad AttributeLoad NameLoad attr attr Str Assign AttributeStore NameLoad attr Dict Assign AttributeStore NameLoad attr NameLoad Assign AttributeStore NameLoad attr NameLoad Assign AttributeStore NameLoad attr NameLoad For TupleStore NameStore NameStore Call AttributeLoad AttributeLoad NameLoad attr attr body If AttributeLoad NameLoad attr body Assign NameStore Call AttributeLoad NameLoad attr Expr Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr orelse Assign NameStore NameLoad If CompareEq NameLoad Str body Continue orelse Assign SubscriptStore AttributeLoad NameLoad attr Index NameLoad Call AttributeLoad NameLoad attr NameLoad decorator_list FunctionDef arguments args NameParam NameParam NameParam defaults body For NameStore NameLoad body Assign NameStore Call NameLoad NameLoad Assign SubscriptStore AttributeLoad NameLoad attr Index SubscriptLoad AttributeLoad NameLoad attr Slice Num NameLoad decorator_list FunctionDef arguments args NameParam defaults kwarg body Expr Str Assign NameStore Call NameLoad Call NameLoad Call AttributeLoad NameLoad attr TryExcept body Assign NameStore SubscriptLoad NameLoad Index Str handlers ExceptHandler type NameLoad body Assign NameStore AttributeLoad NameLoad attr orelse Expr Call AttributeLoad NameLoad attr Str Assign NameStore Call AttributeLoad NameLoad attr keyword NameLoad keyword SubscriptLoad NameLoad Index Str keyword NameLoad Expr Call AttributeLoad NameLoad attr Str For NameStore ListLoad Str body TryExcept body Expr Call NameLoad NameLoad NameLoad SubscriptLoad NameLoad Index NameLoad handlers ExceptHandler type NameLoad body Pass orelse Expr Call AttributeLoad NameLoad attr NameLoad If CompareEq NameLoad Set Str Str body Expr Call AttributeLoad NameLoad attr SubscriptLoad NameLoad Index Str Expr Call AttributeLoad NameLoad attr SubscriptLoad AttributeLoad NameLoad attr Index Str SubscriptLoad NameLoad Index Str Expr Call AttributeLoad NameLoad attr SubscriptLoad SubscriptLoad NameLoad Index Str Index Str SubscriptLoad NameLoad Index Str orelse If CompareEq NameLoad Set Str Str body Expr Call AttributeLoad NameLoad attr Call NameLoad SubscriptLoad NameLoad Index Str SubscriptLoad SubscriptLoad NameLoad Index Str Index Str Expr Call AttributeLoad NameLoad attr SubscriptLoad AttributeLoad NameLoad attr Index Str SubscriptLoad NameLoad Index Str Expr Call AttributeLoad NameLoad attr SubscriptLoad SubscriptLoad NameLoad Index Str Index Str SubscriptLoad SubscriptLoad NameLoad Index Str Index Str orelse If CompareEq NameLoad Set Str Str body Expr Call AttributeLoad NameLoad attr Call NameLoad SubscriptLoad NameLoad Index Str SubscriptLoad SubscriptLoad NameLoad Index Str Index Str Expr Call AttributeLoad NameLoad attr Call NameLoad SubscriptLoad NameLoad Index Str Expr Call AttributeLoad NameLoad attr SubscriptLoad SubscriptLoad NameLoad Index Str Index Str SubscriptLoad SubscriptLoad NameLoad Index Str Index Str orelse If CompareEq NameLoad Set Str Str body Expr Call AttributeLoad NameLoad attr SubscriptLoad NameLoad Index Str Expr Call AttributeLoad NameLoad attr Call NameLoad SubscriptLoad NameLoad Index Str Expr Call AttributeLoad NameLoad attr SubscriptLoad SubscriptLoad NameLoad Index Str Index Str SubscriptLoad NameLoad Index Str orelse Raise Call NameLoad Str Return NameLoad decorator_list FunctionDef arguments args NameParam NameParam NameParam defaults Str Str body Assign NameStore Call AttributeLoad NameLoad attr keyword NameLoad keyword AttributeLoad NameLoad attr AttributeLoad NameLoad attr If NameLoad body TryExcept body Assign NameStore Call AttributeLoad AttributeLoad NameLoad attr attr NameLoad handlers ExceptHandler type NameLoad body Assign NameStore Call NameLoad keyword NameLoad Assign NameStore Call AttributeLoad NameLoad attr NameLoad If UnaryOpNot NameLoad body Raise Call NameLoad Str Expr Call AttributeLoad NameLoad attr Call AttributeLoad Str attr NameLoad If CompareIn NameLoad AttributeLoad NameLoad attr body Return SubscriptLoad AttributeLoad NameLoad attr Index NameLoad orelse Assign NameStore Call AttributeLoad NameLoad attr NameLoad Expr Call AttributeLoad NameLoad attr Call AttributeLoad Str attr AttributeLoad NameLoad attr Assign NameStore SubscriptLoad NameLoad Index Str Assign NameStore SubscriptLoad SubscriptLoad AttributeLoad AttributeLoad NameLoad attr attr Index Str Index Str Assign NameStore Call AttributeLoad NameLoad attr NameLoad Assign NameStore Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr Expr Call AttributeLoad NameLoad attr Call AttributeLoad NameLoad attr Str Assign NameStore SubscriptLoad NameLoad Index Str Assign SubscriptStore NameLoad Index Str ListComp Call AttributeLoad NameLoad attr keyword AttributeLoad NameLoad attr keyword Call AttributeLoad NameLoad attr comprehension NameStore NameLoad TryExcept body Assign SubscriptStore NameLoad Index Str ListComp Call AttributeLoad NameLoad attr keyword AttributeLoad NameLoad attr keyword Call AttributeLoad NameLoad attr comprehension NameStore SubscriptLoad NameLoad Index Str handlers ExceptHandler type NameLoad body Pass Expr Call AttributeLoad NameLoad attr SubscriptLoad NameLoad Index Str NameLoad If AttributeLoad NameLoad attr body Assign SubscriptStore NameLoad Index Str AttributeLoad NameLoad attr Assign NameStore Call AttributeLoad NameLoad attr SubscriptLoad NameLoad Index Str NameLoad Expr Call AttributeLoad NameLoad attr Call AttributeLoad Str attr Call AttributeLoad NameLoad attr TryExcept body Expr Call AttributeLoad AttributeLoad NameLoad attr attr SubscriptLoad SubscriptLoad AttributeLoad AttributeLoad NameLoad attr attr Index Str Index Str handlers ExceptHandler type NameLoad body Pass Assign SubscriptStore AttributeLoad NameLoad attr Index NameLoad NameLoad Return NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults body Expr Str TryExcept body Return SubscriptLoad AttributeLoad NameLoad attr Index NameLoad handlers ExceptHandler type NameLoad body Return Call AttributeLoad NameLoad attr keyword NameLoad decorator_list FunctionDef arguments args NameParam defaults body Return Call NameLoad Call AttributeLoad AttributeLoad NameLoad attr attr decorator_list FunctionDef arguments args NameParam defaults body Return Call AttributeLoad AttributeLoad NameLoad attr attr decorator_list decorator_list
N/A N/A copy N/A hashlib future.backports.urllib.parse urlsplit oic.extension client oic rndstr oic.extension.client ClientInfoResponse oic.oic ProviderConfigurationResponse oic.utils.http_util Redirect oic.oauth2 AccessTokenResponse oic.oauth2 ErrorResponse oic.oauth2 AuthorizationRequest oic.oauth2 AuthorizationResponse oic.oauth2 TokenError oic.oauth2 ResponseError oic.utils.authn.client CLIENT_AUTHN_METHOD oic.utils.webfinger WebFinger N/A __author__ roland N/A logging N/A logger N/A N/A logging getLogger __name__ OAuth2Error N/A Exception N/A N/A N/A OAuthClient N/A N/A client Client N/A __init__ N/A N/A self client_id ca_certs client_prefs client_authn_method keyjar verify_ssl behaviour jwks_uri kid N/A None None None None None True None None N/A N/A N/A N/A N/A client Client __init__ self client_id ca_certs client_authn_method keyjar keyjar verify_ssl verify_ssl N/A N/A self behaviour N/A behaviour N/A N/A N/A self userinfo_request_method N/A N/A self allow_sign_alg_none False N/A N/A self authz_req N/A N/A N/A self get_userinfo True N/A N/A self jwks_uri jwks_uri N/A N/A self kid kid N/A N/A self client_prefs client_prefs N/A N/A N/A self keyjar verify_ssl N/A self verify_ssl N/A create_authn_request N/A N/A self session acr_value N/A None kwargs N/A N/A N/A session N/A state N/A rndstr 32 N/A request_args N/A response_type state redirect_uri N/A N/A self behaviour N/A response_type N/A session N/A state N/A N/A N/A self registration_response N/A redirect_uris N/A 0 N/A N/A N/A N/A request_args N/A scope N/A N/A self behaviour N/A scope N/A N/A N/A KeyError N/A N/A N/A N/A N/A request_args update kwargs N/A cis N/A N/A self construct_AuthorizationRequest request_args request_args N/A N/A N/A logger debug N/A request: %s cis N/A N/A url body ht_args cis N/A N/A self uri_and_body AuthorizationRequest cis method GET request_args request_args N/A N/A N/A self authz_req N/A N/A request_args N/A state cis N/A N/A N/A logger debug N/A body: %s body N/A N/A N/A logger info N/A URL: %s url N/A N/A N/A logger debug N/A ht_args: %s ht_args N/A resp N/A Redirect N/A str url N/A ht_args N/A N/A N/A N/A N/A resp headers extend N/A N/A a b N/A N/A a b N/A N/A ht_args items N/A N/A N/A logger debug N/A resp_headers: %s N/A resp headers N/A resp N/A has_access_token N/A N/A self N/A kwargs N/A N/A N/A N/A token N/A N/A self get_token kwargs N/A N/A N/A TokenError N/A N/A N/A N/A N/A token access_token N/A N/A True N/A False N/A _err N/A N/A self txt N/A N/A N/A N/A N/A logger error txt N/A N/A OAuth2Error txt N/A callback N/A N/A self response session format N/A dict N/A N/A 
        This is the method that should be called when an AuthN response has been
        received from the OP.

        :param response: The URL returned by the OP
        :return:
         N/A N/A N/A N/A self behaviour N/A response_type code N/A N/A respcls AuthorizationResponse N/A N/A respcls AccessTokenResponse N/A N/A N/A authresp N/A N/A self parse_response respcls response sformat format keyjar N/A self keyjar N/A N/A N/A ResponseError N/A N/A N/A N/A logger error N/A N/A Could not parse response: '{}' format response N/A N/A OAuth2Error Problem parsing response N/A N/A N/A logger info N/A N/A {}: {} format N/A respcls __name__ authresp N/A N/A isinstance authresp ErrorResponse N/A N/A N/A N/A authresp N/A error login_required N/A N/A N/A N/A self create_authn_request session N/A N/A N/A OAuth2Error Access denied N/A N/A N/A session N/A state N/A authresp N/A state N/A N/A N/A N/A self _err Received state not the same as expected. N/A N/A N/A N/A self behaviour N/A response_type code N/A N/A N/A N/A args N/A code redirect_uri client_id client_secret N/A authresp N/A code N/A N/A N/A self registration_response N/A redirect_uris N/A 0 N/A self client_id N/A self client_secret N/A N/A N/A N/A args N/A scope N/A response N/A scope N/A N/A N/A KeyError N/A N/A N/A atresp N/A N/A self do_access_token_request state N/A authresp N/A state request_args args authn_method N/A N/A self registration_response N/A token_endpoint_auth_method N/A N/A N/A logger info N/A N/A Access token response: {} format atresp N/A N/A N/A Exception N/A err N/A N/A N/A N/A logger error N/A %s err N/A N/A N/A isinstance atresp ErrorResponse N/A N/A N/A N/A self _err N/A N/A Error response: {} format N/A N/A atresp to_dict N/A _token N/A atresp N/A access_token N/A N/A _token N/A authresp N/A access_token N/A N/A access_token _token N/A N/A OAuthClients N/A object N/A __init__ N/A N/A self config base_url seed jwks_info verify_ssl N/A None True N/A N/A 

        :param config: Imported configuration module
        :return:
         N/A N/A self client N/A N/A N/A self client_cls OAuthClient N/A N/A self config config N/A N/A self seed N/A seed N/A rndstr 16 N/A N/A self seed N/A N/A N/A self seed encode utf8 N/A N/A self path N/A N/A N/A self base_url base_url N/A N/A self jwks_info jwks_info N/A N/A self verify_ssl verify_ssl N/A N/A key val N/A N/A N/A config CLIENTS items N/A N/A N/A self jwks_info N/A N/A _val N/A N/A val copy N/A N/A N/A _val update N/A self jwks_info N/A N/A _val val N/A N/A key N/A N/A N/A N/A N/A N/A self client N/A key N/A N/A self create_client _val N/A get_path N/A N/A self redirect_uris issuer N/A N/A N/A ruri redirect_uris N/A N/A p N/A urlsplit ruri N/A N/A N/A self path N/A N/A N/A p path N/A 1 issuer N/A create_client N/A N/A self N/A kwargs N/A N/A 
        Do an instantiation of a client instance

        :param: Keyword arguments
            Keys are:
                srv_discovery_url
                client_info
                client_registration
                provider_info
                behaviour
        :return: client instance
         N/A _key_set N/A set N/A list N/A N/A kwargs keys N/A N/A N/A _verify_ssl N/A kwargs N/A verify_ssl N/A N/A N/A KeyError N/A N/A _verify_ssl N/A self verify_ssl N/A N/A N/A N/A _key_set discard verify_ssl N/A _client N/A N/A self client_cls client_authn_method CLIENT_AUTHN_METHOD behaviour N/A kwargs N/A behaviour verify_ssl _verify_ssl N/A N/A N/A _key_set discard behaviour N/A param N/A allow N/A N/A N/A N/A N/A setattr _client param N/A kwargs N/A param N/A N/A N/A KeyError N/A N/A N/A N/A N/A N/A _key_set discard param N/A N/A _key_set N/A client_info srv_discovery_url N/A N/A N/A N/A _client provider_config N/A kwargs N/A srv_discovery_url N/A N/A N/A _client register N/A N/A _client provider_info N/A registration_endpoint N/A kwargs N/A client_info N/A N/A N/A self get_path N/A N/A kwargs N/A client_info N/A redirect_uris N/A kwargs N/A srv_discovery_url N/A N/A N/A _key_set N/A provider_info client_info N/A N/A N/A N/A _client handle_provider_config N/A ProviderConfigurationResponse N/A kwargs N/A provider_info N/A N/A kwargs N/A provider_info N/A issuer N/A N/A N/A _client register N/A N/A _client provider_info N/A registration_endpoint N/A kwargs N/A client_info N/A N/A N/A self get_path N/A N/A kwargs N/A client_info N/A redirect_uris N/A N/A kwargs N/A provider_info N/A issuer N/A N/A N/A _key_set N/A provider_info client_registration N/A N/A N/A N/A _client handle_provider_config N/A ProviderConfigurationResponse N/A kwargs N/A provider_info N/A N/A kwargs N/A provider_info N/A issuer N/A N/A N/A _client store_registration_info N/A ClientInfoResponse N/A kwargs N/A client_registration N/A N/A N/A self get_path N/A N/A kwargs N/A client_info N/A redirect_uris N/A N/A kwargs N/A provider_info N/A issuer N/A N/A N/A _key_set N/A srv_discovery_url client_registration N/A N/A N/A N/A _client provider_config N/A kwargs N/A srv_discovery_url N/A N/A N/A _client store_registration_info N/A ClientInfoResponse N/A kwargs N/A client_registration N/A N/A N/A self get_path N/A N/A kwargs N/A client_registration N/A redirect_uris N/A kwargs N/A srv_discovery_url N/A N/A N/A Exception Configuration error ? N/A client N/A dynamic_client N/A N/A self issuer userid N/A N/A N/A client N/A N/A self client_cls client_authn_method CLIENT_AUTHN_METHOD verify_ssl N/A self verify_ssl N/A self jwks_info N/A userid N/A N/A N/A N/A issuer N/A N/A N/A client wf discovery_query userid N/A N/A N/A AttributeError N/A N/A wf N/A WebFinger httpd client N/A issuer N/A N/A wf discovery_query userid N/A N/A issuer N/A N/A N/A OAuth2Error Missing issuer N/A N/A N/A logger info N/A N/A issuer: {} format issuer N/A N/A issuer N/A self client N/A N/A N/A N/A self client N/A issuer N/A N/A _pcr N/A N/A client provider_config issuer N/A N/A N/A logger info N/A N/A Provider info: {} format N/A _pcr to_dict N/A issuer N/A _pcr N/A issuer N/A _cinfo N/A N/A N/A N/A self config CLIENTS N/A N/A client_info N/A reg_args N/A N/A copy copy _cinfo N/A h N/A N/A hashlib sha256 N/A self seed N/A N/A N/A h update N/A N/A issuer encode utf8 N/A base_urls N/A _cinfo N/A redirect_uris N/A N/A reg_args N/A redirect_uris N/A N/A N/A u format base N/A self base_url iss N/A N/A h hexdigest N/A u base_urls N/A N/A N/A N/A reg_args N/A post_logout_redirect_uris N/A N/A N/A u format base N/A self base_url iss N/A N/A h hexdigest N/A u N/A reg_args N/A post_logout_redirect_uris N/A N/A N/A KeyError N/A N/A N/A N/A N/A self get_path N/A reg_args N/A redirect_uris issuer N/A N/A client jwks_uri N/A N/A N/A reg_args N/A jwks_uri N/A client jwks_uri N/A rr N/A N/A client register N/A _pcr N/A registration_endpoint reg_args N/A N/A N/A logger info N/A N/A Registration response: {} format N/A N/A rr to_dict N/A N/A N/A N/A N/A N/A client behaviour update N/A N/A N/A N/A self config CLIENTS N/A N/A behaviour N/A N/A N/A KeyError N/A N/A N/A N/A N/A self client N/A issuer client N/A client N/A __getitem__ N/A N/A self item N/A N/A N/A 
        Given a service identifier return a suitable client
        :param item:
        :return:
         N/A N/A N/A N/A N/A self client N/A item N/A N/A N/A KeyError N/A N/A N/A N/A self dynamic_client issuer item N/A keys N/A N/A self N/A N/A N/A N/A list N/A N/A N/A self client keys N/A return_paths N/A N/A self N/A N/A N/A N/A N/A N/A self path keys N/A N/A