// @generated
/// Implement `DataProvider<TimezoneNamesEssentialsV1>` on the given struct using the data
/// hardcoded in this file. This allows the struct to be used with
/// `icu`'s `_unstable` constructors.
///
/// Using this implementation will embed the following data in the binary's data segment:
/// * 265B for the lookup data structure (51 data identifiers)
/// * 3200B[^1] for the actual data (35 unique structs)
///
/// [^1]: these numbers can be smaller in practice due to linker deduplication
///
/// This macro requires the following crates:
/// * `alloc`
/// * `icu`
/// * `icu_pattern`
/// * `icu_provider`
/// * `icu_provider/baked`
#[doc(hidden)]
#[macro_export]
macro_rules! __impl_timezone_names_essentials_v1 {
($ provider : ty) => {
#[clippy::msrv = "1.88"]
const _: () = <$provider>::MUST_USE_MAKE_PROVIDER_MACRO;
#[clippy::msrv = "1.88"]
impl $provider {
const DATA_TIMEZONE_NAMES_ESSENTIALS_V1: icu_provider::baked::zerotrie::Data<icu::datetime::provider::time_zones::TimezoneNamesEssentialsV1> = {
const TRIE: icu_provider::baked::zerotrie::ZeroTrieSimpleAscii<&'static [u8]> = icu_provider::baked::zerotrie::ZeroTrieSimpleAscii { store: b"\xD4abcdefghiklmnopsuvxy\n\x1C$&/@BEPbft}\x7F\x81\xAA\xB7\xBA\xBE\xC3dmr\x02\x03y\x80\x81\x82\xC5glnrs\x01\x03\x04\x07\x83o\x84\x85\x86x\x87\x85\xC2ek\x02b\x85b\x88a\x89\xC3eot\x01\x02\x8A\x86\x85\xC4afir\x01\x07\x08\x8B-Adlm\x8C\x8D\x8Ea\x8Fe\x90\0\xC3dei\x01\x03\x89\x90\x01\x90\x02\xC3bms\x03\x05d\x90\x03\x90\x04-Deva\x90\x05ij\x90\x06\xC3anr\x03\x06i\x90\x07i\x90\x08\x90\t\xC2dq\x02s\x8Eo\x90\nc\x8Et\x8A\xC7adilruw\x05\x0E\x10\x12\x19\x1A\x90\x0Bt\x90\x0C\x90\r-Deva\x90\x07\x90\x0E\x90\x0F\x89-Latn\x89\x89\x85\xC2nr\x03d\x90\x10\x85-IN\x90\x10ec\x86nr\x90\x11o\x90\x12" };
const VALUES: &'static [<icu::datetime::provider::time_zones::TimezoneNamesEssentialsV1 as icu_provider::baked::zerotrie::DynamicDataMarker>::DataStruct] = &[icu::datetime::provider::time_zones::TimeZoneEssentials { offset_separator: alloc::borrow::Cow::Borrowed(":"), offset_pattern: alloc::borrow::Cow::Borrowed(icu_pattern::Pattern::<icu_pattern::SinglePlaceholder>::from_ref_store_unchecked("\u{8}ГГС ")), offset_unknown: alloc::borrow::Cow::Borrowed("GMT+?") }, icu::datetime::provider::time_zones::TimeZoneEssentials { offset_separator: alloc::borrow::Cow::Borrowed(":"), offset_pattern: alloc::borrow::Cow::Borrowed(icu_pattern::Pattern::<icu_pattern::SinglePlaceholder>::from_ref_store_unchecked("\u{f}ጂ ኤም ቲ")), offset_unknown: alloc::borrow::Cow::Borrowed("ጂ ኤም ቲ+") }, icu::datetime::provider::time_zones::TimeZoneEssentials { offset_separator: alloc::borrow::Cow::Borrowed(":"), offset_pattern: alloc::borrow::Cow::Borrowed(icu_pattern::Pattern::<icu_pattern::SinglePlaceholder>::from_ref_store_unchecked("\rغرينتش")), offset_unknown: alloc::borrow::Cow::Borrowed("غرينتش+?") }, icu::datetime::provider::time_zones::TimeZoneEssentials { offset_separator: alloc::borrow::Cow::Borrowed(":"), offset_pattern: alloc::borrow::Cow::Borrowed(icu_pattern::Pattern::<icu_pattern::SinglePlaceholder>::from_ref_store_unchecked("\u{f}Гринуич")), offset_unknown: alloc::borrow::Cow::Borrowed("Гринуич+?") }, icu::datetime::provider::time_zones::TimeZoneEssentials { offset_separator: alloc::borrow::Cow::Borrowed(":"), offset_pattern: alloc::borrow::Cow::Borrowed(icu_pattern::Pattern::<icu_pattern::SinglePlaceholder>::from_ref_store_unchecked("\u{1} Gk")), offset_unknown: alloc::borrow::Cow::Borrowed("GMT+?") }, icu::datetime::provider::time_zones::TimeZoneEssentials { offset_separator: alloc::borrow::Cow::Borrowed(":"), offset_pattern: alloc::borrow::Cow::Borrowed(icu_pattern::Pattern::<icu_pattern::SinglePlaceholder>::from_ref_store_unchecked("\u{5}GMT ")), offset_unknown: alloc::borrow::Cow::Borrowed("GMT+?") }, icu::datetime::provider::time_zones::TimeZoneEssentials { offset_separator: alloc::borrow::Cow::Borrowed(":"), offset_pattern: alloc::borrow::Cow::Borrowed(icu_pattern::Pattern::<icu_pattern::SinglePlaceholder>::from_ref_store_unchecked("\u{4}UTC")), offset_unknown: alloc::borrow::Cow::Borrowed("UTC+?") }, icu::datetime::provider::time_zones::TimeZoneEssentials { offset_separator: alloc::borrow::Cow::Borrowed(":"), offset_pattern: alloc::borrow::Cow::Borrowed(icu_pattern::Pattern::<icu_pattern::SinglePlaceholder>::from_ref_store_unchecked("\u{16}जि.एम.ति ")), offset_unknown: alloc::borrow::Cow::Borrowed("GMT+?") }, icu::datetime::provider::time_zones::TimeZoneEssentials { offset_separator: alloc::borrow::Cow::Borrowed(":"), offset_pattern: alloc::borrow::Cow::Borrowed(icu_pattern::Pattern::<icu_pattern::SinglePlaceholder>::from_ref_store_unchecked("\u{e}گرینیچ ")), offset_unknown: alloc::borrow::Cow::Borrowed("GMT+?") }, icu::datetime::provider::time_zones::TimeZoneEssentials { offset_separator: alloc::borrow::Cow::Borrowed("."), offset_pattern: alloc::borrow::Cow::Borrowed(icu_pattern::Pattern::<icu_pattern::SinglePlaceholder>::from_ref_store_unchecked("\u{4}GMT")), offset_unknown: alloc::borrow::Cow::Borrowed("GMT+?") }, icu::datetime::provider::time_zones::TimeZoneEssentials { offset_separator: alloc::borrow::Cow::Borrowed(":"), offset_pattern: alloc::borrow::Cow::Borrowed(icu_pattern::Pattern::<icu_pattern::SinglePlaceholder>::from_ref_store_unchecked("\u{1} GMT")), offset_unknown: alloc::borrow::Cow::Borrowed("GMT+?") }, icu::datetime::provider::time_zones::TimeZoneEssentials { offset_separator: alloc::borrow::Cow::Borrowed(":"), offset_pattern: alloc::borrow::Cow::Borrowed(icu_pattern::Pattern::<icu_pattern::SinglePlaceholder>::from_ref_store_unchecked("\u{1} گرینویچ")), offset_unknown: alloc::borrow::Cow::Borrowed("GMT+؟") }, icu::datetime::provider::time_zones::TimeZoneEssentials { offset_separator: alloc::borrow::Cow::Borrowed(":"), offset_pattern: alloc::borrow::Cow::Borrowed(icu_pattern::Pattern::<icu_pattern::SinglePlaceholder>::from_ref_store_unchecked("\r𞤑𞤖𞤘")), offset_unknown: alloc::borrow::Cow::Borrowed("GMT+?") }, icu::datetime::provider::time_zones::TimeZoneEssentials { offset_separator: alloc::borrow::Cow::Borrowed("."), offset_pattern: alloc::borrow::Cow::Borrowed(icu_pattern::Pattern::<icu_pattern::SinglePlaceholder>::from_ref_store_unchecked("\u{4}UTC")), offset_unknown: alloc::borrow::Cow::Borrowed("GMT+?") }, icu::datetime::provider::time_zones::TimeZoneEssentials { offset_separator: alloc::borrow::Cow::Borrowed(":"), offset_pattern: alloc::borrow::Cow::Borrowed(icu_pattern::Pattern::<icu_pattern::SinglePlaceholder>::from_ref_store_unchecked("\u{4}UTC")), offset_unknown: alloc::borrow::Cow::Borrowed("GMT+?") }, icu::datetime::provider::time_zones::TimeZoneEssentials { offset_separator: alloc::borrow::Cow::Borrowed(":"), offset_pattern: alloc::borrow::Cow::Borrowed(icu_pattern::Pattern::<icu_pattern::SinglePlaceholder>::from_ref_store_unchecked("\u{4}MAG")), offset_unknown: alloc::borrow::Cow::Borrowed("GMT+?") }, icu::datetime::provider::time_zones::TimeZoneEssentials { offset_separator: alloc::borrow::Cow::Borrowed(":"), offset_pattern: alloc::borrow::Cow::Borrowed(icu_pattern::Pattern::<icu_pattern::SinglePlaceholder>::from_ref_store_unchecked("\u{4}GMT\u{200e}")), offset_unknown: alloc::borrow::Cow::Borrowed("GMT+?") }, icu::datetime::provider::time_zones::TimeZoneEssentials { offset_separator: alloc::borrow::Cow::Borrowed(":"), offset_pattern: alloc::borrow::Cow::Borrowed(icu_pattern::Pattern::<icu_pattern::SinglePlaceholder>::from_ref_store_unchecked("\u{4}TMG")), offset_unknown: alloc::borrow::Cow::Borrowed("TMG+?") }, icu::datetime::provider::time_zones::TimeZoneEssentials { offset_separator: alloc::borrow::Cow::Borrowed(":"), offset_pattern: alloc::borrow::Cow::Borrowed(icu_pattern::Pattern::<icu_pattern::SinglePlaceholder>::from_ref_store_unchecked("\u{13}ꋧꃅꎕꏦꄮꈉ")), offset_unknown: alloc::borrow::Cow::Borrowed("GMT+?") }, icu::datetime::provider::time_zones::TimeZoneEssentials { offset_separator: alloc::borrow::Cow::Borrowed(":"), offset_pattern: alloc::borrow::Cow::Borrowed(icu_pattern::Pattern::<icu_pattern::SinglePlaceholder>::from_ref_store_unchecked("\u{8}ГКС ")), offset_unknown: alloc::borrow::Cow::Borrowed("GMT+?") }, icu::datetime::provider::time_zones::TimeZoneEssentials { offset_separator: alloc::borrow::Cow::Borrowed(":"), offset_pattern: alloc::borrow::Cow::Borrowed(icu_pattern::Pattern::<icu_pattern::SinglePlaceholder>::from_ref_store_unchecked("\u{1a}ម\u{17c9}ោង\u{200b}សកល ")), offset_unknown: alloc::borrow::Cow::Borrowed("GMT+?") }, icu::datetime::provider::time_zones::TimeZoneEssentials { offset_separator: alloc::borrow::Cow::Borrowed(":"), offset_pattern: alloc::borrow::Cow::Borrowed(icu_pattern::Pattern::<icu_pattern::SinglePlaceholder>::from_ref_store_unchecked("\u{16}जी एम टी ")), offset_unknown: alloc::borrow::Cow::Borrowed("GMT+?") }, icu::datetime::provider::time_zones::TimeZoneEssentials { offset_separator: alloc::borrow::Cow::Borrowed(":"), offset_pattern: alloc::borrow::Cow::Borrowed(icu_pattern::Pattern::<icu_pattern::SinglePlaceholder>::from_ref_store_unchecked("\u{4}GMT")), offset_unknown: alloc::borrow::Cow::Borrowed("UTC+?") }, icu::datetime::provider::time_zones::TimeZoneEssentials { offset_separator: alloc::borrow::Cow::Borrowed(":"), offset_pattern: alloc::borrow::Cow::Borrowed(icu_pattern::Pattern::<icu_pattern::SinglePlaceholder>::from_ref_store_unchecked("\u{13}जीएमटी")), offset_unknown: alloc::borrow::Cow::Borrowed("GMT+?") }, icu::datetime::provider::time_zones::TimeZoneEssentials { offset_separator: alloc::borrow::Cow::Borrowed(":"), offset_pattern: alloc::borrow::Cow::Borrowed(icu_pattern::Pattern::<icu_pattern::SinglePlaceholder>::from_ref_store_unchecked("\u{16}জি এম টি ")), offset_unknown: alloc::borrow::Cow::Borrowed("GMT+?") }, icu::datetime::provider::time_zones::TimeZoneEssentials { offset_separator: alloc::borrow::Cow::Borrowed(":"), offset_pattern: alloc::borrow::Cow::Borrowed(icu_pattern::Pattern::<icu_pattern::SinglePlaceholder>::from_ref_store_unchecked("\u{6}[GMT]")), offset_unknown: alloc::borrow::Cow::Borrowed("GMT+?") }, icu::datetime::provider::time_zones::TimeZoneEssentials { offset_separator: alloc::borrow::Cow::Borrowed(":"), offset_pattern: alloc::borrow::Cow::Borrowed(icu_pattern::Pattern::<icu_pattern::SinglePlaceholder>::from_ref_store_unchecked("\tߜ\u{7ed}ߕߖ")), offset_unknown: alloc::borrow::Cow::Borrowed("GMT+?") }, icu::datetime::provider::time_zones::TimeZoneEssentials { offset_separator: alloc::borrow::Cow::Borrowed(":"), offset_pattern: alloc::borrow::Cow::Borrowed(icu_pattern::Pattern::<icu_pattern::SinglePlaceholder>::from_ref_store_unchecked("\u{17}जी.एम.टी. ")), offset_unknown: alloc::borrow::Cow::Borrowed("GMT+?") }, icu::datetime::provider::time_zones::TimeZoneEssentials { offset_separator: alloc::borrow::Cow::Borrowed(":"), offset_pattern: alloc::borrow::Cow::Borrowed(icu_pattern::Pattern::<icu_pattern::SinglePlaceholder>::from_ref_store_unchecked("\u{13}ᱡᱤᱮᱢᱴᱤ")), offset_unknown: alloc::borrow::Cow::Borrowed("GMT+?") }, icu::datetime::provider::time_zones::TimeZoneEssentials { offset_separator: alloc::borrow::Cow::Borrowed(":"), offset_pattern: alloc::borrow::Cow::Borrowed(icu_pattern::Pattern::<icu_pattern::SinglePlaceholder>::from_ref_store_unchecked("\u{4}GMT")), offset_unknown: alloc::borrow::Cow::Borrowed("GMT+؟") }, icu::datetime::provider::time_zones::TimeZoneEssentials { offset_separator: alloc::borrow::Cow::Borrowed("."), offset_pattern: alloc::borrow::Cow::Borrowed(icu_pattern::Pattern::<icu_pattern::SinglePlaceholder>::from_ref_store_unchecked("\u{19}ග\u{dca}\u{200d}ර\u{dd2}මවේ")), offset_unknown: alloc::borrow::Cow::Borrowed("ග\u{dca}\u{200d}ර\u{dd2}මවේ+?") }, icu::datetime::provider::time_zones::TimeZoneEssentials { offset_separator: alloc::borrow::Cow::Borrowed(":"), offset_pattern: alloc::borrow::Cow::Borrowed(icu_pattern::Pattern::<icu_pattern::SinglePlaceholder>::from_ref_store_unchecked("\u{5}GMT ")), offset_unknown: alloc::borrow::Cow::Borrowed("GMT +?") }, icu::datetime::provider::time_zones::TimeZoneEssentials { offset_separator: alloc::borrow::Cow::Borrowed(":"), offset_pattern: alloc::borrow::Cow::Borrowed(icu_pattern::Pattern::<icu_pattern::SinglePlaceholder>::from_ref_store_unchecked("\u{4}GMT")), offset_unknown: alloc::borrow::Cow::Borrowed("GMT+?") }, icu::datetime::provider::time_zones::TimeZoneEssentials { offset_separator: alloc::borrow::Cow::Borrowed(":"), offset_pattern: alloc::borrow::Cow::Borrowed(icu_pattern::Pattern::<icu_pattern::SinglePlaceholder>::from_ref_store_unchecked("$ग\u{94d}री॰ म\u{948}॰ ट\u{948}॰")), offset_unknown: alloc::borrow::Cow::Borrowed("GMT+?") }, icu::datetime::provider::time_zones::TimeZoneEssentials { offset_separator: alloc::borrow::Cow::Borrowed(":"), offset_pattern: alloc::borrow::Cow::Borrowed(icu_pattern::Pattern::<icu_pattern::SinglePlaceholder>::from_ref_store_unchecked("\u{4}WAT")), offset_unknown: alloc::borrow::Cow::Borrowed("GMT+?") }];
unsafe { icu_provider::baked::zerotrie::Data::from_trie_and_values_unchecked(TRIE, VALUES) }
};
}
#[clippy::msrv = "1.88"]
impl icu_provider::DataProvider<icu::datetime::provider::time_zones::TimezoneNamesEssentialsV1> for $provider {
fn load(&self, req: icu_provider::DataRequest) -> Result<icu_provider::DataResponse<icu::datetime::provider::time_zones::TimezoneNamesEssentialsV1>, icu_provider::DataError> {
let mut metadata = icu_provider::DataResponseMetadata::default();
let payload = if let Some(payload) = icu_provider::baked::DataStore::get(&Self::DATA_TIMEZONE_NAMES_ESSENTIALS_V1, req.id, req.metadata.attributes_prefix_match) {
payload
} else {
const FALLBACKER: icu_locale_fallback::LocaleFallbackerWithConfig<'static> = icu_locale_fallback::LocaleFallbacker::new().for_config(<icu::datetime::provider::time_zones::TimezoneNamesEssentialsV1 as icu_provider::DataMarker>::INFO.fallback_config);
let mut fallback_iterator = FALLBACKER.fallback_for(req.id.locale.clone());
loop {
if let Some(payload) = icu_provider::baked::DataStore::get(&Self::DATA_TIMEZONE_NAMES_ESSENTIALS_V1, icu_provider::DataIdentifierBorrowed::for_marker_attributes_and_locale(req.id.marker_attributes, fallback_iterator.get()), req.metadata.attributes_prefix_match) {
metadata.locale = Some(fallback_iterator.take());
break payload;
}
if fallback_iterator.get().is_unknown() {
return Err(icu_provider::DataErrorKind::IdentifierNotFound.with_req(<icu::datetime::provider::time_zones::TimezoneNamesEssentialsV1 as icu_provider::DataMarker>::INFO, req));
}
fallback_iterator.step();
}
};
Ok(icu_provider::DataResponse { payload, metadata })
}
}
};
($ provider : ty , ITER) => {
__impl_timezone_names_essentials_v1!($provider);
#[clippy::msrv = "1.88"]
impl icu_provider::IterableDataProvider<icu::datetime::provider::time_zones::TimezoneNamesEssentialsV1> for $provider {
fn iter_ids(&self) -> Result<std::collections::BTreeSet<icu_provider::DataIdentifierCow<'static>>, icu_provider::DataError> {
Ok(icu_provider::baked::DataStore::iter(&Self::DATA_TIMEZONE_NAMES_ESSENTIALS_V1).collect())
}
}
};
($ provider : ty , DRY) => {};
($ provider : ty , DRY , ITER) => {
__impl_timezone_names_essentials_v1!($provider, ITER);
};
}
#[doc(inline)]
pub use __impl_timezone_names_essentials_v1 as impl_timezone_names_essentials_v1;