#[derive(hard_xml::XmlWrite, hard_xml::XmlRead, Default, PartialEq, Clone, Debug)]
#[xml(tag = "Wrapper")]
pub struct Wrapper<'a> {
#[xml(attr = "followAdditionalWrappers", default)]
pub follow_additional_wrappers: Option<bool>,
#[xml(attr = "allowMultipleAds", default)]
pub allow_multiple_ads: Option<bool>,
#[xml(attr = "fallbackOnNoAd", default)]
pub fallback_on_no_ad: Option<bool>,
#[xml(child = "AdSystem", default)]
pub ad_system: crate::AdSystem<'a>,
#[xml(flatten_text = "Error", cdata, default)]
pub errors: Vec<std::borrow::Cow<'a, str>>,
#[xml(child = "Extensions", default)]
pub extensions: Option<crate::Extensions>,
#[xml(child = "Impression")]
pub impressions: Vec<crate::Impression<'a>>,
#[xml(child = "Pricing", default)]
pub pricing: Option<crate::Pricing<'a>>,
#[xml(child = "ViewableImpression", default)]
pub viewable_impression: Option<crate::ViewableImpression<'a>>,
#[xml(child = "AdVerifications", default)]
pub ad_verifications: Option<crate::AdVerifications<'a>>,
#[xml(child = "BlockedAdCategories", default)]
pub blocked_ad_categories: Vec<BlockedAdCategories<'a>>,
#[xml(child = "Creatives", default)]
pub creatives: Option<crate::Creatives<'a>>,
#[xml(flatten_text = "VASTAdTagURI", default)]
pub vast_ad_tag_uri: std::borrow::Cow<'a, str>,
}
#[derive(hard_xml::XmlWrite, hard_xml::XmlRead, Default, PartialEq, Clone, Debug)]
#[xml(tag = "BlockedAdCategories")]
pub struct BlockedAdCategories<'a> {
#[xml(attr = "authority", default)]
pub authority: Option<std::borrow::Cow<'a, str>>,
#[xml(text, default)]
pub codes: std::borrow::Cow<'a, str>,
}