| 
 | 
            
              | Function Name  | Hit count  | 
            
              | <<proxy::auth::backend::jwt::OneOrMany as serde::de::Deserialize>::deserialize::OneOrManyVisitor as serde::de::Visitor>::expecting | 0 | 
            
              | <proxy::auth::backend::jwt::JwkCacheEntryLock>::check_jwt::<proxy::auth::backend::local::StaticAuthRules>::{closure#0} | 0 | 
            
              | ::check_jwt::::{closure#0} | 0 | 
            
              | ::check_jwt::::{closure#0} | 0 | 
            
              | <proxy::auth::backend::jwt::JwkCacheEntryLock>::get_or_update_jwk_cache::<_>::{closure#0}::{closure#0} | 0 | 
            
              | ::get_or_update_jwk_cache::<_>::{closure#0}::{closure#0} | 0 | 
            
              | ::get_or_update_jwk_cache::::{closure#0}::{closure#0} | 0 | 
            
              | <proxy::auth::backend::jwt::JwkCacheEntryLock>::get_or_update_jwk_cache::<proxy::auth::backend::local::StaticAuthRules>::{closure#0}::{closure#0} | 0 | 
            
              | ::get_or_update_jwk_cache::::{closure#0}::{closure#0} | 0 | 
            
              | ::get_or_update_jwk_cache::::{closure#0}::{closure#0} | 0 | 
            
              | <proxy::auth::backend::jwt::JwkCacheEntryLock>::try_acquire_permit | 0 | 
            
              | <proxy::auth::backend::jwt::JwkRenewalPermit>::into_owned | 0 | 
            
              | <proxy::auth::backend::jwt::JwkRenewalPermit>::try_acquire_permit | 0 | 
            
              | <proxy::auth::backend::jwt::JwkRenewalPermitInner>::into_owned | 0 | 
            
              | <proxy::auth::backend::jwt::JwtError as core::convert::From<base64::decode::DecodeError>>::from | 0 | 
            
              | <proxy::auth::backend::jwt::JwtError as core::convert::From<serde_json::error::Error>>::from | 0 | 
            
              | <proxy::auth::backend::jwt::KeyType as core::convert::From<&jose_jwk::key::Key>>::from | 0 | 
            
              | proxy::auth::backend::jwt::fetch_jwks::{closure#0}::{closure#1} | 0 | 
            
              | proxy::auth::backend::jwt::tests::check_jwk_keycloak_regression::{closure#0}::{closure#0} | 1 | 
            
              | proxy::auth::backend::jwt::tests::check_jwt_invalid_claims::{closure#0}::{closure#0} | 1 | 
            
              | proxy::auth::backend::jwt::tests::check_jwt_invalid_signature::{closure#0}::{closure#0} | 1 | 
            
              | proxy::auth::backend::jwt::tests::check_jwt_regression_cognito_issuer::{closure#0}::{closure#0} | 1 | 
            
              | proxy::auth::backend::jwt::tests::check_jwt_unknown_role::{closure#0}::{closure#0} | 1 | 
            
              | <<proxy::auth::backend::jwt::OneOrMany as serde::de::Deserialize>::deserialize::OneOrManyVisitor as serde::de::Visitor>::visit_str::<_> | 2 | 
            
              | <::deserialize::OneOrManyVisitor as serde::de::Visitor>::visit_str::<_> | 0 | 
            
              | <::deserialize::OneOrManyVisitor as serde::de::Visitor>::visit_str:: | 2 | 
            
              | proxy::auth::backend::jwt::tests::check_jwk_keycloak_regression | 2 | 
            
              | proxy::auth::backend::jwt::tests::check_jwk_keycloak_regression | 1 | 
            
              | proxy::auth::backend::jwt::tests::check_jwk_keycloak_regression::{closure#0} | 1 | 
            
              | proxy::auth::backend::jwt::tests::check_jwt_happy_path | 2 | 
            
              | proxy::auth::backend::jwt::tests::check_jwt_happy_path | 1 | 
            
              | proxy::auth::backend::jwt::tests::check_jwt_happy_path::{closure#0} | 1 | 
            
              | proxy::auth::backend::jwt::tests::check_jwt_invalid_claims | 2 | 
            
              | proxy::auth::backend::jwt::tests::check_jwt_invalid_claims | 1 | 
            
              | proxy::auth::backend::jwt::tests::check_jwt_invalid_claims::{closure#0} | 1 | 
            
              | proxy::auth::backend::jwt::tests::check_jwt_invalid_signature | 2 | 
            
              | proxy::auth::backend::jwt::tests::check_jwt_invalid_signature | 1 | 
            
              | proxy::auth::backend::jwt::tests::check_jwt_invalid_signature::{closure#0} | 1 | 
            
              | proxy::auth::backend::jwt::tests::check_jwt_regression_cognito_issuer | 2 | 
            
              | proxy::auth::backend::jwt::tests::check_jwt_regression_cognito_issuer | 1 | 
            
              | proxy::auth::backend::jwt::tests::check_jwt_regression_cognito_issuer::{closure#0} | 1 | 
            
              | proxy::auth::backend::jwt::tests::check_jwt_unknown_role | 2 | 
            
              | proxy::auth::backend::jwt::tests::check_jwt_unknown_role | 1 | 
            
              | proxy::auth::backend::jwt::tests::check_jwt_unknown_role::{closure#0} | 1 | 
            
              | proxy::auth::backend::jwt::tests::new_ec_jwt | 3 | 
            
              | proxy::auth::backend::jwt::tests::check_jwt_happy_path::{closure#0}::{closure#0} | 4 | 
            
              | proxy::auth::backend::jwt::tests::new_rsa_jwk | 4 | 
            
              | proxy::auth::backend::jwt::tests::new_rsa_jwt | 4 | 
            
              | proxy::auth::backend::jwt::verify_rsa_signature | 5 | 
            
              | <proxy::auth::backend::jwt::JwkCacheEntryLock>::check_jwt::<_>::{closure#0}::{closure#0} | 6 | 
            
              | ::check_jwt::<_>::{closure#0}::{closure#0} | 0 | 
            
              | ::check_jwt::::{closure#0}::{closure#0} | 0 | 
            
              | ::check_jwt::::{closure#0}::{closure#0} | 0 | 
            
              | ::check_jwt::::{closure#0}::{closure#0} | 6 | 
            
              | proxy::auth::backend::jwt::tests::jwks_server::<proxy::auth::backend::jwt::tests::check_jwt_happy_path::{closure#0}::{closure#0}> | 6 | 
            
              | proxy::auth::backend::jwt::tests::jwks_server:: | 1 | 
            
              | proxy::auth::backend::jwt::tests::jwks_server:: | 1 | 
            
              | proxy::auth::backend::jwt::tests::jwks_server:: | 1 | 
            
              | proxy::auth::backend::jwt::tests::jwks_server:: | 1 | 
            
              | proxy::auth::backend::jwt::tests::jwks_server:: | 1 | 
            
              | proxy::auth::backend::jwt::tests::jwks_server:: | 1 | 
            
              | proxy::auth::backend::jwt::tests::jwks_server::<proxy::auth::backend::jwt::tests::check_jwt_happy_path::{closure#0}::{closure#0}>::{closure#0} | 6 | 
            
              | proxy::auth::backend::jwt::tests::jwks_server::::{closure#0} | 1 | 
            
              | proxy::auth::backend::jwt::tests::jwks_server::::{closure#0} | 1 | 
            
              | proxy::auth::backend::jwt::tests::jwks_server::::{closure#0} | 1 | 
            
              | proxy::auth::backend::jwt::tests::jwks_server::::{closure#0} | 1 | 
            
              | proxy::auth::backend::jwt::tests::jwks_server::::{closure#0} | 1 | 
            
              | proxy::auth::backend::jwt::tests::jwks_server::::{closure#0} | 1 | 
            
              | proxy::auth::backend::jwt::tests::jwks_server::<proxy::auth::backend::jwt::tests::check_jwt_happy_path::{closure#0}::{closure#0}>::{closure#0}::{closure#1} | 6 | 
            
              | proxy::auth::backend::jwt::tests::jwks_server::::{closure#0}::{closure#1} | 1 | 
            
              | proxy::auth::backend::jwt::tests::jwks_server::::{closure#0}::{closure#1} | 1 | 
            
              | proxy::auth::backend::jwt::tests::jwks_server::::{closure#0}::{closure#1} | 1 | 
            
              | proxy::auth::backend::jwt::tests::jwks_server::::{closure#0}::{closure#1} | 1 | 
            
              | proxy::auth::backend::jwt::tests::jwks_server::::{closure#0}::{closure#1} | 1 | 
            
              | proxy::auth::backend::jwt::tests::jwks_server::::{closure#0}::{closure#1} | 1 | 
            
              | proxy::auth::backend::jwt::tests::new_ec_jwk | 6 | 
            
              | <proxy::auth::backend::jwt::JwkCache>::check_jwt::<_>::{closure#0}::{closure#0} | 7 | 
            
              | ::check_jwt::<_>::{closure#0}::{closure#0} | 0 | 
            
              | ::check_jwt::::{closure#0}::{closure#0} | 0 | 
            
              | ::check_jwt::::{closure#0}::{closure#0} | 0 | 
            
              | ::check_jwt::::{closure#0}::{closure#0} | 7 | 
            
              | <proxy::auth::backend::jwt::JwkCacheEntryLock as core::default::Default>::default | 7 | 
            
              | <proxy::auth::backend::jwt::JwkCacheEntryLock>::renew_jwks::<_> | 7 | 
            
              | ::renew_jwks::<_> | 0 | 
            
              | ::renew_jwks:: | 0 | 
            
              | ::renew_jwks:: | 0 | 
            
              | ::renew_jwks:: | 7 | 
            
              | <proxy::auth::backend::jwt::JwkCacheEntryLock>::renew_jwks::<_>::{closure#0} | 7 | 
            
              | ::renew_jwks::<_>::{closure#0} | 0 | 
            
              | ::renew_jwks::::{closure#0} | 0 | 
            
              | ::renew_jwks::::{closure#0} | 0 | 
            
              | ::renew_jwks::::{closure#0} | 7 | 
            
              | <proxy::auth::backend::jwt::JwkRenewalPermit as core::ops::drop::Drop>::drop | 7 | 
            
              | <proxy::auth::backend::jwt::tests::Fetch as proxy::auth::backend::jwt::FetchAuthRules>::fetch_auth_rules | 7 | 
            
              | <proxy::auth::backend::jwt::tests::Fetch as proxy::auth::backend::jwt::FetchAuthRules>::fetch_auth_rules::{closure#0} | 7 | 
            
              | proxy::auth::backend::jwt::tests::build_jwt_payload | 7 | 
            
              | proxy::auth::backend::jwt::tests::new_custom_ec_jwt::<serde_json::value::Value> | 8 | 
            
              | proxy::auth::backend::jwt::tests::new_custom_ec_jwt::, typed_json::expr_de::Expr<&str>>>, core::option::Option, typed_json::expr_de::Expr<&str>>>), (core::option::Option, typed_json::expr_de::Expr<&str>>>, core::option::Option, typed_json::expr_de::Expr<&str>>>)), (((core::option::Option, typed_json::expr_de::Expr<&str>>>, core::option::Option, typed_json::expr_de::Expr<&str>>>), (core::option::Option, typed_json::expr_de::Expr<&str>>>, core::option::Option, typed_json::expr_de::Expr>>)), ((core::option::Option, typed_json::expr_de::Expr>>, core::option::Option, typed_json::expr_de::Expr>>), (core::option::Option, typed_json::expr_de::Expr<&str>>>, core::option::Option, typed_json::expr_de::Expr<&str>>>))))>> | 1 | 
            
              | proxy::auth::backend::jwt::tests::new_custom_ec_jwt:: | 7 | 
            
              | proxy::auth::backend::jwt::tests::now | 8 | 
            
              | <<proxy::auth::backend::jwt::JwkSet as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting | 9 | 
            
              | <::deserialize::__Field as serde::de::Deserialize>::deserialize::<_> | 0 | 
            
              | <::deserialize::__FieldVisitor as serde::de::Visitor>::expecting | 0 | 
            
              | <::deserialize::__Visitor as serde::de::Visitor>::expecting | 0 | 
            
              | <::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_> | 0 | 
            
              | <::deserialize::__Visitor as serde::de::Visitor>::visit_map::> | 0 | 
            
              | <::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_> | 0 | 
            
              | <::deserialize::__Visitor as serde::de::Visitor>::visit_seq::> | 0 | 
            
              | <::deserialize::__Field as serde::de::Deserialize>::deserialize::> | 9 | 
            
              | <proxy::auth::backend::jwt::JwkCache as core::default::Default>::default | 9 | 
            
              | proxy::auth::backend::jwt::fetch_jwks | 9 | 
            
              | proxy::auth::backend::jwt::fetch_jwks::{closure#0} | 9 | 
            
              | proxy::auth::backend::jwt::fetch_jwks::{closure#0}::{closure#0} | 9 | 
            
              | proxy::auth::backend::jwt::tests::jwks_server::<proxy::auth::backend::jwt::tests::check_jwt_happy_path::{closure#0}::{closure#0}>::{closure#0}::{closure#0} | 9 | 
            
              | proxy::auth::backend::jwt::tests::jwks_server::::{closure#0}::{closure#0} | 1 | 
            
              | proxy::auth::backend::jwt::tests::jwks_server::::{closure#0}::{closure#0} | 1 | 
            
              | proxy::auth::backend::jwt::tests::jwks_server::::{closure#0}::{closure#0} | 1 | 
            
              | proxy::auth::backend::jwt::tests::jwks_server::::{closure#0}::{closure#0} | 1 | 
            
              | proxy::auth::backend::jwt::tests::jwks_server::::{closure#0}::{closure#0} | 1 | 
            
              | proxy::auth::backend::jwt::tests::jwks_server::::{closure#0}::{closure#0} | 4 | 
            
              | proxy::auth::backend::jwt::tests::jwks_server::<proxy::auth::backend::jwt::tests::check_jwt_happy_path::{closure#0}::{closure#0}>::{closure#0}::{closure#0}::{closure#0} | 9 | 
            
              | proxy::auth::backend::jwt::tests::jwks_server::::{closure#0}::{closure#0}::{closure#0} | 1 | 
            
              | proxy::auth::backend::jwt::tests::jwks_server::::{closure#0}::{closure#0}::{closure#0} | 1 | 
            
              | proxy::auth::backend::jwt::tests::jwks_server::::{closure#0}::{closure#0}::{closure#0} | 1 | 
            
              | proxy::auth::backend::jwt::tests::jwks_server::::{closure#0}::{closure#0}::{closure#0} | 1 | 
            
              | proxy::auth::backend::jwt::tests::jwks_server::::{closure#0}::{closure#0}::{closure#0} | 1 | 
            
              | proxy::auth::backend::jwt::tests::jwks_server::::{closure#0}::{closure#0}::{closure#0} | 4 | 
            
              | proxy::auth::backend::jwt::verify_ec_signature | 13 | 
            
              | <proxy::auth::backend::jwt::JwkCacheEntryLock>::acquire_permit | 14 | 
            
              | ::acquire_permit | 7 | 
            
              | ::acquire_permit::{closure#0} | 7 | 
            
              | <proxy::auth::backend::jwt::JwkRenewalPermit>::acquire_permit | 14 | 
            
              | ::acquire_permit | 7 | 
            
              | ::acquire_permit::{closure#0} | 7 | 
            
              | <<proxy::auth::backend::jwt::OneOrMany as serde::de::Deserialize>::deserialize::OneOrManyVisitor as serde::de::Visitor>::visit_seq::<_> | 15 | 
            
              | <::deserialize::OneOrManyVisitor as serde::de::Visitor>::visit_seq::<_> | 0 | 
            
              | <::deserialize::OneOrManyVisitor as serde::de::Visitor>::visit_seq::> | 15 | 
            
              | proxy::auth::backend::jwt::tests::build_custom_jwt_payload::<serde_json::value::Value> | 15 | 
            
              | proxy::auth::backend::jwt::tests::build_custom_jwt_payload::, typed_json::expr_de::Expr<&str>>>, core::option::Option, typed_json::expr_de::Expr<&str>>>), (core::option::Option, typed_json::expr_de::Expr<&str>>>, core::option::Option, typed_json::expr_de::Expr<&str>>>)), (((core::option::Option, typed_json::expr_de::Expr<&str>>>, core::option::Option, typed_json::expr_de::Expr<&str>>>), (core::option::Option, typed_json::expr_de::Expr<&str>>>, core::option::Option, typed_json::expr_de::Expr>>)), ((core::option::Option, typed_json::expr_de::Expr>>, core::option::Option, typed_json::expr_de::Expr>>), (core::option::Option, typed_json::expr_de::Expr<&str>>>, core::option::Option, typed_json::expr_de::Expr<&str>>>))))>> | 1 | 
            
              | proxy::auth::backend::jwt::tests::build_custom_jwt_payload:: | 7 | 
            
              | proxy::auth::backend::jwt::tests::build_custom_jwt_payload::, typed_json::expr_de::Expr>>, (core::option::Option, typed_json::expr_de::Expr>>, core::option::Option, typed_json::array::Array<(core::option::Option>, (core::option::Option>, core::option::Option>))>>>)), ((core::option::Option, typed_json::expr_de::Expr<&str>>>, core::option::Option, typed_json::expr_de::Expr<&str>>>), (core::option::Option, typed_json::expr_de::Expr<&str>>>, core::option::Option, typed_json::expr_de::Expr<&str>>>)))>> | 7 | 
            
              | <proxy::auth::backend::jwt::OneOrMany as serde::de::Deserialize>::deserialize::<_> | 17 | 
            
              | ::deserialize::<_> | 0 | 
            
              | ::deserialize::<&mut serde_json::de::Deserializer> | 17 | 
            
              | <proxy::auth::backend::jwt::JwkCacheEntry>::find_jwk_and_audience::{closure#1}::{closure#0} | 18 | 
            
              | <proxy::auth::backend::jwt::JwkCache>::check_jwt::<_> | 19 | 
            
              | ::check_jwt::<_> | 0 | 
            
              | ::check_jwt:: | 0 | 
            
              | ::check_jwt:: | 0 | 
            
              | ::check_jwt:: | 19 | 
            
              | <proxy::auth::backend::jwt::JwkCache>::check_jwt::<_>::{closure#0} | 19 | 
            
              | ::check_jwt::<_>::{closure#0} | 0 | 
            
              | ::check_jwt::::{closure#0} | 0 | 
            
              | ::check_jwt::::{closure#0} | 0 | 
            
              | ::check_jwt::::{closure#0} | 19 | 
            
              | <proxy::auth::backend::jwt::JwkCacheEntry>::find_jwk_and_audience | 19 | 
            
              | <proxy::auth::backend::jwt::JwkCacheEntryLock>::check_jwt::<_> | 19 | 
            
              | ::check_jwt::<_> | 0 | 
            
              | ::check_jwt:: | 0 | 
            
              | ::check_jwt:: | 0 | 
            
              | ::check_jwt:: | 19 | 
            
              | <proxy::auth::backend::jwt::JwkCacheEntryLock>::check_jwt::<_>::{closure#0} | 19 | 
            
              | ::check_jwt::<_>::{closure#0} | 0 | 
            
              | ::check_jwt::::{closure#0} | 19 | 
            
              | <proxy::auth::backend::jwt::JwkCacheEntryLock>::get_or_update_jwk_cache::<_> | 19 | 
            
              | ::get_or_update_jwk_cache::<_> | 0 | 
            
              | ::get_or_update_jwk_cache:: | 0 | 
            
              | ::get_or_update_jwk_cache:: | 0 | 
            
              | ::get_or_update_jwk_cache:: | 19 | 
            
              | <proxy::auth::backend::jwt::JwkCacheEntryLock>::get_or_update_jwk_cache::<_>::{closure#0} | 19 | 
            
              | ::get_or_update_jwk_cache::<_>::{closure#0} | 0 | 
            
              | ::get_or_update_jwk_cache::::{closure#0} | 0 | 
            
              | ::get_or_update_jwk_cache::::{closure#0} | 0 | 
            
              | ::get_or_update_jwk_cache::::{closure#0} | 19 | 
            
              | <proxy::auth::backend::jwt::JwkCacheEntry>::find_jwk_and_audience::{closure#1} | 22 | 
            
              | <proxy::auth::backend::jwt::KeySet>::find_key | 22 | 
            
              | proxy::auth::backend::jwt::numeric_date_opt::<_> | 25 | 
            
              | proxy::auth::backend::jwt::numeric_date_opt::<_> | 0 | 
            
              | proxy::auth::backend::jwt::numeric_date_opt::<&mut serde_json::de::Deserializer> | 25 | 
            
              | proxy::auth::backend::jwt::numeric_date_opt::<_>::{closure#0} | 25 | 
            
              | proxy::auth::backend::jwt::numeric_date_opt::<_>::{closure#0} | 0 | 
            
              | proxy::auth::backend::jwt::numeric_date_opt::<&mut serde_json::de::Deserializer>::{closure#0} | 25 | 
            
              | <proxy::auth::backend::jwt::KeySet>::find_key::{closure#0} | 30 | 
            
              | <<proxy::auth::backend::jwt::JwtHeader as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting | 38 | 
            
              | <::deserialize::__Field as serde::de::Deserialize>::deserialize::<_> | 0 | 
            
              | <::deserialize::__FieldVisitor as serde::de::Visitor>::expecting | 0 | 
            
              | <::deserialize::__Visitor as serde::de::Visitor>::expecting | 0 | 
            
              | <::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_> | 0 | 
            
              | <::deserialize::__Visitor as serde::de::Visitor>::visit_map::> | 0 | 
            
              | <::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_> | 0 | 
            
              | <::deserialize::__Visitor as serde::de::Visitor>::visit_seq::> | 0 | 
            
              | <::deserialize::__Field as serde::de::Deserialize>::deserialize::> | 38 | 
            
              | <proxy::auth::backend::jwt::JwkCacheEntry>::find_jwk_and_audience::{closure#0} | 52 | 
            
              | ::find_jwk_and_audience::{closure#0} | 23 | 
            
              | ::find_jwk_and_audience::{closure#0}::{closure#0} | 29 | 
            
              | <<proxy::auth::backend::jwt::JwtPayload as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting | 97 | 
            
              | <::deserialize::__Field as serde::de::Deserialize>::deserialize::<_> | 0 | 
            
              | <::deserialize::__FieldVisitor as serde::de::Visitor>::expecting | 0 | 
            
              | <::deserialize::__Visitor as serde::de::Visitor>::expecting | 0 | 
            
              | <::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>::{closure#0} | 0 | 
            
              | <::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>::{closure#1} | 0 | 
            
              | <::deserialize::__Visitor as serde::de::Visitor>::visit_seq::>::{closure#0} | 0 | 
            
              | <::deserialize::__Visitor as serde::de::Visitor>::visit_seq::>::{closure#1} | 0 | 
            
              | <::deserialize::__Field as serde::de::Deserialize>::deserialize::> | 97 |