#[derive(Clone, PartialEq, ::prost::Message)]
pub struct NdsRationale {
#[prost(string, tag="1")]
pub source: ::prost::alloc::string::String,
#[prost(message, optional, tag="2")]
pub confidence: ::core::option::Option<super::common::Decimal>,
#[prost(string, repeated, tag="3")]
pub thought_path: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
#[prost(message, repeated, tag="4")]
pub evidence_event_ids: ::prost::alloc::vec::Vec<super::event::EventId>,
#[prost(message, repeated, tag="8")]
pub evidence_refs: ::prost::alloc::vec::Vec<NdsRationaleRef>,
#[prost(message, optional, tag="5")]
pub risk_score: ::core::option::Option<super::common::Decimal>,
#[prost(map="string, string", tag="6")]
pub metadata: ::std::collections::HashMap<::prost::alloc::string::String, ::prost::alloc::string::String>,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct NdsRationaleRef {
#[prost(string, tag="1")]
pub uri: ::prost::alloc::string::String,
#[prost(string, optional, tag="2")]
pub hash: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag="3")]
pub mime_type: ::core::option::Option<::prost::alloc::string::String>,
}