// Copyright (c) 2012, the Dart project authors.  Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.

/**
 * Date/time formatting symbols for a large subset of locales.
 *
 * DO NOT EDIT. This file is autogenerated from ICU data. See
 * 'http://go/generate_datetime_pattern_dart.cc' (Google internal)
 */

library date_time_patterns;

/**
 * Returns a Map from locale names to another Map that goes from skeletons
 * to the locale-specific formatting patterns. Internal use only. Call
 * initializeDateFormatting instead.
 */
Map dateTimePatternMap() => const {
  /**
   * Extended set of localized date/time patterns for locale af.
   */
  'af': const {
    'd': 'd', // DAY
    'E': 'EEE', // ABBR_WEEKDAY
    'EEEE': 'EEEE', // WEEKDAY
    'LLL': 'LLL', // ABBR_STANDALONE_MONTH
    'LLLL': 'LLLL', // STANDALONE_MONTH
    'M': 'L', // NUM_MONTH
    'Md': 'M/d', // NUM_MONTH_DAY
    'MEd': 'EEE, M/d', // NUM_MONTH_WEEKDAY_DAY
    'MMM': 'LLL', // ABBR_MONTH
    'MMMd': 'MMM d', // ABBR_MONTH_DAY
    'MMMEd': 'EEE, MMM d', // ABBR_MONTH_WEEKDAY_DAY
    'MMMM': 'LLLL', // MONTH
    'MMMMd': 'MMMM d', // MONTH_DAY
    'MMMMEEEEd': 'EEEE, MMMM d', // MONTH_WEEKDAY_DAY
    'QQQ': 'QQQ', // ABBR_QUARTER
    'QQQQ': 'QQQQ', // QUARTER
    'y': 'y', // YEAR
    'yM': 'M/y', // YEAR_NUM_MONTH
    'yMd': 'M/d/y', // YEAR_NUM_MONTH_DAY
    'yMEd': 'EEE, y-M-d', // YEAR_NUM_MONTH_WEEKDAY_DAY
    'yMMM': 'MMM y', // YEAR_ABBR_MONTH
    'yMMMd': 'd MMM y', // YEAR_ABBR_MONTH_DAY
    'yMMMEd': 'EEE, MMM d, y', // YEAR_ABBR_MONTH_WEEKDAY_DAY
    'yMMMM': 'MMMM y', // YEAR_MONTH
    'yMMMMd': 'd MMMM y', // YEAR_MONTH_DAY
    'yMMMMEEEEd': 'EEEE d MMMM y', // YEAR_MONTH_WEEKDAY_DAY
    'yQQQ': 'QQQ y', // YEAR_ABBR_QUARTER
    'yQQQQ': 'QQQQ y', // YEAR_QUARTER
    'H': 'HH', // HOUR24
    'Hm': 'HH:mm', // HOUR24_MINUTE
    'Hms': 'HH:mm:ss', // HOUR24_MINUTE_SECOND
    'j': 'h a', // HOUR
    'jm': 'h:mm a', // HOUR_MINUTE
    'jms': 'h:mm:ss a', // HOUR_MINUTE_SECOND
    'jmv': 'h:mm a v', // HOUR_MINUTE_GENERIC_TZ
    'jmz': 'h:mm a z', // HOUR_MINUTETZ
    'jz': 'h a z', // HOURGENERIC_TZ
    'm': 'm', // MINUTE
    'ms': 'mm:ss', // MINUTE_SECOND
    's': 's', // SECOND
    'v': 'v', // ABBR_GENERIC_TZ
    'z': 'z', // ABBR_SPECIFIC_TZ
    'zzzz': 'zzzz', // SPECIFIC_TZ
    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
  },

  /**
   * Extended set of localized date/time patterns for locale am.
   */
  'am': const {
    'd': 'd', // DAY
    'E': 'EEE', // ABBR_WEEKDAY
    'EEEE': 'EEEE', // WEEKDAY
    'LLL': 'LLL', // ABBR_STANDALONE_MONTH
    'LLLL': 'LLLL', // STANDALONE_MONTH
    'M': 'L', // NUM_MONTH
    'Md': 'M/d', // NUM_MONTH_DAY
    'MEd': 'EEE, M/d', // NUM_MONTH_WEEKDAY_DAY
    'MMM': 'LLL', // ABBR_MONTH
    'MMMd': 'MMM d', // ABBR_MONTH_DAY
    'MMMEd': 'EEE, MMM d', // ABBR_MONTH_WEEKDAY_DAY
    'MMMM': 'LLLL', // MONTH
    'MMMMd': 'MMMM d', // MONTH_DAY
    'MMMMEEEEd': 'EEEE, MMMM d', // MONTH_WEEKDAY_DAY
    'QQQ': 'QQQ', // ABBR_QUARTER
    'QQQQ': 'QQQQ', // QUARTER
    'y': 'y', // YEAR
    'yM': 'M/y', // YEAR_NUM_MONTH
    'yMd': 'd/M/y', // YEAR_NUM_MONTH_DAY
    'yMEd': 'EEE, M/d/y', // YEAR_NUM_MONTH_WEEKDAY_DAY
    'yMMM': 'MMM y', // YEAR_ABBR_MONTH
    'yMMMd': 'd MMM y', // YEAR_ABBR_MONTH_DAY
    'yMMMEd': 'EEE, MMM d, y', // YEAR_ABBR_MONTH_WEEKDAY_DAY
    'yMMMM': 'MMMM y', // YEAR_MONTH
    'yMMMMd': 'd MMMM y', // YEAR_MONTH_DAY
    'yMMMMEEEEd': 'EEEE, d MMMM y', // YEAR_MONTH_WEEKDAY_DAY
    'yQQQ': 'QQQ y', // YEAR_ABBR_QUARTER
    'yQQQQ': 'QQQQ y', // YEAR_QUARTER
    'H': 'H', // HOUR24
    'Hm': 'HH:mm', // HOUR24_MINUTE
    'Hms': 'HH:mm:ss', // HOUR24_MINUTE_SECOND
    'j': 'h a', // HOUR
    'jm': 'h:mm a', // HOUR_MINUTE
    'jms': 'h:mm:ss a', // HOUR_MINUTE_SECOND
    'jmv': 'h:mm a v', // HOUR_MINUTE_GENERIC_TZ
    'jmz': 'h:mm a z', // HOUR_MINUTETZ
    'jz': 'h a z', // HOURGENERIC_TZ
    'm': 'm', // MINUTE
    'ms': 'mm:ss', // MINUTE_SECOND
    's': 's', // SECOND
    'v': 'v', // ABBR_GENERIC_TZ
    'z': 'z', // ABBR_SPECIFIC_TZ
    'zzzz': 'zzzz', // SPECIFIC_TZ
    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
  },

  /**
   * Extended set of localized date/time patterns for locale ar.
   */
  'ar': const {
    'd': 'd', // DAY
    'E': 'EEE', // ABBR_WEEKDAY
    'EEEE': 'EEEE', // WEEKDAY
    'LLL': 'LLL', // ABBR_STANDALONE_MONTH
    'LLLL': 'LLLL', // STANDALONE_MONTH
    'M': 'L', // NUM_MONTH
    'Md': 'd‏/M', // NUM_MONTH_DAY
    'MEd': 'EEE، d/M', // NUM_MONTH_WEEKDAY_DAY
    'MMM': 'LLL', // ABBR_MONTH
    'MMMd': 'd MMM', // ABBR_MONTH_DAY
    'MMMEd': 'EEE d MMM', // ABBR_MONTH_WEEKDAY_DAY
    'MMMM': 'LLLL', // MONTH
    'MMMMd': 'd MMMM', // MONTH_DAY
    'MMMMEEEEd': 'EEEE d MMMM', // MONTH_WEEKDAY_DAY
    'QQQ': 'QQQ', // ABBR_QUARTER
    'QQQQ': 'QQQQ', // QUARTER
    'y': 'y', // YEAR
    'yM': 'M‏/yyyy', // YEAR_NUM_MONTH
    'yMd': 'd‏/M‏/yyyy', // YEAR_NUM_MONTH_DAY
    'yMEd': 'EEE، d/‏M/‏yyyy', // YEAR_NUM_MONTH_WEEKDAY_DAY
    'yMMM': 'MMM y', // YEAR_ABBR_MONTH
    'yMMMd': 'd MMM، y', // YEAR_ABBR_MONTH_DAY
    'yMMMEd': 'EEE، d MMM، y', // YEAR_ABBR_MONTH_WEEKDAY_DAY
    'yMMMM': 'MMMM y', // YEAR_MONTH
    'yMMMMd': 'd MMMM، y', // YEAR_MONTH_DAY
    'yMMMMEEEEd': 'EEEE، d MMMM، y', // YEAR_MONTH_WEEKDAY_DAY
    'yQQQ': 'y QQQ', // YEAR_ABBR_QUARTER
    'yQQQQ': 'y QQQQ', // YEAR_QUARTER
    'H': 'HH', // HOUR24
    'Hm': 'HH:mm', // HOUR24_MINUTE
    'Hms': 'HH:mm:ss', // HOUR24_MINUTE_SECOND
    'j': 'h a', // HOUR
    'jm': 'h:mm a', // HOUR_MINUTE
    'jms': 'h:mm:ss a', // HOUR_MINUTE_SECOND
    'jmv': 'h:mm a v', // HOUR_MINUTE_GENERIC_TZ
    'jmz': 'h:mm a z', // HOUR_MINUTETZ
    'jz': 'h a z', // HOURGENERIC_TZ
    'm': 'm', // MINUTE
    'ms': 'mm:ss', // MINUTE_SECOND
    's': 's', // SECOND
    'v': 'v', // ABBR_GENERIC_TZ
    'z': 'z', // ABBR_SPECIFIC_TZ
    'zzzz': 'zzzz', // SPECIFIC_TZ
    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
  },

  /**
   * Extended set of localized date/time patterns for locale bg.
   */
  'bg': const {
    'd': 'd', // DAY
    'E': 'EEE', // ABBR_WEEKDAY
    'EEEE': 'EEEE', // WEEKDAY
    'LLL': 'LLL', // ABBR_STANDALONE_MONTH
    'LLLL': 'LLLL', // STANDALONE_MONTH
    'M': 'L', // NUM_MONTH
    'Md': 'd.M', // NUM_MONTH_DAY
    'MEd': 'EEE, d.MM', // NUM_MONTH_WEEKDAY_DAY
    'MMM': 'LLL', // ABBR_MONTH
    'MMMd': 'd MMM', // ABBR_MONTH_DAY
    'MMMEd': 'd MMM, EEE', // ABBR_MONTH_WEEKDAY_DAY
    'MMMM': 'LLLL', // MONTH
    'MMMMd': 'd MMMM', // MONTH_DAY
    'MMMMEEEEd': 'd MMMM, EEEE', // MONTH_WEEKDAY_DAY
    'QQQ': 'QQQ', // ABBR_QUARTER
    'QQQQ': 'QQQQ', // QUARTER
    'y': 'y \'г\'.', // YEAR
    'yM': 'M.y \'г\'.', // YEAR_NUM_MONTH
    'yMd': 'dd.MM.yy', // YEAR_NUM_MONTH_DAY
    'yMEd': 'EEE, d.MM.y \'г\'.', // YEAR_NUM_MONTH_WEEKDAY_DAY
    'yMMM': 'MMM y \'г\'.', // YEAR_ABBR_MONTH
    'yMMMd': 'dd MMM y', // YEAR_ABBR_MONTH_DAY
    'yMMMEd': 'EEE, d MMM y \'г\'.', // YEAR_ABBR_MONTH_WEEKDAY_DAY
    'yMMMM': 'MMMM y \'г\'.', // YEAR_MONTH
    'yMMMMd': 'd MMMM y', // YEAR_MONTH_DAY
    'yMMMMEEEEd': 'd MMMM y, EEEE', // YEAR_MONTH_WEEKDAY_DAY
    'yQQQ': 'QQQ y \'г\'.', // YEAR_ABBR_QUARTER
    'yQQQQ': 'QQQQ y \'г\'.', // YEAR_QUARTER
    'H': 'HH', // HOUR24
    'Hm': 'HH:mm', // HOUR24_MINUTE
    'Hms': 'HH:mm:ss', // HOUR24_MINUTE_SECOND
    'j': 'HH', // HOUR
    'jm': 'HH:mm', // HOUR_MINUTE
    'jms': 'HH:mm:ss', // HOUR_MINUTE_SECOND
    'jmv': 'HH:mm v', // HOUR_MINUTE_GENERIC_TZ
    'jmz': 'HH:mm z', // HOUR_MINUTETZ
    'jz': 'HH z', // HOURGENERIC_TZ
    'm': 'm', // MINUTE
    'ms': 'mm:ss', // MINUTE_SECOND
    's': 's', // SECOND
    'v': 'v', // ABBR_GENERIC_TZ
    'z': 'z', // ABBR_SPECIFIC_TZ
    'zzzz': 'zzzz', // SPECIFIC_TZ
    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
  },

  /**
   * Extended set of localized date/time patterns for locale bn.
   */
  'bn': const {
    'd': 'd', // DAY
    'E': 'EEE', // ABBR_WEEKDAY
    'EEEE': 'EEEE', // WEEKDAY
    'LLL': 'LLL', // ABBR_STANDALONE_MONTH
    'LLLL': 'LLLL', // STANDALONE_MONTH
    'M': 'L', // NUM_MONTH
    'Md': 'd-M', // NUM_MONTH_DAY
    'MEd': 'EEE, d-M', // NUM_MONTH_WEEKDAY_DAY
    'MMM': 'LLL', // ABBR_MONTH
    'MMMd': 'd MMM', // ABBR_MONTH_DAY
    'MMMEd': 'EEE d MMM', // ABBR_MONTH_WEEKDAY_DAY
    'MMMM': 'LLLL', // MONTH
    'MMMMd': 'd MMMM', // MONTH_DAY
    'MMMMEEEEd': 'EEEE d MMMM', // MONTH_WEEKDAY_DAY
    'QQQ': 'QQQ', // ABBR_QUARTER
    'QQQQ': 'QQQQ', // QUARTER
    'y': 'y', // YEAR
    'yM': 'M/yyyy', // YEAR_NUM_MONTH
    'yMd': 'd/M/y', // YEAR_NUM_MONTH_DAY
    'yMEd': 'EEE, d/M/y', // YEAR_NUM_MONTH_WEEKDAY_DAY
    'yMMM': 'MMM y', // YEAR_ABBR_MONTH
    'yMMMd': 'd MMM, y', // YEAR_ABBR_MONTH_DAY
    'yMMMEd': 'EEE, d MMM, y', // YEAR_ABBR_MONTH_WEEKDAY_DAY
    'yMMMM': 'MMMM y', // YEAR_MONTH
    'yMMMMd': 'd MMMM, y', // YEAR_MONTH_DAY
    'yMMMMEEEEd': 'EEEE, d MMMM, y', // YEAR_MONTH_WEEKDAY_DAY
    'yQQQ': 'QQQ y', // YEAR_ABBR_QUARTER
    'yQQQQ': 'QQQQ y', // YEAR_QUARTER
    'H': 'HH', // HOUR24
    'Hm': 'HH:mm', // HOUR24_MINUTE
    'Hms': 'HH:mm:ss', // HOUR24_MINUTE_SECOND
    'j': 'h a', // HOUR
    'jm': 'h:mm a', // HOUR_MINUTE
    'jms': 'h:mm:ss a', // HOUR_MINUTE_SECOND
    'jmv': 'h:mm a v', // HOUR_MINUTE_GENERIC_TZ
    'jmz': 'h:mm a z', // HOUR_MINUTETZ
    'jz': 'h a z', // HOURGENERIC_TZ
    'm': 'm', // MINUTE
    'ms': 'mm:ss', // MINUTE_SECOND
    's': 's', // SECOND
    'v': 'v', // ABBR_GENERIC_TZ
    'z': 'z', // ABBR_SPECIFIC_TZ
    'zzzz': 'zzzz', // SPECIFIC_TZ
    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
  },

  /**
   * Extended set of localized date/time patterns for locale ca.
   */
  'ca': const {
    'd': 'd', // DAY
    'E': 'EEE', // ABBR_WEEKDAY
    'EEEE': 'EEEE', // WEEKDAY
    'LLL': 'LLL', // ABBR_STANDALONE_MONTH
    'LLLL': 'LLLL', // STANDALONE_MONTH
    'M': 'L', // NUM_MONTH
    'Md': 'd/M', // NUM_MONTH_DAY
    'MEd': 'EEE d/M', // NUM_MONTH_WEEKDAY_DAY
    'MMM': 'LLL', // ABBR_MONTH
    'MMMd': 'd MMM', // ABBR_MONTH_DAY
    'MMMEd': 'EEE d MMM', // ABBR_MONTH_WEEKDAY_DAY
    'MMMM': 'LLLL', // MONTH
    'MMMMd': 'd MMMM', // MONTH_DAY
    'MMMMEEEEd': 'EEEE d MMMM', // MONTH_WEEKDAY_DAY
    'QQQ': 'QQQ', // ABBR_QUARTER
    'QQQQ': 'QQQQ', // QUARTER
    'y': 'y', // YEAR
    'yM': 'M/yyyy', // YEAR_NUM_MONTH
    'yMd': 'd/M/yyyy', // YEAR_NUM_MONTH_DAY
    'yMEd': 'EEE d/M/yyyy', // YEAR_NUM_MONTH_WEEKDAY_DAY
    'yMMM': 'LLL y', // YEAR_ABBR_MONTH
    'yMMMd': 'd MMM y', // YEAR_ABBR_MONTH_DAY
    'yMMMEd': 'EEE d MMM y', // YEAR_ABBR_MONTH_WEEKDAY_DAY
    'yMMMM': 'LLLL \'de\' y', // YEAR_MONTH
    'yMMMMd': 'd MMMM \'de\' y', // YEAR_MONTH_DAY
    'yMMMMEEEEd': 'EEEE d MMMM \'de\' y', // YEAR_MONTH_WEEKDAY_DAY
    'yQQQ': 'QQQ y', // YEAR_ABBR_QUARTER
    'yQQQQ': 'QQQQ y', // YEAR_QUARTER
    'H': 'H', // HOUR24
    'Hm': 'H:mm', // HOUR24_MINUTE
    'Hms': 'H:mm:ss', // HOUR24_MINUTE_SECOND
    'j': 'H', // HOUR
    'jm': 'H:mm', // HOUR_MINUTE
    'jms': 'H:mm:ss', // HOUR_MINUTE_SECOND
    'jmv': 'H:mm v', // HOUR_MINUTE_GENERIC_TZ
    'jmz': 'H:mm z', // HOUR_MINUTETZ
    'jz': 'H z', // HOURGENERIC_TZ
    'm': 'm', // MINUTE
    'ms': 'mm:ss', // MINUTE_SECOND
    's': 's', // SECOND
    'v': 'v', // ABBR_GENERIC_TZ
    'z': 'z', // ABBR_SPECIFIC_TZ
    'zzzz': 'zzzz', // SPECIFIC_TZ
    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
  },

  /**
   * Extended set of localized date/time patterns for locale cs.
   */
  'cs': const {
    'd': 'd.', // DAY
    'E': 'EEE', // ABBR_WEEKDAY
    'EEEE': 'EEEE', // WEEKDAY
    'LLL': 'LLL', // ABBR_STANDALONE_MONTH
    'LLLL': 'LLLL', // STANDALONE_MONTH
    'M': 'L', // NUM_MONTH
    'Md': 'd. M.', // NUM_MONTH_DAY
    'MEd': 'EEE, d. M.', // NUM_MONTH_WEEKDAY_DAY
    'MMM': 'LLL', // ABBR_MONTH
    'MMMd': 'd. MMM', // ABBR_MONTH_DAY
    'MMMEd': 'EEE, d. MMM', // ABBR_MONTH_WEEKDAY_DAY
    'MMMM': 'LLLL', // MONTH
    'MMMMd': 'd. MMMM', // MONTH_DAY
    'MMMMEEEEd': 'EEEE, d. MMMM', // MONTH_WEEKDAY_DAY
    'QQQ': 'QQQ', // ABBR_QUARTER
    'QQQQ': 'QQQQ', // QUARTER
    'y': 'y', // YEAR
    'yM': 'M.y', // YEAR_NUM_MONTH
    'yMd': 'd. M. y', // YEAR_NUM_MONTH_DAY
    'yMEd': 'EEE, d. M. y', // YEAR_NUM_MONTH_WEEKDAY_DAY
    'yMMM': 'LLL y', // YEAR_ABBR_MONTH
    'yMMMd': 'd. MMM y', // YEAR_ABBR_MONTH_DAY
    'yMMMEd': 'EEE, d. MMM y', // YEAR_ABBR_MONTH_WEEKDAY_DAY
    'yMMMM': 'LLLL y', // YEAR_MONTH
    'yMMMMd': 'd. MMMM y', // YEAR_MONTH_DAY
    'yMMMMEEEEd': 'EEEE, d. MMMM y', // YEAR_MONTH_WEEKDAY_DAY
    'yQQQ': 'QQQ y', // YEAR_ABBR_QUARTER
    'yQQQQ': 'QQQQ y', // YEAR_QUARTER
    'H': 'H', // HOUR24
    'Hm': 'H:mm', // HOUR24_MINUTE
    'Hms': 'H:mm:ss', // HOUR24_MINUTE_SECOND
    'j': 'H', // HOUR
    'jm': 'H:mm', // HOUR_MINUTE
    'jms': 'H:mm:ss', // HOUR_MINUTE_SECOND
    'jmv': 'H:mm v', // HOUR_MINUTE_GENERIC_TZ
    'jmz': 'H:mm z', // HOUR_MINUTETZ
    'jz': 'H z', // HOURGENERIC_TZ
    'm': 'm', // MINUTE
    'ms': 'mm:ss', // MINUTE_SECOND
    's': 's', // SECOND
    'v': 'v', // ABBR_GENERIC_TZ
    'z': 'z', // ABBR_SPECIFIC_TZ
    'zzzz': 'zzzz', // SPECIFIC_TZ
    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
  },

  /**
   * Extended set of localized date/time patterns for locale da.
   */
  'da': const {
    'd': 'd.', // DAY
    'E': 'EEE', // ABBR_WEEKDAY
    'EEEE': 'EEEE', // WEEKDAY
    'LLL': 'MMM', // ABBR_STANDALONE_MONTH
    'LLLL': 'MMMM', // STANDALONE_MONTH
    'M': 'M', // NUM_MONTH
    'Md': 'd/M', // NUM_MONTH_DAY
    'MEd': 'EEE. d/M', // NUM_MONTH_WEEKDAY_DAY
    'MMM': 'MMM', // ABBR_MONTH
    'MMMd': 'd. MMM', // ABBR_MONTH_DAY
    'MMMEd': 'EEE d. MMM', // ABBR_MONTH_WEEKDAY_DAY
    'MMMM': 'MMMM', // MONTH
    'MMMMd': 'd. MMMM', // MONTH_DAY
    'MMMMEEEEd': 'EEEE d. MMMM', // MONTH_WEEKDAY_DAY
    'QQQ': 'QQQ', // ABBR_QUARTER
    'QQQQ': 'QQQQ', // QUARTER
    'y': 'y', // YEAR
    'yM': 'M/y', // YEAR_NUM_MONTH
    'yMd': 'd/M/y', // YEAR_NUM_MONTH_DAY
    'yMEd': 'EEE. d/M/y', // YEAR_NUM_MONTH_WEEKDAY_DAY
    'yMMM': 'MMM y', // YEAR_ABBR_MONTH
    'yMMMd': 'd. MMM y', // YEAR_ABBR_MONTH_DAY
    'yMMMEd': 'EEE. d. MMM y', // YEAR_ABBR_MONTH_WEEKDAY_DAY
    'yMMMM': 'MMMM y', // YEAR_MONTH
    'yMMMMd': 'd. MMMM y', // YEAR_MONTH_DAY
    'yMMMMEEEEd': 'EEEE \'den\' d. MMMM y', // YEAR_MONTH_WEEKDAY_DAY
    'yQQQ': 'QQQ y', // YEAR_ABBR_QUARTER
    'yQQQQ': 'QQQQ y', // YEAR_QUARTER
    'H': 'HH', // HOUR24
    'Hm': 'HH.mm', // HOUR24_MINUTE
    'Hms': 'HH.mm.ss', // HOUR24_MINUTE_SECOND
    'j': 'HH', // HOUR
    'jm': 'HH.mm', // HOUR_MINUTE
    'jms': 'HH.mm.ss', // HOUR_MINUTE_SECOND
    'jmv': 'HH.mm v', // HOUR_MINUTE_GENERIC_TZ
    'jmz': 'HH.mm z', // HOUR_MINUTETZ
    'jz': 'HH z', // HOURGENERIC_TZ
    'm': 'm', // MINUTE
    'ms': 'mm.ss', // MINUTE_SECOND
    's': 's', // SECOND
    'v': 'v', // ABBR_GENERIC_TZ
    'z': 'z', // ABBR_SPECIFIC_TZ
    'zzzz': 'zzzz', // SPECIFIC_TZ
    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
  },

  /**
   * Extended set of localized date/time patterns for locale de.
   */
  'de': const {
    'd': 'd', // DAY
    'E': 'EEE', // ABBR_WEEKDAY
    'EEEE': 'EEEE', // WEEKDAY
    'LLL': 'LLL', // ABBR_STANDALONE_MONTH
    'LLLL': 'LLLL', // STANDALONE_MONTH
    'M': 'L', // NUM_MONTH
    'Md': 'd.M.', // NUM_MONTH_DAY
    'MEd': 'EEE, d.M.', // NUM_MONTH_WEEKDAY_DAY
    'MMM': 'LLL', // ABBR_MONTH
    'MMMd': 'd. MMM', // ABBR_MONTH_DAY
    'MMMEd': 'EEE, d. MMM', // ABBR_MONTH_WEEKDAY_DAY
    'MMMM': 'LLLL', // MONTH
    'MMMMd': 'd. MMMM', // MONTH_DAY
    'MMMMEEEEd': 'EEEE, d. MMMM', // MONTH_WEEKDAY_DAY
    'QQQ': 'QQQ', // ABBR_QUARTER
    'QQQQ': 'QQQQ', // QUARTER
    'y': 'y', // YEAR
    'yM': 'M.y', // YEAR_NUM_MONTH
    'yMd': 'd.M.y', // YEAR_NUM_MONTH_DAY
    'yMEd': 'EEE, d.M.y', // YEAR_NUM_MONTH_WEEKDAY_DAY
    'yMMM': 'MMM y', // YEAR_ABBR_MONTH
    'yMMMd': 'd. MMM y', // YEAR_ABBR_MONTH_DAY
    'yMMMEd': 'EEE, d. MMM y', // YEAR_ABBR_MONTH_WEEKDAY_DAY
    'yMMMM': 'MMMM y', // YEAR_MONTH
    'yMMMMd': 'd. MMMM y', // YEAR_MONTH_DAY
    'yMMMMEEEEd': 'EEEE, d. MMMM y', // YEAR_MONTH_WEEKDAY_DAY
    'yQQQ': 'QQQ y', // YEAR_ABBR_QUARTER
    'yQQQQ': 'QQQQ y', // YEAR_QUARTER
    'H': 'HH \'Uhr\'', // HOUR24
    'Hm': 'HH:mm', // HOUR24_MINUTE
    'Hms': 'HH:mm:ss', // HOUR24_MINUTE_SECOND
    'j': 'HH \'Uhr\'', // HOUR
    'jm': 'HH:mm', // HOUR_MINUTE
    'jms': 'HH:mm:ss', // HOUR_MINUTE_SECOND
    'jmv': 'HH:mm v', // HOUR_MINUTE_GENERIC_TZ
    'jmz': 'HH:mm z', // HOUR_MINUTETZ
    'jz': 'HH \'Uhr\' z', // HOURGENERIC_TZ
    'm': 'm', // MINUTE
    'ms': 'mm:ss', // MINUTE_SECOND
    's': 's', // SECOND
    'v': 'v', // ABBR_GENERIC_TZ
    'z': 'z', // ABBR_SPECIFIC_TZ
    'zzzz': 'zzzz', // SPECIFIC_TZ
    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
  },

  /**
   * Extended set of localized date/time patterns for locale de_AT.
   */
  'de_AT': const {
    'd': 'd', // DAY
    'E': 'EEE', // ABBR_WEEKDAY
    'EEEE': 'EEEE', // WEEKDAY
    'LLL': 'LLL', // ABBR_STANDALONE_MONTH
    'LLLL': 'LLLL', // STANDALONE_MONTH
    'M': 'L', // NUM_MONTH
    'Md': 'd.M.', // NUM_MONTH_DAY
    'MEd': 'EEE, d.M.', // NUM_MONTH_WEEKDAY_DAY
    'MMM': 'LLL', // ABBR_MONTH
    'MMMd': 'd. MMM', // ABBR_MONTH_DAY
    'MMMEd': 'EEE, d. MMM', // ABBR_MONTH_WEEKDAY_DAY
    'MMMM': 'LLLL', // MONTH
    'MMMMd': 'd. MMMM', // MONTH_DAY
    'MMMMEEEEd': 'EEEE, d. MMMM', // MONTH_WEEKDAY_DAY
    'QQQ': 'QQQ', // ABBR_QUARTER
    'QQQQ': 'QQQQ', // QUARTER
    'y': 'y', // YEAR
    'yM': 'M.y', // YEAR_NUM_MONTH
    'yMd': 'd.M.y', // YEAR_NUM_MONTH_DAY
    'yMEd': 'EEE, d.M.y', // YEAR_NUM_MONTH_WEEKDAY_DAY
    'yMMM': 'MMM y', // YEAR_ABBR_MONTH
    'yMMMd': 'd. MMM y', // YEAR_ABBR_MONTH_DAY
    'yMMMEd': 'EEE, d. MMM y', // YEAR_ABBR_MONTH_WEEKDAY_DAY
    'yMMMM': 'MMMM y', // YEAR_MONTH
    'yMMMMd': 'd. MMMM y', // YEAR_MONTH_DAY
    'yMMMMEEEEd': 'EEEE, d. MMMM y', // YEAR_MONTH_WEEKDAY_DAY
    'yQQQ': 'QQQ y', // YEAR_ABBR_QUARTER
    'yQQQQ': 'QQQQ y', // YEAR_QUARTER
    'H': 'HH \'Uhr\'', // HOUR24
    'Hm': 'HH:mm', // HOUR24_MINUTE
    'Hms': 'HH:mm:ss', // HOUR24_MINUTE_SECOND
    'j': 'HH \'Uhr\'', // HOUR
    'jm': 'HH:mm', // HOUR_MINUTE
    'jms': 'HH:mm:ss', // HOUR_MINUTE_SECOND
    'jmv': 'HH:mm v', // HOUR_MINUTE_GENERIC_TZ
    'jmz': 'HH:mm z', // HOUR_MINUTETZ
    'jz': 'HH \'Uhr\' z', // HOURGENERIC_TZ
    'm': 'm', // MINUTE
    'ms': 'mm:ss', // MINUTE_SECOND
    's': 's', // SECOND
    'v': 'v', // ABBR_GENERIC_TZ
    'z': 'z', // ABBR_SPECIFIC_TZ
    'zzzz': 'zzzz', // SPECIFIC_TZ
    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
  },

  /**
   * Extended set of localized date/time patterns for locale de_CH.
   */
  'de_CH': const {
    'd': 'd', // DAY
    'E': 'EEE', // ABBR_WEEKDAY
    'EEEE': 'EEEE', // WEEKDAY
    'LLL': 'LLL', // ABBR_STANDALONE_MONTH
    'LLLL': 'LLLL', // STANDALONE_MONTH
    'M': 'L', // NUM_MONTH
    'Md': 'd.M.', // NUM_MONTH_DAY
    'MEd': 'EEE, d.M.', // NUM_MONTH_WEEKDAY_DAY
    'MMM': 'LLL', // ABBR_MONTH
    'MMMd': 'd. MMM', // ABBR_MONTH_DAY
    'MMMEd': 'EEE, d. MMM', // ABBR_MONTH_WEEKDAY_DAY
    'MMMM': 'LLLL', // MONTH
    'MMMMd': 'd. MMMM', // MONTH_DAY
    'MMMMEEEEd': 'EEEE, d. MMMM', // MONTH_WEEKDAY_DAY
    'QQQ': 'QQQ', // ABBR_QUARTER
    'QQQQ': 'QQQQ', // QUARTER
    'y': 'y', // YEAR
    'yM': 'M.y', // YEAR_NUM_MONTH
    'yMd': 'd.M.y', // YEAR_NUM_MONTH_DAY
    'yMEd': 'EEE, d.M.y', // YEAR_NUM_MONTH_WEEKDAY_DAY
    'yMMM': 'MMM y', // YEAR_ABBR_MONTH
    'yMMMd': 'd. MMM y', // YEAR_ABBR_MONTH_DAY
    'yMMMEd': 'EEE, d. MMM y', // YEAR_ABBR_MONTH_WEEKDAY_DAY
    'yMMMM': 'MMMM y', // YEAR_MONTH
    'yMMMMd': 'd. MMMM y', // YEAR_MONTH_DAY
    'yMMMMEEEEd': 'EEEE, d. MMMM y', // YEAR_MONTH_WEEKDAY_DAY
    'yQQQ': 'QQQ y', // YEAR_ABBR_QUARTER
    'yQQQQ': 'QQQQ y', // YEAR_QUARTER
    'H': 'HH \'Uhr\'', // HOUR24
    'Hm': 'HH:mm', // HOUR24_MINUTE
    'Hms': 'HH:mm:ss', // HOUR24_MINUTE_SECOND
    'j': 'HH \'Uhr\'', // HOUR
    'jm': 'HH:mm', // HOUR_MINUTE
    'jms': 'HH:mm:ss', // HOUR_MINUTE_SECOND
    'jmv': 'HH:mm v', // HOUR_MINUTE_GENERIC_TZ
    'jmz': 'HH:mm z', // HOUR_MINUTETZ
    'jz': 'HH \'Uhr\' z', // HOURGENERIC_TZ
    'm': 'm', // MINUTE
    'ms': 'mm:ss', // MINUTE_SECOND
    's': 's', // SECOND
    'v': 'v', // ABBR_GENERIC_TZ
    'z': 'z', // ABBR_SPECIFIC_TZ
    'zzzz': 'zzzz', // SPECIFIC_TZ
    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
  },

  /**
   * Extended set of localized date/time patterns for locale el.
   */
  'el': const {
    'd': 'd', // DAY
    'E': 'EEE', // ABBR_WEEKDAY
    'EEEE': 'EEEE', // WEEKDAY
    'LLL': 'LLL', // ABBR_STANDALONE_MONTH
    'LLLL': 'LLLL', // STANDALONE_MONTH
    'M': 'L', // NUM_MONTH
    'Md': 'd/M', // NUM_MONTH_DAY
    'MEd': 'EEE, d/M', // NUM_MONTH_WEEKDAY_DAY
    'MMM': 'LLL', // ABBR_MONTH
    'MMMd': 'd MMM', // ABBR_MONTH_DAY
    'MMMEd': 'EEE, d MMM', // ABBR_MONTH_WEEKDAY_DAY
    'MMMM': 'LLLL', // MONTH
    'MMMMd': 'd MMMM', // MONTH_DAY
    'MMMMEEEEd': 'EEEE, d MMMM', // MONTH_WEEKDAY_DAY
    'QQQ': 'QQQ', // ABBR_QUARTER
    'QQQQ': 'QQQQ', // QUARTER
    'y': 'y', // YEAR
    'yM': 'M/yyyy', // YEAR_NUM_MONTH
    'yMd': 'd/M/yyyy', // YEAR_NUM_MONTH_DAY
    'yMEd': 'EEE, d/M/yyyy', // YEAR_NUM_MONTH_WEEKDAY_DAY
    'yMMM': 'LLL y', // YEAR_ABBR_MONTH
    'yMMMd': 'd MMM y', // YEAR_ABBR_MONTH_DAY
    'yMMMEd': 'EEE, d MMM y', // YEAR_ABBR_MONTH_WEEKDAY_DAY
    'yMMMM': 'LLLL y', // YEAR_MONTH
    'yMMMMd': 'd MMMM y', // YEAR_MONTH_DAY
    'yMMMMEEEEd': 'EEEE, d MMMM y', // YEAR_MONTH_WEEKDAY_DAY
    'yQQQ': 'y QQQ', // YEAR_ABBR_QUARTER
    'yQQQQ': 'y QQQQ', // YEAR_QUARTER
    'H': 'HH', // HOUR24
    'Hm': 'HH:mm', // HOUR24_MINUTE
    'Hms': 'HH:mm:ss', // HOUR24_MINUTE_SECOND
    'j': 'h a', // HOUR
    'jm': 'h:mm a', // HOUR_MINUTE
    'jms': 'h:mm:ss a', // HOUR_MINUTE_SECOND
    'jmv': 'h:mm a v', // HOUR_MINUTE_GENERIC_TZ
    'jmz': 'h:mm a z', // HOUR_MINUTETZ
    'jz': 'h a z', // HOURGENERIC_TZ
    'm': 'm', // MINUTE
    'ms': 'mm:ss', // MINUTE_SECOND
    's': 's', // SECOND
    'v': 'v', // ABBR_GENERIC_TZ
    'z': 'z', // ABBR_SPECIFIC_TZ
    'zzzz': 'zzzz', // SPECIFIC_TZ
    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
  },

  /**
   * Extended set of localized date/time patterns for locale en.
   */
  'en': const {
    'd': 'd', // DAY
    'E': 'EEE', // ABBR_WEEKDAY
    'EEEE': 'EEEE', // WEEKDAY
    'LLL': 'LLL', // ABBR_STANDALONE_MONTH
    'LLLL': 'LLLL', // STANDALONE_MONTH
    'M': 'L', // NUM_MONTH
    'Md': 'M/d', // NUM_MONTH_DAY
    'MEd': 'EEE, M/d', // NUM_MONTH_WEEKDAY_DAY
    'MMM': 'LLL', // ABBR_MONTH
    'MMMd': 'MMM d', // ABBR_MONTH_DAY
    'MMMEd': 'EEE, MMM d', // ABBR_MONTH_WEEKDAY_DAY
    'MMMM': 'LLLL', // MONTH
    'MMMMd': 'MMMM d', // MONTH_DAY
    'MMMMEEEEd': 'EEEE, MMMM d', // MONTH_WEEKDAY_DAY
    'QQQ': 'QQQ', // ABBR_QUARTER
    'QQQQ': 'QQQQ', // QUARTER
    'y': 'y', // YEAR
    'yM': 'M/y', // YEAR_NUM_MONTH
    'yMd': 'M/d/y', // YEAR_NUM_MONTH_DAY
    'yMEd': 'EEE, M/d/y', // YEAR_NUM_MONTH_WEEKDAY_DAY
    'yMMM': 'MMM y', // YEAR_ABBR_MONTH
    'yMMMd': 'MMM d, y', // YEAR_ABBR_MONTH_DAY
    'yMMMEd': 'EEE, MMM d, y', // YEAR_ABBR_MONTH_WEEKDAY_DAY
    'yMMMM': 'MMMM y', // YEAR_MONTH
    'yMMMMd': 'MMMM d, y', // YEAR_MONTH_DAY
    'yMMMMEEEEd': 'EEEE, MMMM d, y', // YEAR_MONTH_WEEKDAY_DAY
    'yQQQ': 'QQQ y', // YEAR_ABBR_QUARTER
    'yQQQQ': 'QQQQ y', // YEAR_QUARTER
    'H': 'HH', // HOUR24
    'Hm': 'HH:mm', // HOUR24_MINUTE
    'Hms': 'HH:mm:ss', // HOUR24_MINUTE_SECOND
    'j': 'h a', // HOUR
    'jm': 'h:mm a', // HOUR_MINUTE
    'jms': 'h:mm:ss a', // HOUR_MINUTE_SECOND
    'jmv': 'h:mm a v', // HOUR_MINUTE_GENERIC_TZ
    'jmz': 'h:mm a z', // HOUR_MINUTETZ
    'jz': 'h a z', // HOURGENERIC_TZ
    'm': 'm', // MINUTE
    'ms': 'mm:ss', // MINUTE_SECOND
    's': 's', // SECOND
    'v': 'v', // ABBR_GENERIC_TZ
    'z': 'z', // ABBR_SPECIFIC_TZ
    'zzzz': 'zzzz', // SPECIFIC_TZ
    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
  },

  /**
   * Extended set of localized date/time patterns for locale en_AU.
   */
  'en_AU': const {
    'd': 'd', // DAY
    'E': 'EEE', // ABBR_WEEKDAY
    'EEEE': 'EEEE', // WEEKDAY
    'LLL': 'LLL', // ABBR_STANDALONE_MONTH
    'LLLL': 'LLLL', // STANDALONE_MONTH
    'M': 'L', // NUM_MONTH
    'Md': 'd/M', // NUM_MONTH_DAY
    'MEd': 'EEE, d/M', // NUM_MONTH_WEEKDAY_DAY
    'MMM': 'LLL', // ABBR_MONTH
    'MMMd': 'd MMM', // ABBR_MONTH_DAY
    'MMMEd': 'EEE, d MMM', // ABBR_MONTH_WEEKDAY_DAY
    'MMMM': 'LLLL', // MONTH
    'MMMMd': 'd MMMM', // MONTH_DAY
    'MMMMEEEEd': 'EEEE, d MMMM', // MONTH_WEEKDAY_DAY
    'QQQ': 'QQQ', // ABBR_QUARTER
    'QQQQ': 'QQQQ', // QUARTER
    'y': 'y', // YEAR
    'yM': 'M/y', // YEAR_NUM_MONTH
    'yMd': 'd/M/y', // YEAR_NUM_MONTH_DAY
    'yMEd': 'EEE, d/M/y', // YEAR_NUM_MONTH_WEEKDAY_DAY
    'yMMM': 'MMM y', // YEAR_ABBR_MONTH
    'yMMMd': 'd MMM y', // YEAR_ABBR_MONTH_DAY
    'yMMMEd': 'EEE, d MMM y', // YEAR_ABBR_MONTH_WEEKDAY_DAY
    'yMMMM': 'MMMM y', // YEAR_MONTH
    'yMMMMd': 'd MMMM y', // YEAR_MONTH_DAY
    'yMMMMEEEEd': 'EEEE, d MMMM y', // YEAR_MONTH_WEEKDAY_DAY
    'yQQQ': 'QQQ y', // YEAR_ABBR_QUARTER
    'yQQQQ': 'QQQQ y', // YEAR_QUARTER
    'H': 'HH', // HOUR24
    'Hm': 'HH:mm', // HOUR24_MINUTE
    'Hms': 'HH:mm:ss', // HOUR24_MINUTE_SECOND
    'j': 'h a', // HOUR
    'jm': 'h:mm a', // HOUR_MINUTE
    'jms': 'h:mm:ss a', // HOUR_MINUTE_SECOND
    'jmv': 'h:mm a v', // HOUR_MINUTE_GENERIC_TZ
    'jmz': 'h:mm a z', // HOUR_MINUTETZ
    'jz': 'h a z', // HOURGENERIC_TZ
    'm': 'm', // MINUTE
    'ms': 'mm:ss', // MINUTE_SECOND
    's': 's', // SECOND
    'v': 'v', // ABBR_GENERIC_TZ
    'z': 'z', // ABBR_SPECIFIC_TZ
    'zzzz': 'zzzz', // SPECIFIC_TZ
    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
  },

  /**
   * Extended set of localized date/time patterns for locale en_GB.
   */
  'en_GB': const {
    'd': 'd', // DAY
    'E': 'EEE', // ABBR_WEEKDAY
    'EEEE': 'EEEE', // WEEKDAY
    'LLL': 'LLL', // ABBR_STANDALONE_MONTH
    'LLLL': 'LLLL', // STANDALONE_MONTH
    'M': 'L', // NUM_MONTH
    'Md': 'd/M', // NUM_MONTH_DAY
    'MEd': 'EEE, d/M', // NUM_MONTH_WEEKDAY_DAY
    'MMM': 'LLL', // ABBR_MONTH
    'MMMd': 'd MMM', // ABBR_MONTH_DAY
    'MMMEd': 'EEE d MMM', // ABBR_MONTH_WEEKDAY_DAY
    'MMMM': 'LLLL', // MONTH
    'MMMMd': 'd MMMM', // MONTH_DAY
    'MMMMEEEEd': 'EEEE d MMMM', // MONTH_WEEKDAY_DAY
    'QQQ': 'QQQ', // ABBR_QUARTER
    'QQQQ': 'QQQQ', // QUARTER
    'y': 'y', // YEAR
    'yM': 'M/y', // YEAR_NUM_MONTH
    'yMd': 'd/M/yyyy', // YEAR_NUM_MONTH_DAY
    'yMEd': 'EEE, d/M/yyyy', // YEAR_NUM_MONTH_WEEKDAY_DAY
    'yMMM': 'MMM y', // YEAR_ABBR_MONTH
    'yMMMd': 'd MMM y', // YEAR_ABBR_MONTH_DAY
    'yMMMEd': 'EEE, d MMM y', // YEAR_ABBR_MONTH_WEEKDAY_DAY
    'yMMMM': 'MMMM y', // YEAR_MONTH
    'yMMMMd': 'd MMMM y', // YEAR_MONTH_DAY
    'yMMMMEEEEd': 'EEEE, d MMMM y', // YEAR_MONTH_WEEKDAY_DAY
    'yQQQ': 'QQQ y', // YEAR_ABBR_QUARTER
    'yQQQQ': 'QQQQ y', // YEAR_QUARTER
    'H': 'HH', // HOUR24
    'Hm': 'HH:mm', // HOUR24_MINUTE
    'Hms': 'HH:mm:ss', // HOUR24_MINUTE_SECOND
    'j': 'HH', // HOUR
    'jm': 'HH:mm', // HOUR_MINUTE
    'jms': 'HH:mm:ss', // HOUR_MINUTE_SECOND
    'jmv': 'HH:mm v', // HOUR_MINUTE_GENERIC_TZ
    'jmz': 'HH:mm z', // HOUR_MINUTETZ
    'jz': 'HH z', // HOURGENERIC_TZ
    'm': 'm', // MINUTE
    'ms': 'mm:ss', // MINUTE_SECOND
    's': 's', // SECOND
    'v': 'v', // ABBR_GENERIC_TZ
    'z': 'z', // ABBR_SPECIFIC_TZ
    'zzzz': 'zzzz', // SPECIFIC_TZ
    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
  },

  /**
   * Extended set of localized date/time patterns for locale en_IE.
   */
  'en_IE': const {
    'd': 'd', // DAY
    'E': 'EEE', // ABBR_WEEKDAY
    'EEEE': 'EEEE', // WEEKDAY
    'LLL': 'LLL', // ABBR_STANDALONE_MONTH
    'LLLL': 'LLLL', // STANDALONE_MONTH
    'M': 'L', // NUM_MONTH
    'Md': 'd/M', // NUM_MONTH_DAY
    'MEd': 'EEE, d/M', // NUM_MONTH_WEEKDAY_DAY
    'MMM': 'LLL', // ABBR_MONTH
    'MMMd': 'd MMM', // ABBR_MONTH_DAY
    'MMMEd': 'EEE d MMM', // ABBR_MONTH_WEEKDAY_DAY
    'MMMM': 'LLLL', // MONTH
    'MMMMd': 'd MMMM', // MONTH_DAY
    'MMMMEEEEd': 'EEEE d MMMM', // MONTH_WEEKDAY_DAY
    'QQQ': 'QQQ', // ABBR_QUARTER
    'QQQQ': 'QQQQ', // QUARTER
    'y': 'y', // YEAR
    'yM': 'M/y', // YEAR_NUM_MONTH
    'yMd': 'd/M/yyyy', // YEAR_NUM_MONTH_DAY
    'yMEd': 'EEE, d/M/yyyy', // YEAR_NUM_MONTH_WEEKDAY_DAY
    'yMMM': 'MMM y', // YEAR_ABBR_MONTH
    'yMMMd': 'd MMM y', // YEAR_ABBR_MONTH_DAY
    'yMMMEd': 'EEE d MMM y', // YEAR_ABBR_MONTH_WEEKDAY_DAY
    'yMMMM': 'MMMM y', // YEAR_MONTH
    'yMMMMd': 'd MMMM y', // YEAR_MONTH_DAY
    'yMMMMEEEEd': 'EEEE d MMMM y', // YEAR_MONTH_WEEKDAY_DAY
    'yQQQ': 'QQQ y', // YEAR_ABBR_QUARTER
    'yQQQQ': 'QQQQ y', // YEAR_QUARTER
    'H': 'HH', // HOUR24
    'Hm': 'HH:mm', // HOUR24_MINUTE
    'Hms': 'HH:mm:ss', // HOUR24_MINUTE_SECOND
    'j': 'HH', // HOUR
    'jm': 'HH:mm', // HOUR_MINUTE
    'jms': 'HH:mm:ss', // HOUR_MINUTE_SECOND
    'jmv': 'HH:mm v', // HOUR_MINUTE_GENERIC_TZ
    'jmz': 'HH:mm z', // HOUR_MINUTETZ
    'jz': 'HH z', // HOURGENERIC_TZ
    'm': 'm', // MINUTE
    'ms': 'mm:ss', // MINUTE_SECOND
    's': 's', // SECOND
    'v': 'v', // ABBR_GENERIC_TZ
    'z': 'z', // ABBR_SPECIFIC_TZ
    'zzzz': 'zzzz', // SPECIFIC_TZ
    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
  },

  /**
   * Extended set of localized date/time patterns for locale en_IN.
   */
  'en_IN': const {
    'd': 'd', // DAY
    'E': 'EEE', // ABBR_WEEKDAY
    'EEEE': 'EEEE', // WEEKDAY
    'LLL': 'LLL', // ABBR_STANDALONE_MONTH
    'LLLL': 'LLLL', // STANDALONE_MONTH
    'M': 'L', // NUM_MONTH
    'Md': 'd/M', // NUM_MONTH_DAY
    'MEd': 'EEE, d/M', // NUM_MONTH_WEEKDAY_DAY
    'MMM': 'LLL', // ABBR_MONTH
    'MMMd': 'd MMM', // ABBR_MONTH_DAY
    'MMMEd': 'EEE d MMM', // ABBR_MONTH_WEEKDAY_DAY
    'MMMM': 'LLLL', // MONTH
    'MMMMd': 'd MMMM', // MONTH_DAY
    'MMMMEEEEd': 'EEEE d MMMM', // MONTH_WEEKDAY_DAY
    'QQQ': 'QQQ', // ABBR_QUARTER
    'QQQQ': 'QQQQ', // QUARTER
    'y': 'y', // YEAR
    'yM': 'M/y', // YEAR_NUM_MONTH
    'yMd': 'd/M/y', // YEAR_NUM_MONTH_DAY
    'yMEd': 'EEE d/M/y', // YEAR_NUM_MONTH_WEEKDAY_DAY
    'yMMM': 'MMM y', // YEAR_ABBR_MONTH
    'yMMMd': 'd MMM y', // YEAR_ABBR_MONTH_DAY
    'yMMMEd': 'EEE d MMM, y', // YEAR_ABBR_MONTH_WEEKDAY_DAY
    'yMMMM': 'MMMM y', // YEAR_MONTH
    'yMMMMd': 'd MMMM y', // YEAR_MONTH_DAY
    'yMMMMEEEEd': 'EEEE d MMMM y', // YEAR_MONTH_WEEKDAY_DAY
    'yQQQ': 'QQQ y', // YEAR_ABBR_QUARTER
    'yQQQQ': 'QQQQ y', // YEAR_QUARTER
    'H': 'HH', // HOUR24
    'Hm': 'HH:mm', // HOUR24_MINUTE
    'Hms': 'HH:mm:ss', // HOUR24_MINUTE_SECOND
    'j': 'h a', // HOUR
    'jm': 'h:mm a', // HOUR_MINUTE
    'jms': 'h:mm:ss a', // HOUR_MINUTE_SECOND
    'jmv': 'h:mm a v', // HOUR_MINUTE_GENERIC_TZ
    'jmz': 'h:mm a z', // HOUR_MINUTETZ
    'jz': 'h a z', // HOURGENERIC_TZ
    'm': 'm', // MINUTE
    'ms': 'mm:ss', // MINUTE_SECOND
    's': 's', // SECOND
    'v': 'v', // ABBR_GENERIC_TZ
    'z': 'z', // ABBR_SPECIFIC_TZ
    'zzzz': 'zzzz', // SPECIFIC_TZ
    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
  },

  /**
   * Extended set of localized date/time patterns for locale en_SG.
   */
  'en_SG': const {
    'd': 'd', // DAY
    'E': 'EEE', // ABBR_WEEKDAY
    'EEEE': 'EEEE', // WEEKDAY
    'LLL': 'LLL', // ABBR_STANDALONE_MONTH
    'LLLL': 'LLLL', // STANDALONE_MONTH
    'M': 'L', // NUM_MONTH
    'Md': 'd/M', // NUM_MONTH_DAY
    'MEd': 'EEE, d/M', // NUM_MONTH_WEEKDAY_DAY
    'MMM': 'LLL', // ABBR_MONTH
    'MMMd': 'd MMM', // ABBR_MONTH_DAY
    'MMMEd': 'EEE, d MMM', // ABBR_MONTH_WEEKDAY_DAY
    'MMMM': 'LLLL', // MONTH
    'MMMMd': 'd MMMM', // MONTH_DAY
    'MMMMEEEEd': 'EEEE, d MMMM', // MONTH_WEEKDAY_DAY
    'QQQ': 'QQQ', // ABBR_QUARTER
    'QQQQ': 'QQQQ', // QUARTER
    'y': 'y', // YEAR
    'yM': 'M/y', // YEAR_NUM_MONTH
    'yMd': 'd/M/yyyy', // YEAR_NUM_MONTH_DAY
    'yMEd': 'EEE, d/M/yyyy', // YEAR_NUM_MONTH_WEEKDAY_DAY
    'yMMM': 'MMM y', // YEAR_ABBR_MONTH
    'yMMMd': 'd MMM y', // YEAR_ABBR_MONTH_DAY
    'yMMMEd': 'EEE, d MMM y', // YEAR_ABBR_MONTH_WEEKDAY_DAY
    'yMMMM': 'MMMM y', // YEAR_MONTH
    'yMMMMd': 'd MMMM, y', // YEAR_MONTH_DAY
    'yMMMMEEEEd': 'EEEE, d MMMM, y', // YEAR_MONTH_WEEKDAY_DAY
    'yQQQ': 'QQQ y', // YEAR_ABBR_QUARTER
    'yQQQQ': 'QQQQ y', // YEAR_QUARTER
    'H': 'HH', // HOUR24
    'Hm': 'HH:mm', // HOUR24_MINUTE
    'Hms': 'HH:mm:ss', // HOUR24_MINUTE_SECOND
    'j': 'h a', // HOUR
    'jm': 'h:mm a', // HOUR_MINUTE
    'jms': 'h:mm:ss a', // HOUR_MINUTE_SECOND
    'jmv': 'h:mm a v', // HOUR_MINUTE_GENERIC_TZ
    'jmz': 'h:mm a z', // HOUR_MINUTETZ
    'jz': 'h a z', // HOURGENERIC_TZ
    'm': 'm', // MINUTE
    'ms': 'mm:ss', // MINUTE_SECOND
    's': 's', // SECOND
    'v': 'v', // ABBR_GENERIC_TZ
    'z': 'z', // ABBR_SPECIFIC_TZ
    'zzzz': 'zzzz', // SPECIFIC_TZ
    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
  },

  /**
   * Extended set of localized date/time patterns for locale en_US.
   */
  'en_US': const {
    'd': 'd', // DAY
    'E': 'EEE', // ABBR_WEEKDAY
    'EEEE': 'EEEE', // WEEKDAY
    'LLL': 'LLL', // ABBR_STANDALONE_MONTH
    'LLLL': 'LLLL', // STANDALONE_MONTH
    'M': 'L', // NUM_MONTH
    'Md': 'M/d', // NUM_MONTH_DAY
    'MEd': 'EEE, M/d', // NUM_MONTH_WEEKDAY_DAY
    'MMM': 'LLL', // ABBR_MONTH
    'MMMd': 'MMM d', // ABBR_MONTH_DAY
    'MMMEd': 'EEE, MMM d', // ABBR_MONTH_WEEKDAY_DAY
    'MMMM': 'LLLL', // MONTH
    'MMMMd': 'MMMM d', // MONTH_DAY
    'MMMMEEEEd': 'EEEE, MMMM d', // MONTH_WEEKDAY_DAY
    'QQQ': 'QQQ', // ABBR_QUARTER
    'QQQQ': 'QQQQ', // QUARTER
    'y': 'y', // YEAR
    'yM': 'M/y', // YEAR_NUM_MONTH
    'yMd': 'M/d/y', // YEAR_NUM_MONTH_DAY
    'yMEd': 'EEE, M/d/y', // YEAR_NUM_MONTH_WEEKDAY_DAY
    'yMMM': 'MMM y', // YEAR_ABBR_MONTH
    'yMMMd': 'MMM d, y', // YEAR_ABBR_MONTH_DAY
    'yMMMEd': 'EEE, MMM d, y', // YEAR_ABBR_MONTH_WEEKDAY_DAY
    'yMMMM': 'MMMM y', // YEAR_MONTH
    'yMMMMd': 'MMMM d, y', // YEAR_MONTH_DAY
    'yMMMMEEEEd': 'EEEE, MMMM d, y', // YEAR_MONTH_WEEKDAY_DAY
    'yQQQ': 'QQQ y', // YEAR_ABBR_QUARTER
    'yQQQQ': 'QQQQ y', // YEAR_QUARTER
    'H': 'HH', // HOUR24
    'Hm': 'HH:mm', // HOUR24_MINUTE
    'Hms': 'HH:mm:ss', // HOUR24_MINUTE_SECOND
    'j': 'h a', // HOUR
    'jm': 'h:mm a', // HOUR_MINUTE
    'jms': 'h:mm:ss a', // HOUR_MINUTE_SECOND
    'jmv': 'h:mm a v', // HOUR_MINUTE_GENERIC_TZ
    'jmz': 'h:mm a z', // HOUR_MINUTETZ
    'jz': 'h a z', // HOURGENERIC_TZ
    'm': 'm', // MINUTE
    'ms': 'mm:ss', // MINUTE_SECOND
    's': 's', // SECOND
    'v': 'v', // ABBR_GENERIC_TZ
    'z': 'z', // ABBR_SPECIFIC_TZ
    'zzzz': 'zzzz', // SPECIFIC_TZ
    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
  },

  /**
   * Extended set of localized date/time patterns for locale en_ISO.
   */
  'en_ISO': const {
    'd': 'd', // DAY
    'E': 'EEE', // ABBR_WEEKDAY
    'EEEE': 'EEEE', // WEEKDAY
    'LLL': 'LLL', // ABBR_STANDALONE_MONTH
    'LLLL': 'LLLL', // STANDALONE_MONTH
    'M': 'L', // NUM_MONTH
    'Md': 'M/d', // NUM_MONTH_DAY
    'MEd': 'EEE, M/d', // NUM_MONTH_WEEKDAY_DAY
    'MMM': 'LLL', // ABBR_MONTH
    'MMMd': 'MMM d', // ABBR_MONTH_DAY
    'MMMEd': 'EEE, MMM d', // ABBR_MONTH_WEEKDAY_DAY
    'MMMM': 'LLLL', // MONTH
    'MMMMd': 'MMMM d', // MONTH_DAY
    'MMMMEEEEd': 'EEEE, MMMM d', // MONTH_WEEKDAY_DAY
    'QQQ': 'QQQ', // ABBR_QUARTER
    'QQQQ': 'QQQQ', // QUARTER
    'y': 'y', // YEAR
    'yM': 'M/y', // YEAR_NUM_MONTH
    'yMd': 'M/d/y', // YEAR_NUM_MONTH_DAY
    'yMEd': 'EEE, M/d/y', // YEAR_NUM_MONTH_WEEKDAY_DAY
    'yMMM': 'MMM y', // YEAR_ABBR_MONTH
    'yMMMd': 'MMM d, y', // YEAR_ABBR_MONTH_DAY
    'yMMMEd': 'EEE, MMM d, y', // YEAR_ABBR_MONTH_WEEKDAY_DAY
    'yMMMM': 'MMMM y', // YEAR_MONTH
    'yMMMMd': 'MMMM d, y', // YEAR_MONTH_DAY
    'yMMMMEEEEd': 'EEEE, MMMM d, y', // YEAR_MONTH_WEEKDAY_DAY
    'yQQQ': 'QQQ y', // YEAR_ABBR_QUARTER
    'yQQQQ': 'QQQQ y', // YEAR_QUARTER
    'H': 'HH', // HOUR24
    'Hm': 'HH:mm', // HOUR24_MINUTE
    'Hms': 'HH:mm:ss', // HOUR24_MINUTE_SECOND
    'j': 'h a', // HOUR
    'jm': 'h:mm a', // HOUR_MINUTE
    'jms': 'h:mm:ss a', // HOUR_MINUTE_SECOND
    'jmv': 'h:mm a v', // HOUR_MINUTE_GENERIC_TZ
    'jmz': 'h:mm a z', // HOUR_MINUTETZ
    'jz': 'h a z', // HOURGENERIC_TZ
    'm': 'm', // MINUTE
    'ms': 'mm:ss', // MINUTE_SECOND
    's': 's', // SECOND
    'v': 'v', // ABBR_GENERIC_TZ
    'z': 'z', // ABBR_SPECIFIC_TZ
    'zzzz': 'zzzz', // SPECIFIC_TZ
    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
  },

  /**
   * Extended set of localized date/time patterns for locale en_ZA.
   */
  'en_ZA': const {
    'd': 'd', // DAY
    'E': 'EEE', // ABBR_WEEKDAY
    'EEEE': 'EEEE', // WEEKDAY
    'LLL': 'LLL', // ABBR_STANDALONE_MONTH
    'LLLL': 'LLLL', // STANDALONE_MONTH
    'M': 'L', // NUM_MONTH
    'Md': 'MM/dd', // NUM_MONTH_DAY
    'MEd': 'EEE MM/dd', // NUM_MONTH_WEEKDAY_DAY
    'MMM': 'LLL', // ABBR_MONTH
    'MMMd': 'dd MMM', // ABBR_MONTH_DAY
    'MMMEd': 'EEE dd MMM', // ABBR_MONTH_WEEKDAY_DAY
    'MMMM': 'LLLL', // MONTH
    'MMMMd': 'dd MMMM', // MONTH_DAY
    'MMMMEEEEd': 'EEEE dd MMMM', // MONTH_WEEKDAY_DAY
    'QQQ': 'QQQ', // ABBR_QUARTER
    'QQQQ': 'QQQQ', // QUARTER
    'y': 'y', // YEAR
    'yM': 'M/y', // YEAR_NUM_MONTH
    'yMd': 'yyyy/MM/dd', // YEAR_NUM_MONTH_DAY
    'yMEd': 'EEE, yyyy/MM/dd', // YEAR_NUM_MONTH_WEEKDAY_DAY
    'yMMM': 'MMM y', // YEAR_ABBR_MONTH
    'yMMMd': 'dd MMM y', // YEAR_ABBR_MONTH_DAY
    'yMMMEd': 'EEE, dd MMM y', // YEAR_ABBR_MONTH_WEEKDAY_DAY
    'yMMMM': 'MMMM y', // YEAR_MONTH
    'yMMMMd': 'd MMMM y', // YEAR_MONTH_DAY
    'yMMMMEEEEd': 'EEEE d MMMM y', // YEAR_MONTH_WEEKDAY_DAY
    'yQQQ': 'QQQ y', // YEAR_ABBR_QUARTER
    'yQQQQ': 'QQQQ y', // YEAR_QUARTER
    'H': 'HH', // HOUR24
    'Hm': 'HH:mm', // HOUR24_MINUTE
    'Hms': 'HH:mm:ss', // HOUR24_MINUTE_SECOND
    'j': 'h a', // HOUR
    'jm': 'h:mm a', // HOUR_MINUTE
    'jms': 'h:mm:ss a', // HOUR_MINUTE_SECOND
    'jmv': 'h:mm a v', // HOUR_MINUTE_GENERIC_TZ
    'jmz': 'h:mm a z', // HOUR_MINUTETZ
    'jz': 'h a z', // HOURGENERIC_TZ
    'm': 'm', // MINUTE
    'ms': 'mm:ss', // MINUTE_SECOND
    's': 's', // SECOND
    'v': 'v', // ABBR_GENERIC_TZ
    'z': 'z', // ABBR_SPECIFIC_TZ
    'zzzz': 'zzzz', // SPECIFIC_TZ
    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
  },

  /**
   * Extended set of localized date/time patterns for locale es.
   */
  'es': const {
    'd': 'd', // DAY
    'E': 'EEE', // ABBR_WEEKDAY
    'EEEE': 'EEEE', // WEEKDAY
    'LLL': 'LLL', // ABBR_STANDALONE_MONTH
    'LLLL': 'LLLL', // STANDALONE_MONTH
    'M': 'L', // NUM_MONTH
    'Md': 'd/M', // NUM_MONTH_DAY
    'MEd': 'EEE, d/M', // NUM_MONTH_WEEKDAY_DAY
    'MMM': 'LLL', // ABBR_MONTH
    'MMMd': 'd MMM', // ABBR_MONTH_DAY
    'MMMEd': 'EEE d MMM', // ABBR_MONTH_WEEKDAY_DAY
    'MMMM': 'LLLL', // MONTH
    'MMMMd': 'd \'de\' MMMM', // MONTH_DAY
    'MMMMEEEEd': 'EEEE d MMMM', // MONTH_WEEKDAY_DAY
    'QQQ': 'QQQ', // ABBR_QUARTER
    'QQQQ': 'QQQQ', // QUARTER
    'y': 'y', // YEAR
    'yM': 'M/y', // YEAR_NUM_MONTH
    'yMd': 'd/M/y', // YEAR_NUM_MONTH_DAY
    'yMEd': 'EEE d/M/y', // YEAR_NUM_MONTH_WEEKDAY_DAY
    'yMMM': 'MMM y', // YEAR_ABBR_MONTH
    'yMMMd': 'd MMM y', // YEAR_ABBR_MONTH_DAY
    'yMMMEd': 'EEE, d MMM y', // YEAR_ABBR_MONTH_WEEKDAY_DAY
    'yMMMM': 'MMMM \'de\' y', // YEAR_MONTH
    'yMMMMd': 'd \'de\' MMMM \'de\' y', // YEAR_MONTH_DAY
    'yMMMMEEEEd': 'EEEE, d \'de\' MMMM \'de\' y', // YEAR_MONTH_WEEKDAY_DAY
    'yQQQ': 'QQQ y', // YEAR_ABBR_QUARTER
    'yQQQQ': 'QQQQ y', // YEAR_QUARTER
    'H': 'HH', // HOUR24
    'Hm': 'HH:mm', // HOUR24_MINUTE
    'Hms': 'HH:mm:ss', // HOUR24_MINUTE_SECOND
    'j': 'HH', // HOUR
    'jm': 'HH:mm', // HOUR_MINUTE
    'jms': 'HH:mm:ss', // HOUR_MINUTE_SECOND
    'jmv': 'HH:mm v', // HOUR_MINUTE_GENERIC_TZ
    'jmz': 'HH:mm z', // HOUR_MINUTETZ
    'jz': 'HH z', // HOURGENERIC_TZ
    'm': 'm', // MINUTE
    'ms': 'mm:ss', // MINUTE_SECOND
    's': 's', // SECOND
    'v': 'v', // ABBR_GENERIC_TZ
    'z': 'z', // ABBR_SPECIFIC_TZ
    'zzzz': 'zzzz', // SPECIFIC_TZ
    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
  },

  /**
   * Extended set of localized date/time patterns for locale es_419.
   */
  'es_419': const {
    'd': 'd', // DAY
    'E': 'EEE', // ABBR_WEEKDAY
    'EEEE': 'EEEE', // WEEKDAY
    'LLL': 'LLL', // ABBR_STANDALONE_MONTH
    'LLLL': 'LLLL', // STANDALONE_MONTH
    'M': 'L', // NUM_MONTH
    'Md': 'd/M', // NUM_MONTH_DAY
    'MEd': 'EEE, d/M', // NUM_MONTH_WEEKDAY_DAY
    'MMM': 'LLL', // ABBR_MONTH
    'MMMd': 'd MMM', // ABBR_MONTH_DAY
    'MMMEd': 'EEE d MMM', // ABBR_MONTH_WEEKDAY_DAY
    'MMMM': 'LLLL', // MONTH
    'MMMMd': 'd \'de\' MMMM', // MONTH_DAY
    'MMMMEEEEd': 'EEEE d MMMM', // MONTH_WEEKDAY_DAY
    'QQQ': 'QQQ', // ABBR_QUARTER
    'QQQQ': 'QQQQ', // QUARTER
    'y': 'y', // YEAR
    'yM': 'M/y', // YEAR_NUM_MONTH
    'yMd': 'd/M/y', // YEAR_NUM_MONTH_DAY
    'yMEd': 'EEE d/M/y', // YEAR_NUM_MONTH_WEEKDAY_DAY
    'yMMM': 'MMM y', // YEAR_ABBR_MONTH
    'yMMMd': 'd MMM y', // YEAR_ABBR_MONTH_DAY
    'yMMMEd': 'EEE, d MMM y', // YEAR_ABBR_MONTH_WEEKDAY_DAY
    'yMMMM': 'MMMM \'de\' y', // YEAR_MONTH
    'yMMMMd': 'd \'de\' MMMM \'de\' y', // YEAR_MONTH_DAY
    'yMMMMEEEEd': 'EEEE, d \'de\' MMMM \'de\' y', // YEAR_MONTH_WEEKDAY_DAY
    'yQQQ': 'QQQ y', // YEAR_ABBR_QUARTER
    'yQQQQ': 'QQQQ y', // YEAR_QUARTER
    'H': 'HH', // HOUR24
    'Hm': 'HH:mm', // HOUR24_MINUTE
    'Hms': 'HH:mm:ss', // HOUR24_MINUTE_SECOND
    'j': 'HH', // HOUR
    'jm': 'HH:mm', // HOUR_MINUTE
    'jms': 'HH:mm:ss', // HOUR_MINUTE_SECOND
    'jmv': 'HH:mm v', // HOUR_MINUTE_GENERIC_TZ
    'jmz': 'HH:mm z', // HOUR_MINUTETZ
    'jz': 'HH z', // HOURGENERIC_TZ
    'm': 'm', // MINUTE
    'ms': 'mm:ss', // MINUTE_SECOND
    's': 's', // SECOND
    'v': 'v', // ABBR_GENERIC_TZ
    'z': 'z', // ABBR_SPECIFIC_TZ
    'zzzz': 'zzzz', // SPECIFIC_TZ
    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
  },

  /**
   * Extended set of localized date/time patterns for locale et.
   */
  'et': const {
    'd': 'd', // DAY
    'E': 'EEE', // ABBR_WEEKDAY
    'EEEE': 'EEEE', // WEEKDAY
    'LLL': 'LLL', // ABBR_STANDALONE_MONTH
    'LLLL': 'LLLL', // STANDALONE_MONTH
    'M': 'L', // NUM_MONTH
    'Md': 'd.M', // NUM_MONTH_DAY
    'MEd': 'EEE, d.M', // NUM_MONTH_WEEKDAY_DAY
    'MMM': 'LLL', // ABBR_MONTH
    'MMMd': 'd. MMM', // ABBR_MONTH_DAY
    'MMMEd': 'EEE, d. MMM', // ABBR_MONTH_WEEKDAY_DAY
    'MMMM': 'LLLL', // MONTH
    'MMMMd': 'd. MMMM', // MONTH_DAY
    'MMMMEEEEd': 'EEEE, d. MMMM', // MONTH_WEEKDAY_DAY
    'QQQ': 'QQQ', // ABBR_QUARTER
    'QQQQ': 'QQQQ', // QUARTER
    'y': 'y', // YEAR
    'yM': 'M.y', // YEAR_NUM_MONTH
    'yMd': 'd.M.y', // YEAR_NUM_MONTH_DAY
    'yMEd': 'EEE, d.M.y', // YEAR_NUM_MONTH_WEEKDAY_DAY
    'yMMM': 'MMM y', // YEAR_ABBR_MONTH
    'yMMMd': 'd.MMM.y', // YEAR_ABBR_MONTH_DAY
    'yMMMEd': 'EEE, d. MMM y', // YEAR_ABBR_MONTH_WEEKDAY_DAY
    'yMMMM': 'MMMM y', // YEAR_MONTH
    'yMMMMd': 'd. MMMM y', // YEAR_MONTH_DAY
    'yMMMMEEEEd': 'EEEE, d. MMMM y', // YEAR_MONTH_WEEKDAY_DAY
    'yQQQ': 'QQQ y', // YEAR_ABBR_QUARTER
    'yQQQQ': 'QQQQ y', // YEAR_QUARTER
    'H': 'H', // HOUR24
    'Hm': 'H:mm', // HOUR24_MINUTE
    'Hms': 'H:mm.ss', // HOUR24_MINUTE_SECOND
    'j': 'H', // HOUR
    'jm': 'H:mm', // HOUR_MINUTE
    'jms': 'H:mm.ss', // HOUR_MINUTE_SECOND
    'jmv': 'H:mm v', // HOUR_MINUTE_GENERIC_TZ
    'jmz': 'H:mm z', // HOUR_MINUTETZ
    'jz': 'H z', // HOURGENERIC_TZ
    'm': 'm', // MINUTE
    'ms': 'mm.ss', // MINUTE_SECOND
    's': 's', // SECOND
    'v': 'v', // ABBR_GENERIC_TZ
    'z': 'z', // ABBR_SPECIFIC_TZ
    'zzzz': 'zzzz', // SPECIFIC_TZ
    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
  },

  /**
   * Extended set of localized date/time patterns for locale eu.
   */
  'eu': const {
    'd': 'd', // DAY
    'E': 'EEE', // ABBR_WEEKDAY
    'EEEE': 'EEEE', // WEEKDAY
    'LLL': 'LLL', // ABBR_STANDALONE_MONTH
    'LLLL': 'LLLL', // STANDALONE_MONTH
    'M': 'L', // NUM_MONTH
    'Md': 'M/d', // NUM_MONTH_DAY
    'MEd': 'EEE, M/d', // NUM_MONTH_WEEKDAY_DAY
    'MMM': 'LLL', // ABBR_MONTH
    'MMMd': 'MMM d', // ABBR_MONTH_DAY
    'MMMEd': 'EEE, MMM d', // ABBR_MONTH_WEEKDAY_DAY
    'MMMM': 'LLLL', // MONTH
    'MMMMd': 'MMMM d', // MONTH_DAY
    'MMMMEEEEd': 'EEEE, MMMM d', // MONTH_WEEKDAY_DAY
    'QQQ': 'QQQ', // ABBR_QUARTER
    'QQQQ': 'QQQQ', // QUARTER
    'y': 'y', // YEAR
    'yM': 'M/y', // YEAR_NUM_MONTH
    'yMd': 'M/d/y', // YEAR_NUM_MONTH_DAY
    'yMEd': 'EEE, M/d/y', // YEAR_NUM_MONTH_WEEKDAY_DAY
    'yMMM': 'MMM y', // YEAR_ABBR_MONTH
    'yMMMd': 'MMM d, y', // YEAR_ABBR_MONTH_DAY
    'yMMMEd': 'EEE, MMM d, y', // YEAR_ABBR_MONTH_WEEKDAY_DAY
    'yMMMM': 'MMMM y', // YEAR_MONTH
    'yMMMMd': 'MMMM d, y', // YEAR_MONTH_DAY
    'yMMMMEEEEd': 'EEEE, y\'eko\' MMMM\'ren\' d\'a\'', // YEAR_MONTH_WEEKDAY_DAY
    'yQQQ': 'QQQ y', // YEAR_ABBR_QUARTER
    'yQQQQ': 'QQQQ y', // YEAR_QUARTER
    'H': 'HH', // HOUR24
    'Hm': 'HH:mm', // HOUR24_MINUTE
    'Hms': 'HH:mm:ss', // HOUR24_MINUTE_SECOND
    'j': 'HH', // HOUR
    'jm': 'HH:mm', // HOUR_MINUTE
    'jms': 'HH:mm:ss', // HOUR_MINUTE_SECOND
    'jmv': 'HH:mm v', // HOUR_MINUTE_GENERIC_TZ
    'jmz': 'HH:mm z', // HOUR_MINUTETZ
    'jz': 'HH z', // HOURGENERIC_TZ
    'm': 'm', // MINUTE
    'ms': 'mm:ss', // MINUTE_SECOND
    's': 's', // SECOND
    'v': 'v', // ABBR_GENERIC_TZ
    'z': 'z', // ABBR_SPECIFIC_TZ
    'zzzz': 'zzzz', // SPECIFIC_TZ
    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
  },

  /**
   * Extended set of localized date/time patterns for locale fa.
   */
  'fa': const {
    'd': 'd', // DAY
    'E': 'EEE', // ABBR_WEEKDAY
    'EEEE': 'EEEE', // WEEKDAY
    'LLL': 'LLL', // ABBR_STANDALONE_MONTH
    'LLLL': 'LLLL', // STANDALONE_MONTH
    'M': 'L', // NUM_MONTH
    'Md': 'M/d', // NUM_MONTH_DAY
    'MEd': 'EEE M/d', // NUM_MONTH_WEEKDAY_DAY
    'MMM': 'LLL', // ABBR_MONTH
    'MMMd': 'd LLL', // ABBR_MONTH_DAY
    'MMMEd': 'EEE d LLL', // ABBR_MONTH_WEEKDAY_DAY
    'MMMM': 'LLLL', // MONTH
    'MMMMd': 'd LLLL', // MONTH_DAY
    'MMMMEEEEd': 'EEEE d LLLL', // MONTH_WEEKDAY_DAY
    'QQQ': 'QQQ', // ABBR_QUARTER
    'QQQQ': 'QQQQ', // QUARTER
    'y': 'y', // YEAR
    'yM': 'y/M', // YEAR_NUM_MONTH
    'yMd': 'y/M/d', // YEAR_NUM_MONTH_DAY
    'yMEd': 'EEE y/M/d', // YEAR_NUM_MONTH_WEEKDAY_DAY
    'yMMM': 'MMM y', // YEAR_ABBR_MONTH
    'yMMMd': 'd MMM y', // YEAR_ABBR_MONTH_DAY
    'yMMMEd': 'EEE d MMM y', // YEAR_ABBR_MONTH_WEEKDAY_DAY
    'yMMMM': 'MMMM y', // YEAR_MONTH
    'yMMMMd': 'd MMMM y', // YEAR_MONTH_DAY
    'yMMMMEEEEd': 'EEEE d MMMM y', // YEAR_MONTH_WEEKDAY_DAY
    'yQQQ': 'QQQ y', // YEAR_ABBR_QUARTER
    'yQQQQ': 'QQQQ y', // YEAR_QUARTER
    'H': 'H', // HOUR24
    'Hm': 'H:mm', // HOUR24_MINUTE
    'Hms': 'H:mm:ss', // HOUR24_MINUTE_SECOND
    'j': 'H', // HOUR
    'jm': 'H:mm', // HOUR_MINUTE
    'jms': 'H:mm:ss', // HOUR_MINUTE_SECOND
    'jmv': 'HH:mm (v)', // HOUR_MINUTE_GENERIC_TZ
    'jmz': 'HH:mm (z)', // HOUR_MINUTETZ
    'jz': '', // HOURGENERIC_TZ
    'm': 'm', // MINUTE
    'ms': 'mm:ss', // MINUTE_SECOND
    's': 's', // SECOND
    'v': 'v', // ABBR_GENERIC_TZ
    'z': 'z', // ABBR_SPECIFIC_TZ
    'zzzz': 'zzzz', // SPECIFIC_TZ
    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
  },

  /**
   * Extended set of localized date/time patterns for locale fi.
   */
  'fi': const {
    'd': 'd', // DAY
    'E': 'EEE', // ABBR_WEEKDAY
    'EEEE': 'EEEE', // WEEKDAY
    'LLL': 'LLL', // ABBR_STANDALONE_MONTH
    'LLLL': 'LLLL', // STANDALONE_MONTH
    'M': 'L', // NUM_MONTH
    'Md': 'd.M.', // NUM_MONTH_DAY
    'MEd': 'EEE d.M.', // NUM_MONTH_WEEKDAY_DAY
    'MMM': 'LLL', // ABBR_MONTH
    'MMMd': 'd. MMM', // ABBR_MONTH_DAY
    'MMMEd': 'EEE d. MMM', // ABBR_MONTH_WEEKDAY_DAY
    'MMMM': 'LLLL', // MONTH
    'MMMMd': 'd. MMMM', // MONTH_DAY
    'MMMMEEEEd': 'EEEE d. MMMM', // MONTH_WEEKDAY_DAY
    'QQQ': 'QQQ', // ABBR_QUARTER
    'QQQQ': 'QQQQ', // QUARTER
    'y': 'y', // YEAR
    'yM': 'L.yyyy', // YEAR_NUM_MONTH
    'yMd': 'd.M.yyyy', // YEAR_NUM_MONTH_DAY
    'yMEd': 'EEE d.M.yyyy', // YEAR_NUM_MONTH_WEEKDAY_DAY
    'yMMM': 'LLL y', // YEAR_ABBR_MONTH
    'yMMMd': 'd. MMM y', // YEAR_ABBR_MONTH_DAY
    'yMMMEd': 'EEE d. MMM y', // YEAR_ABBR_MONTH_WEEKDAY_DAY
    'yMMMM': 'LLLL y', // YEAR_MONTH
    'yMMMMd': 'd. MMMM y', // YEAR_MONTH_DAY
    'yMMMMEEEEd': 'EEEE d. MMMM y', // YEAR_MONTH_WEEKDAY_DAY
    'yQQQ': 'QQQ y', // YEAR_ABBR_QUARTER
    'yQQQQ': 'QQQQ y', // YEAR_QUARTER
    'H': 'H', // HOUR24
    'Hm': 'H.mm', // HOUR24_MINUTE
    'Hms': 'H.mm.ss', // HOUR24_MINUTE_SECOND
    'j': 'H', // HOUR
    'jm': 'H.mm', // HOUR_MINUTE
    'jms': 'H.mm.ss', // HOUR_MINUTE_SECOND
    'jmv': 'H.mm v', // HOUR_MINUTE_GENERIC_TZ
    'jmz': 'H.mm z', // HOUR_MINUTETZ
    'jz': 'H z', // HOURGENERIC_TZ
    'm': 'm', // MINUTE
    'ms': 'mm.ss', // MINUTE_SECOND
    's': 's', // SECOND
    'v': 'v', // ABBR_GENERIC_TZ
    'z': 'z', // ABBR_SPECIFIC_TZ
    'zzzz': 'zzzz', // SPECIFIC_TZ
    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
  },

  /**
   * Extended set of localized date/time patterns for locale fil.
   */
  'fil': const {
    'd': 'd', // DAY
    'E': 'EEE', // ABBR_WEEKDAY
    'EEEE': 'EEEE', // WEEKDAY
    'LLL': 'LLL', // ABBR_STANDALONE_MONTH
    'LLLL': 'LLLL', // STANDALONE_MONTH
    'M': 'L', // NUM_MONTH
    'Md': 'M-d', // NUM_MONTH_DAY
    'MEd': 'EEE, M-d', // NUM_MONTH_WEEKDAY_DAY
    'MMM': 'LLL', // ABBR_MONTH
    'MMMd': 'MMM d', // ABBR_MONTH_DAY
    'MMMEd': 'EEE MMM d', // ABBR_MONTH_WEEKDAY_DAY
    'MMMM': 'LLLL', // MONTH
    'MMMMd': 'MMMM d', // MONTH_DAY
    'MMMMEEEEd': 'EEEE MMMM d', // MONTH_WEEKDAY_DAY
    'QQQ': 'QQQ', // ABBR_QUARTER
    'QQQQ': 'QQQQ', // QUARTER
    'y': 'y', // YEAR
    'yM': 'yyyy-M', // YEAR_NUM_MONTH
    'yMd': 'M/d/y', // YEAR_NUM_MONTH_DAY
    'yMEd': 'EEE, yyyy-M-d', // YEAR_NUM_MONTH_WEEKDAY_DAY
    'yMMM': 'y MMM', // YEAR_ABBR_MONTH
    'yMMMd': 'MMM d, y', // YEAR_ABBR_MONTH_DAY
    'yMMMEd': 'EEE, y MMM d', // YEAR_ABBR_MONTH_WEEKDAY_DAY
    'yMMMM': 'y MMMM', // YEAR_MONTH
    'yMMMMd': 'MMMM d, y', // YEAR_MONTH_DAY
    'yMMMMEEEEd': 'EEEE, MMMM d y', // YEAR_MONTH_WEEKDAY_DAY
    'yQQQ': 'y QQQ', // YEAR_ABBR_QUARTER
    'yQQQQ': 'y QQQQ', // YEAR_QUARTER
    'H': 'HH', // HOUR24
    'Hm': 'HH:mm', // HOUR24_MINUTE
    'Hms': 'HH:mm:ss', // HOUR24_MINUTE_SECOND
    'j': 'HH', // HOUR
    'jm': 'HH:mm', // HOUR_MINUTE
    'jms': 'HH:mm:ss', // HOUR_MINUTE_SECOND
    'jmv': 'HH:mm v', // HOUR_MINUTE_GENERIC_TZ
    'jmz': 'HH:mm z', // HOUR_MINUTETZ
    'jz': 'HH z', // HOURGENERIC_TZ
    'm': 'm', // MINUTE
    'ms': 'mm:ss', // MINUTE_SECOND
    's': 's', // SECOND
    'v': 'v', // ABBR_GENERIC_TZ
    'z': 'z', // ABBR_SPECIFIC_TZ
    'zzzz': 'zzzz', // SPECIFIC_TZ
    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
  },

  /**
   * Extended set of localized date/time patterns for locale fr.
   */
  'fr': const {
    'd': 'd', // DAY
    'E': 'EEE', // ABBR_WEEKDAY
    'EEEE': 'EEEE', // WEEKDAY
    'LLL': 'LLL', // ABBR_STANDALONE_MONTH
    'LLLL': 'LLLL', // STANDALONE_MONTH
    'M': 'L', // NUM_MONTH
    'Md': 'd/M', // NUM_MONTH_DAY
    'MEd': 'EEE d/M', // NUM_MONTH_WEEKDAY_DAY
    'MMM': 'LLL', // ABBR_MONTH
    'MMMd': 'd MMM', // ABBR_MONTH_DAY
    'MMMEd': 'EEE d MMM', // ABBR_MONTH_WEEKDAY_DAY
    'MMMM': 'LLLL', // MONTH
    'MMMMd': 'd MMMM', // MONTH_DAY
    'MMMMEEEEd': 'EEEE d MMMM', // MONTH_WEEKDAY_DAY
    'QQQ': 'QQQ', // ABBR_QUARTER
    'QQQQ': 'QQQQ', // QUARTER
    'y': 'y', // YEAR
    'yM': 'M/yyyy', // YEAR_NUM_MONTH
    'yMd': 'd/M/yyyy', // YEAR_NUM_MONTH_DAY
    'yMEd': 'EEE d/M/yyyy', // YEAR_NUM_MONTH_WEEKDAY_DAY
    'yMMM': 'MMM y', // YEAR_ABBR_MONTH
    'yMMMd': 'd MMM y', // YEAR_ABBR_MONTH_DAY
    'yMMMEd': 'EEE d MMM y', // YEAR_ABBR_MONTH_WEEKDAY_DAY
    'yMMMM': 'MMMM y', // YEAR_MONTH
    'yMMMMd': 'd MMMM y', // YEAR_MONTH_DAY
    'yMMMMEEEEd': 'EEEE d MMMM y', // YEAR_MONTH_WEEKDAY_DAY
    'yQQQ': 'QQQ y', // YEAR_ABBR_QUARTER
    'yQQQQ': 'QQQQ y', // YEAR_QUARTER
    'H': 'HH', // HOUR24
    'Hm': 'HH:mm', // HOUR24_MINUTE
    'Hms': 'HH:mm:ss', // HOUR24_MINUTE_SECOND
    'j': 'HH', // HOUR
    'jm': 'HH:mm', // HOUR_MINUTE
    'jms': 'HH:mm:ss', // HOUR_MINUTE_SECOND
    'jmv': 'HH:mm v', // HOUR_MINUTE_GENERIC_TZ
    'jmz': 'HH:mm z', // HOUR_MINUTETZ
    'jz': 'HH z', // HOURGENERIC_TZ
    'm': 'm', // MINUTE
    'ms': 'mm:ss', // MINUTE_SECOND
    's': 's', // SECOND
    'v': 'v', // ABBR_GENERIC_TZ
    'z': 'z', // ABBR_SPECIFIC_TZ
    'zzzz': 'zzzz', // SPECIFIC_TZ
    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
  },

  /**
   * Extended set of localized date/time patterns for locale fr_CA.
   */
  'fr_CA': const {
    'd': 'd', // DAY
    'E': 'EEE', // ABBR_WEEKDAY
    'EEEE': 'EEEE', // WEEKDAY
    'LLL': 'LLL', // ABBR_STANDALONE_MONTH
    'LLLL': 'LLLL', // STANDALONE_MONTH
    'M': 'L', // NUM_MONTH
    'Md': 'M-d', // NUM_MONTH_DAY
    'MEd': 'EEE M-d', // NUM_MONTH_WEEKDAY_DAY
    'MMM': 'LLL', // ABBR_MONTH
    'MMMd': 'd MMM', // ABBR_MONTH_DAY
    'MMMEd': 'EEE d MMM', // ABBR_MONTH_WEEKDAY_DAY
    'MMMM': 'LLLL', // MONTH
    'MMMMd': 'd MMMM', // MONTH_DAY
    'MMMMEEEEd': 'EEEE d MMMM', // MONTH_WEEKDAY_DAY
    'QQQ': 'QQQ', // ABBR_QUARTER
    'QQQQ': 'QQQQ', // QUARTER
    'y': 'y', // YEAR
    'yM': 'yyyy-MM', // YEAR_NUM_MONTH
    'yMd': 'yyyy-MM-dd', // YEAR_NUM_MONTH_DAY
    'yMEd': 'EEE yyyy-MM-dd', // YEAR_NUM_MONTH_WEEKDAY_DAY
    'yMMM': 'MMM y', // YEAR_ABBR_MONTH
    'yMMMd': 'd MMM y', // YEAR_ABBR_MONTH_DAY
    'yMMMEd': 'EEE d MMM y', // YEAR_ABBR_MONTH_WEEKDAY_DAY
    'yMMMM': 'MMMM y', // YEAR_MONTH
    'yMMMMd': 'd MMMM y', // YEAR_MONTH_DAY
    'yMMMMEEEEd': 'EEEE d MMMM y', // YEAR_MONTH_WEEKDAY_DAY
    'yQQQ': 'QQQ y', // YEAR_ABBR_QUARTER
    'yQQQQ': 'QQQQ y', // YEAR_QUARTER
    'H': 'HH', // HOUR24
    'Hm': 'HH:mm', // HOUR24_MINUTE
    'Hms': 'HH:mm:ss', // HOUR24_MINUTE_SECOND
    'j': 'HH', // HOUR
    'jm': 'HH:mm', // HOUR_MINUTE
    'jms': 'HH:mm:ss', // HOUR_MINUTE_SECOND
    'jmv': 'HH:mm v', // HOUR_MINUTE_GENERIC_TZ
    'jmz': 'HH:mm z', // HOUR_MINUTETZ
    'jz': 'HH z', // HOURGENERIC_TZ
    'm': 'm', // MINUTE
    'ms': 'mm:ss', // MINUTE_SECOND
    's': 's', // SECOND
    'v': 'v', // ABBR_GENERIC_TZ
    'z': 'z', // ABBR_SPECIFIC_TZ
    'zzzz': 'zzzz', // SPECIFIC_TZ
    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
  },

  /**
   * Extended set of localized date/time patterns for locale gl.
   */
  'gl': const {
    'd': 'd', // DAY
    'E': 'EEE', // ABBR_WEEKDAY
    'EEEE': 'EEEE', // WEEKDAY
    'LLL': 'LLL', // ABBR_STANDALONE_MONTH
    'LLLL': 'LLLL', // STANDALONE_MONTH
    'M': 'L', // NUM_MONTH
    'Md': 'd/M', // NUM_MONTH_DAY
    'MEd': 'EEE, d-M', // NUM_MONTH_WEEKDAY_DAY
    'MMM': 'LLL', // ABBR_MONTH
    'MMMd': 'd MMM', // ABBR_MONTH_DAY
    'MMMEd': 'EEE d MMM', // ABBR_MONTH_WEEKDAY_DAY
    'MMMM': 'LLLL', // MONTH
    'MMMMd': 'd MMMM', // MONTH_DAY
    'MMMMEEEEd': 'EEEE d MMMM', // MONTH_WEEKDAY_DAY
    'QQQ': 'QQQ', // ABBR_QUARTER
    'QQQQ': 'QQQQ', // QUARTER
    'y': 'y', // YEAR
    'yM': 'M-yyyy', // YEAR_NUM_MONTH
    'yMd': 'd/M/y', // YEAR_NUM_MONTH_DAY
    'yMEd': 'EEE, d-M-yyyy', // YEAR_NUM_MONTH_WEEKDAY_DAY
    'yMMM': 'MMM y', // YEAR_ABBR_MONTH
    'yMMMd': 'd MMM, y', // YEAR_ABBR_MONTH_DAY
    'yMMMEd': 'EEE, d MMM y', // YEAR_ABBR_MONTH_WEEKDAY_DAY
    'yMMMM': 'MMMM y', // YEAR_MONTH
    'yMMMMd': 'd MMMM y', // YEAR_MONTH_DAY
    'yMMMMEEEEd': 'EEEE d MMMM y', // YEAR_MONTH_WEEKDAY_DAY
    'yQQQ': 'QQQ y', // YEAR_ABBR_QUARTER
    'yQQQQ': 'QQQQ y', // YEAR_QUARTER
    'H': 'HH', // HOUR24
    'Hm': 'HH:mm', // HOUR24_MINUTE
    'Hms': 'HH:mm:ss', // HOUR24_MINUTE_SECOND
    'j': 'HH', // HOUR
    'jm': 'HH:mm', // HOUR_MINUTE
    'jms': 'HH:mm:ss', // HOUR_MINUTE_SECOND
    'jmv': 'HH:mm v', // HOUR_MINUTE_GENERIC_TZ
    'jmz': 'HH:mm z', // HOUR_MINUTETZ
    'jz': 'HH z', // HOURGENERIC_TZ
    'm': 'm', // MINUTE
    'ms': 'mm:ss', // MINUTE_SECOND
    's': 's', // SECOND
    'v': 'v', // ABBR_GENERIC_TZ
    'z': 'z', // ABBR_SPECIFIC_TZ
    'zzzz': 'zzzz', // SPECIFIC_TZ
    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
  },

  /**
   * Extended set of localized date/time patterns for locale gsw.
   */
  'gsw': const {
    'd': 'd', // DAY
    'E': 'EEE', // ABBR_WEEKDAY
    'EEEE': 'EEEE', // WEEKDAY
    'LLL': 'LLL', // ABBR_STANDALONE_MONTH
    'LLLL': 'LLLL', // STANDALONE_MONTH
    'M': 'L', // NUM_MONTH
    'Md': 'd.M.', // NUM_MONTH_DAY
    'MEd': 'EEE, d.M.', // NUM_MONTH_WEEKDAY_DAY
    'MMM': 'LLL', // ABBR_MONTH
    'MMMd': 'd. MMM', // ABBR_MONTH_DAY
    'MMMEd': 'EEE d. MMM', // ABBR_MONTH_WEEKDAY_DAY
    'MMMM': 'LLLL', // MONTH
    'MMMMd': 'd. MMMM', // MONTH_DAY
    'MMMMEEEEd': 'EEEE d. MMMM', // MONTH_WEEKDAY_DAY
    'QQQ': 'QQQ', // ABBR_QUARTER
    'QQQQ': 'QQQQ', // QUARTER
    'y': 'y', // YEAR
    'yM': 'yyyy-M', // YEAR_NUM_MONTH
    'yMd': 'y-M-d', // YEAR_NUM_MONTH_DAY
    'yMEd': 'EEE, yyyy-M-d', // YEAR_NUM_MONTH_WEEKDAY_DAY
    'yMMM': 'MMM y', // YEAR_ABBR_MONTH
    'yMMMd': 'y MMM d', // YEAR_ABBR_MONTH_DAY
    'yMMMEd': 'EEE, d. MMM y', // YEAR_ABBR_MONTH_WEEKDAY_DAY
    'yMMMM': 'MMMM y', // YEAR_MONTH
    'yMMMMd': 'd. MMMM y', // YEAR_MONTH_DAY
    'yMMMMEEEEd': 'EEEE, d. MMMM y', // YEAR_MONTH_WEEKDAY_DAY
    'yQQQ': 'QQQ y', // YEAR_ABBR_QUARTER
    'yQQQQ': 'QQQQ y', // YEAR_QUARTER
    'H': 'H', // HOUR24
    'Hm': 'H:mm', // HOUR24_MINUTE
    'Hms': 'HH:mm:ss', // HOUR24_MINUTE_SECOND
    'j': 'H', // HOUR
    'jm': 'H:mm', // HOUR_MINUTE
    'jms': 'HH:mm:ss', // HOUR_MINUTE_SECOND
    'jmv': 'H:mm v', // HOUR_MINUTE_GENERIC_TZ
    'jmz': 'H:mm z', // HOUR_MINUTETZ
    'jz': 'H z', // HOURGENERIC_TZ
    'm': 'm', // MINUTE
    'ms': 'mm:ss', // MINUTE_SECOND
    's': 's', // SECOND
    'v': 'v', // ABBR_GENERIC_TZ
    'z': 'z', // ABBR_SPECIFIC_TZ
    'zzzz': 'zzzz', // SPECIFIC_TZ
    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
  },

  /**
   * Extended set of localized date/time patterns for locale gu.
   */
  'gu': const {
    'd': 'd', // DAY
    'E': 'EEE', // ABBR_WEEKDAY
    'EEEE': 'EEEE', // WEEKDAY
    'LLL': 'LLL', // ABBR_STANDALONE_MONTH
    'LLLL': 'LLLL', // STANDALONE_MONTH
    'M': 'L', // NUM_MONTH
    'Md': 'd-M', // NUM_MONTH_DAY
    'MEd': 'EEE,d/M', // NUM_MONTH_WEEKDAY_DAY
    'MMM': 'LLL', // ABBR_MONTH
    'MMMd': 'd MMM', // ABBR_MONTH_DAY
    'MMMEd': 'EEE, d MMM', // ABBR_MONTH_WEEKDAY_DAY
    'MMMM': 'LLLL', // MONTH
    'MMMMd': 'd MMMM', // MONTH_DAY
    'MMMMEEEEd': 'EEEE, d MMMM', // MONTH_WEEKDAY_DAY
    'QQQ': 'QQQ', // ABBR_QUARTER
    'QQQQ': 'QQQQ', // QUARTER
    'y': 'y', // YEAR
    'yM': 'M/y', // YEAR_NUM_MONTH
    'yMd': 'd/M/y', // YEAR_NUM_MONTH_DAY
    'yMEd': 'EEE,d/M/y', // YEAR_NUM_MONTH_WEEKDAY_DAY
    'yMMM': 'MMM y', // YEAR_ABBR_MONTH
    'yMMMd': 'd, MMM y', // YEAR_ABBR_MONTH_DAY
    'yMMMEd': 'EEE,d,MMM y', // YEAR_ABBR_MONTH_WEEKDAY_DAY
    'yMMMM': 'MMMM y', // YEAR_MONTH
    'yMMMMd': 'd MMMM, y', // YEAR_MONTH_DAY
    'yMMMMEEEEd': 'EEEE, d MMMM, y', // YEAR_MONTH_WEEKDAY_DAY
    'yQQQ': 'QQQ y', // YEAR_ABBR_QUARTER
    'yQQQQ': 'QQQQ y', // YEAR_QUARTER
    'H': 'HH', // HOUR24
    'Hm': 'HH:mm', // HOUR24_MINUTE
    'Hms': 'HH:mm:ss', // HOUR24_MINUTE_SECOND
    'j': 'hh a', // HOUR
    'jm': 'hh:mm a', // HOUR_MINUTE
    'jms': 'hh:mm:ss a', // HOUR_MINUTE_SECOND
    'jmv': 'hh:mm a v', // HOUR_MINUTE_GENERIC_TZ
    'jmz': 'hh:mm a z', // HOUR_MINUTETZ
    'jz': 'hh a z', // HOURGENERIC_TZ
    'm': 'm', // MINUTE
    'ms': 'mm:ss', // MINUTE_SECOND
    's': 's', // SECOND
    'v': 'v', // ABBR_GENERIC_TZ
    'z': 'z', // ABBR_SPECIFIC_TZ
    'zzzz': 'zzzz', // SPECIFIC_TZ
    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
  },

  /**
   * Extended set of localized date/time patterns for locale he.
   */
  'he': const {
    'd': 'd', // DAY
    'E': 'EEE', // ABBR_WEEKDAY
    'EEEE': 'EEEE', // WEEKDAY
    'LLL': 'LLL', // ABBR_STANDALONE_MONTH
    'LLLL': 'LLLL', // STANDALONE_MONTH
    'M': 'L', // NUM_MONTH
    'Md': 'd/M', // NUM_MONTH_DAY
    'MEd': 'EEE, M-d', // NUM_MONTH_WEEKDAY_DAY
    'MMM': 'LLL', // ABBR_MONTH
    'MMMd': 'd בMMM', // ABBR_MONTH_DAY
    'MMMEd': 'EEE, d בMMM', // ABBR_MONTH_WEEKDAY_DAY
    'MMMM': 'LLLL', // MONTH
    'MMMMd': 'd בMMMM', // MONTH_DAY
    'MMMMEEEEd': 'EEEE, d בMMMM', // MONTH_WEEKDAY_DAY
    'QQQ': 'QQQ', // ABBR_QUARTER
    'QQQQ': 'QQQQ', // QUARTER
    'y': 'y', // YEAR
    'yM': 'M.yyyy', // YEAR_NUM_MONTH
    'yMd': 'd.M.yyyy', // YEAR_NUM_MONTH_DAY
    'yMEd': 'EEE, d.M.yyyy', // YEAR_NUM_MONTH_WEEKDAY_DAY
    'yMMM': 'MMM y', // YEAR_ABBR_MONTH
    'yMMMd': 'd בMMM y', // YEAR_ABBR_MONTH_DAY
    'yMMMEd': 'EEE, d בMMM y', // YEAR_ABBR_MONTH_WEEKDAY_DAY
    'yMMMM': 'MMMM y', // YEAR_MONTH
    'yMMMMd': 'd בMMMM y', // YEAR_MONTH_DAY
    'yMMMMEEEEd': 'EEEE, d בMMMM y', // YEAR_MONTH_WEEKDAY_DAY
    'yQQQ': 'y QQQ', // YEAR_ABBR_QUARTER
    'yQQQQ': 'y QQQQ', // YEAR_QUARTER
    'H': 'HH', // HOUR24
    'Hm': 'HH:mm', // HOUR24_MINUTE
    'Hms': 'HH:mm:ss', // HOUR24_MINUTE_SECOND
    'j': 'HH', // HOUR
    'jm': 'HH:mm', // HOUR_MINUTE
    'jms': 'HH:mm:ss', // HOUR_MINUTE_SECOND
    'jmv': 'HH:mm v', // HOUR_MINUTE_GENERIC_TZ
    'jmz': 'HH:mm z', // HOUR_MINUTETZ
    'jz': 'HH z', // HOURGENERIC_TZ
    'm': 'm', // MINUTE
    'ms': 'mm:ss', // MINUTE_SECOND
    's': 's', // SECOND
    'v': 'v', // ABBR_GENERIC_TZ
    'z': 'z', // ABBR_SPECIFIC_TZ
    'zzzz': 'zzzz', // SPECIFIC_TZ
    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
  },

  /**
   * Extended set of localized date/time patterns for locale hi.
   */
  'hi': const {
    'd': 'd', // DAY
    'E': 'EEE', // ABBR_WEEKDAY
    'EEEE': 'EEEE', // WEEKDAY
    'LLL': 'MMM', // ABBR_STANDALONE_MONTH
    'LLLL': 'MMMM', // STANDALONE_MONTH
    'M': 'L', // NUM_MONTH
    'Md': 'd-M', // NUM_MONTH_DAY
    'MEd': 'EEE, d/M', // NUM_MONTH_WEEKDAY_DAY
    'MMM': 'MMM', // ABBR_MONTH
    'MMMd': 'd MMM', // ABBR_MONTH_DAY
    'MMMEd': 'EEE, d MMM', // ABBR_MONTH_WEEKDAY_DAY
    'MMMM': 'MMMM', // MONTH
    'MMMMd': 'd MMMM', // MONTH_DAY
    'MMMMEEEEd': 'EEEE, d MMMM', // MONTH_WEEKDAY_DAY
    'QQQ': 'QQQ', // ABBR_QUARTER
    'QQQQ': 'QQQQ', // QUARTER
    'y': 'y', // YEAR
    'yM': 'M-y', // YEAR_NUM_MONTH
    'yMd': 'd/M/y', // YEAR_NUM_MONTH_DAY
    'yMEd': 'EEE, d/M/y', // YEAR_NUM_MONTH_WEEKDAY_DAY
    'yMMM': 'MMM y', // YEAR_ABBR_MONTH
    'yMMMd': 'd MMM, y', // YEAR_ABBR_MONTH_DAY
    'yMMMEd': 'EEE, d MMM y', // YEAR_ABBR_MONTH_WEEKDAY_DAY
    'yMMMM': 'MMMM y', // YEAR_MONTH
    'yMMMMd': 'd MMMM y', // YEAR_MONTH_DAY
    'yMMMMEEEEd': 'EEEE, d MMMM y', // YEAR_MONTH_WEEKDAY_DAY
    'yQQQ': 'QQQ y', // YEAR_ABBR_QUARTER
    'yQQQQ': 'QQQQ y', // YEAR_QUARTER
    'H': 'HH', // HOUR24
    'Hm': 'HH:mm', // HOUR24_MINUTE
    'Hms': 'HH:mm:ss', // HOUR24_MINUTE_SECOND
    'j': 'h a', // HOUR
    'jm': 'h:mm a', // HOUR_MINUTE
    'jms': 'h:mm:ss a', // HOUR_MINUTE_SECOND
    'jmv': 'h:mm a v', // HOUR_MINUTE_GENERIC_TZ
    'jmz': 'h:mm a z', // HOUR_MINUTETZ
    'jz': 'h a z', // HOURGENERIC_TZ
    'm': 'm', // MINUTE
    'ms': 'mm:ss', // MINUTE_SECOND
    's': 's', // SECOND
    'v': 'v', // ABBR_GENERIC_TZ
    'z': 'z', // ABBR_SPECIFIC_TZ
    'zzzz': 'zzzz', // SPECIFIC_TZ
    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
  },

  /**
   * Extended set of localized date/time patterns for locale hr.
   */
  'hr': const {
    'd': 'd.', // DAY
    'E': 'EEE', // ABBR_WEEKDAY
    'EEEE': 'EEEE', // WEEKDAY
    'LLL': 'LLL', // ABBR_STANDALONE_MONTH
    'LLLL': 'LLLL', // STANDALONE_MONTH
    'M': 'L.', // NUM_MONTH
    'Md': 'd. M.', // NUM_MONTH_DAY
    'MEd': 'EEE, d. M.', // NUM_MONTH_WEEKDAY_DAY
    'MMM': 'LLL', // ABBR_MONTH
    'MMMd': 'd. MMM', // ABBR_MONTH_DAY
    'MMMEd': 'EEE, d. MMM', // ABBR_MONTH_WEEKDAY_DAY
    'MMMM': 'LLLL', // MONTH
    'MMMMd': 'd. MMMM', // MONTH_DAY
    'MMMMEEEEd': 'EEEE, d. MMMM', // MONTH_WEEKDAY_DAY
    'QQQ': 'QQQ', // ABBR_QUARTER
    'QQQQ': 'QQQQ', // QUARTER
    'y': 'y.', // YEAR
    'yM': 'M. yyyy.', // YEAR_NUM_MONTH
    'yMd': 'd. M. y.', // YEAR_NUM_MONTH_DAY
    'yMEd': 'EEE, d. M. y.', // YEAR_NUM_MONTH_WEEKDAY_DAY
    'yMMM': 'LLL y.', // YEAR_ABBR_MONTH
    'yMMMd': 'd. MMM y.', // YEAR_ABBR_MONTH_DAY
    'yMMMEd': 'EEE, d. MMM y.', // YEAR_ABBR_MONTH_WEEKDAY_DAY
    'yMMMM': 'LLLL y.', // YEAR_MONTH
    'yMMMMd': 'd. MMMM y.', // YEAR_MONTH_DAY
    'yMMMMEEEEd': 'EEEE, d. MMMM y.', // YEAR_MONTH_WEEKDAY_DAY
    'yQQQ': 'QQQ y.', // YEAR_ABBR_QUARTER
    'yQQQQ': 'QQQQ y.', // YEAR_QUARTER
    'H': 'HH', // HOUR24
    'Hm': 'HH:mm', // HOUR24_MINUTE
    'Hms': 'HH:mm:ss', // HOUR24_MINUTE_SECOND
    'j': 'HH', // HOUR
    'jm': 'HH:mm', // HOUR_MINUTE
    'jms': 'HH:mm:ss', // HOUR_MINUTE_SECOND
    'jmv': 'HH:mm v', // HOUR_MINUTE_GENERIC_TZ
    'jmz': 'HH:mm z', // HOUR_MINUTETZ
    'jz': 'HH z', // HOURGENERIC_TZ
    'm': 'm', // MINUTE
    'ms': 'mm:ss', // MINUTE_SECOND
    's': 's', // SECOND
    'v': 'v', // ABBR_GENERIC_TZ
    'z': 'z', // ABBR_SPECIFIC_TZ
    'zzzz': 'zzzz', // SPECIFIC_TZ
    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
  },

  /**
   * Extended set of localized date/time patterns for locale hu.
   */
  'hu': const {
    'd': 'd', // DAY
    'E': 'EEE', // ABBR_WEEKDAY
    'EEEE': 'EEEE', // WEEKDAY
    'LLL': 'LLL', // ABBR_STANDALONE_MONTH
    'LLLL': 'LLLL', // STANDALONE_MONTH
    'M': 'L', // NUM_MONTH
    'Md': 'M.d.', // NUM_MONTH_DAY
    'MEd': 'M. d., EEE', // NUM_MONTH_WEEKDAY_DAY
    'MMM': 'LLL', // ABBR_MONTH
    'MMMd': 'MMM d.', // ABBR_MONTH_DAY
    'MMMEd': 'MMM d., EEE', // ABBR_MONTH_WEEKDAY_DAY
    'MMMM': 'LLLL', // MONTH
    'MMMMd': 'MMMM d.', // MONTH_DAY
    'MMMMEEEEd': 'MMMM d., EEEE', // MONTH_WEEKDAY_DAY
    'QQQ': 'QQQ', // ABBR_QUARTER
    'QQQQ': 'QQQQ', // QUARTER
    'y': 'y', // YEAR
    'yM': 'y.M.', // YEAR_NUM_MONTH
    'yMd': 'yyyy.MM.dd.', // YEAR_NUM_MONTH_DAY
    'yMEd': 'yyyy.MM.dd., EEE', // YEAR_NUM_MONTH_WEEKDAY_DAY
    'yMMM': 'y. MMM', // YEAR_ABBR_MONTH
    'yMMMd': 'y. MMM d.', // YEAR_ABBR_MONTH_DAY
    'yMMMEd': 'y. MMM d., EEE', // YEAR_ABBR_MONTH_WEEKDAY_DAY
    'yMMMM': 'y. MMMM', // YEAR_MONTH
    'yMMMMd': 'y. MMMM d.', // YEAR_MONTH_DAY
    'yMMMMEEEEd': 'y. MMMM d., EEEE', // YEAR_MONTH_WEEKDAY_DAY
    'yQQQ': 'y. QQQ', // YEAR_ABBR_QUARTER
    'yQQQQ': 'y. QQQQ', // YEAR_QUARTER
    'H': 'H', // HOUR24
    'Hm': 'H:mm', // HOUR24_MINUTE
    'Hms': 'H:mm:ss', // HOUR24_MINUTE_SECOND
    'j': 'H', // HOUR
    'jm': 'H:mm', // HOUR_MINUTE
    'jms': 'H:mm:ss', // HOUR_MINUTE_SECOND
    'jmv': 'H:mm v', // HOUR_MINUTE_GENERIC_TZ
    'jmz': 'H:mm z', // HOUR_MINUTETZ
    'jz': 'H z', // HOURGENERIC_TZ
    'm': 'm', // MINUTE
    'ms': 'mm:ss', // MINUTE_SECOND
    's': 's', // SECOND
    'v': 'v', // ABBR_GENERIC_TZ
    'z': 'z', // ABBR_SPECIFIC_TZ
    'zzzz': 'zzzz', // SPECIFIC_TZ
    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
  },

  /**
   * Extended set of localized date/time patterns for locale id.
   */
  'id': const {
    'd': 'd', // DAY
    'E': 'EEE', // ABBR_WEEKDAY
    'EEEE': 'EEEE', // WEEKDAY
    'LLL': 'LLL', // ABBR_STANDALONE_MONTH
    'LLLL': 'LLLL', // STANDALONE_MONTH
    'M': 'L', // NUM_MONTH
    'Md': 'd/M', // NUM_MONTH_DAY
    'MEd': 'EEE, d/M', // NUM_MONTH_WEEKDAY_DAY
    'MMM': 'LLL', // ABBR_MONTH
    'MMMd': 'd MMM', // ABBR_MONTH_DAY
    'MMMEd': 'EEE, d MMM', // ABBR_MONTH_WEEKDAY_DAY
    'MMMM': 'LLLL', // MONTH
    'MMMMd': 'd MMMM', // MONTH_DAY
    'MMMMEEEEd': 'EEEE, d MMMM', // MONTH_WEEKDAY_DAY
    'QQQ': 'QQQ', // ABBR_QUARTER
    'QQQQ': 'QQQQ', // QUARTER
    'y': 'y', // YEAR
    'yM': 'M/y', // YEAR_NUM_MONTH
    'yMd': 'd/M/y', // YEAR_NUM_MONTH_DAY
    'yMEd': 'EEE, d/M/y', // YEAR_NUM_MONTH_WEEKDAY_DAY
    'yMMM': 'MMM y', // YEAR_ABBR_MONTH
    'yMMMd': 'd MMM y', // YEAR_ABBR_MONTH_DAY
    'yMMMEd': 'EEE, d MMM y', // YEAR_ABBR_MONTH_WEEKDAY_DAY
    'yMMMM': 'MMMM y', // YEAR_MONTH
    'yMMMMd': 'd MMMM y', // YEAR_MONTH_DAY
    'yMMMMEEEEd': 'EEEE, d MMMM y', // YEAR_MONTH_WEEKDAY_DAY
    'yQQQ': 'QQQ y', // YEAR_ABBR_QUARTER
    'yQQQQ': 'QQQQ y', // YEAR_QUARTER
    'H': 'HH', // HOUR24
    'Hm': 'HH:mm', // HOUR24_MINUTE
    'Hms': 'HH:mm:ss', // HOUR24_MINUTE_SECOND
    'j': 'HH', // HOUR
    'jm': 'HH:mm', // HOUR_MINUTE
    'jms': 'HH:mm:ss', // HOUR_MINUTE_SECOND
    'jmv': 'HH:mm v', // HOUR_MINUTE_GENERIC_TZ
    'jmz': 'HH:mm z', // HOUR_MINUTETZ
    'jz': 'HH z', // HOURGENERIC_TZ
    'm': 'm', // MINUTE
    'ms': 'mm:ss', // MINUTE_SECOND
    's': 's', // SECOND
    'v': 'v', // ABBR_GENERIC_TZ
    'z': 'z', // ABBR_SPECIFIC_TZ
    'zzzz': 'zzzz', // SPECIFIC_TZ
    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
  },

  /**
   * Extended set of localized date/time patterns for locale in.
   */
  'in': const {
    'd': 'd', // DAY
    'E': 'EEE', // ABBR_WEEKDAY
    'EEEE': 'EEEE', // WEEKDAY
    'LLL': 'LLL', // ABBR_STANDALONE_MONTH
    'LLLL': 'LLLL', // STANDALONE_MONTH
    'M': 'L', // NUM_MONTH
    'Md': 'd/M', // NUM_MONTH_DAY
    'MEd': 'EEE, d/M', // NUM_MONTH_WEEKDAY_DAY
    'MMM': 'LLL', // ABBR_MONTH
    'MMMd': 'd MMM', // ABBR_MONTH_DAY
    'MMMEd': 'EEE, d MMM', // ABBR_MONTH_WEEKDAY_DAY
    'MMMM': 'LLLL', // MONTH
    'MMMMd': 'd MMMM', // MONTH_DAY
    'MMMMEEEEd': 'EEEE, d MMMM', // MONTH_WEEKDAY_DAY
    'QQQ': 'QQQ', // ABBR_QUARTER
    'QQQQ': 'QQQQ', // QUARTER
    'y': 'y', // YEAR
    'yM': 'M/y', // YEAR_NUM_MONTH
    'yMd': 'd/M/y', // YEAR_NUM_MONTH_DAY
    'yMEd': 'EEE, d/M/y', // YEAR_NUM_MONTH_WEEKDAY_DAY
    'yMMM': 'MMM y', // YEAR_ABBR_MONTH
    'yMMMd': 'd MMM y', // YEAR_ABBR_MONTH_DAY
    'yMMMEd': 'EEE, d MMM y', // YEAR_ABBR_MONTH_WEEKDAY_DAY
    'yMMMM': 'MMMM y', // YEAR_MONTH
    'yMMMMd': 'd MMMM y', // YEAR_MONTH_DAY
    'yMMMMEEEEd': 'EEEE, d MMMM y', // YEAR_MONTH_WEEKDAY_DAY
    'yQQQ': 'QQQ y', // YEAR_ABBR_QUARTER
    'yQQQQ': 'QQQQ y', // YEAR_QUARTER
    'H': 'HH', // HOUR24
    'Hm': 'HH:mm', // HOUR24_MINUTE
    'Hms': 'HH:mm:ss', // HOUR24_MINUTE_SECOND
    'j': 'HH', // HOUR
    'jm': 'HH:mm', // HOUR_MINUTE
    'jms': 'HH:mm:ss', // HOUR_MINUTE_SECOND
    'jmv': 'HH:mm v', // HOUR_MINUTE_GENERIC_TZ
    'jmz': 'HH:mm z', // HOUR_MINUTETZ
    'jz': 'HH z', // HOURGENERIC_TZ
    'm': 'm', // MINUTE
    'ms': 'mm:ss', // MINUTE_SECOND
    's': 's', // SECOND
    'v': 'v', // ABBR_GENERIC_TZ
    'z': 'z', // ABBR_SPECIFIC_TZ
    'zzzz': 'zzzz', // SPECIFIC_TZ
    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
  },

  /**
   * Extended set of localized date/time patterns for locale is.
   */
  'is': const {
    'd': 'd', // DAY
    'E': 'EEE', // ABBR_WEEKDAY
    'EEEE': 'EEEE', // WEEKDAY
    'LLL': 'LLL', // ABBR_STANDALONE_MONTH
    'LLLL': 'LLLL', // STANDALONE_MONTH
    'M': 'L.', // NUM_MONTH
    'Md': 'd.M', // NUM_MONTH_DAY
    'MEd': 'EEE d.M.', // NUM_MONTH_WEEKDAY_DAY
    'MMM': 'LLL', // ABBR_MONTH
    'MMMd': 'd. MMM', // ABBR_MONTH_DAY
    'MMMEd': 'EEE d. MMM', // ABBR_MONTH_WEEKDAY_DAY
    'MMMM': 'LLLL', // MONTH
    'MMMMd': 'd. MMMM', // MONTH_DAY
    'MMMMEEEEd': 'EEEE d. MMMM', // MONTH_WEEKDAY_DAY
    'QQQ': 'QQQ', // ABBR_QUARTER
    'QQQQ': 'QQQQ', // QUARTER
    'y': 'y', // YEAR
    'yM': 'M. yyyy', // YEAR_NUM_MONTH
    'yMd': 'd/M/y', // YEAR_NUM_MONTH_DAY
    'yMEd': 'EEE d.M.yyyy', // YEAR_NUM_MONTH_WEEKDAY_DAY
    'yMMM': 'MMM y', // YEAR_ABBR_MONTH
    'yMMMd': 'd MMM, y', // YEAR_ABBR_MONTH_DAY
    'yMMMEd': 'EEE d. MMM y', // YEAR_ABBR_MONTH_WEEKDAY_DAY
    'yMMMM': 'MMMM y', // YEAR_MONTH
    'yMMMMd': 'd. MMMM y', // YEAR_MONTH_DAY
    'yMMMMEEEEd': 'EEEE, d. MMMM y', // YEAR_MONTH_WEEKDAY_DAY
    'yQQQ': 'QQQ y', // YEAR_ABBR_QUARTER
    'yQQQQ': 'QQQQ y', // YEAR_QUARTER
    'H': 'HH', // HOUR24
    'Hm': 'HH:mm', // HOUR24_MINUTE
    'Hms': 'HH:mm:ss', // HOUR24_MINUTE_SECOND
    'j': 'HH', // HOUR
    'jm': 'HH:mm', // HOUR_MINUTE
    'jms': 'HH:mm:ss', // HOUR_MINUTE_SECOND
    'jmv': 'HH:mm v', // HOUR_MINUTE_GENERIC_TZ
    'jmz': 'HH:mm z', // HOUR_MINUTETZ
    'jz': 'HH z', // HOURGENERIC_TZ
    'm': 'm', // MINUTE
    'ms': 'mm:ss', // MINUTE_SECOND
    's': 's', // SECOND
    'v': 'v', // ABBR_GENERIC_TZ
    'z': 'z', // ABBR_SPECIFIC_TZ
    'zzzz': 'zzzz', // SPECIFIC_TZ
    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
  },

  /**
   * Extended set of localized date/time patterns for locale it.
   */
  'it': const {
    'd': 'd', // DAY
    'E': 'EEE', // ABBR_WEEKDAY
    'EEEE': 'EEEE', // WEEKDAY
    'LLL': 'LLL', // ABBR_STANDALONE_MONTH
    'LLLL': 'LLLL', // STANDALONE_MONTH
    'M': 'L', // NUM_MONTH
    'Md': 'd/M', // NUM_MONTH_DAY
    'MEd': 'EEE d/M', // NUM_MONTH_WEEKDAY_DAY
    'MMM': 'LLL', // ABBR_MONTH
    'MMMd': 'd MMM', // ABBR_MONTH_DAY
    'MMMEd': 'EEE d MMM', // ABBR_MONTH_WEEKDAY_DAY
    'MMMM': 'LLLL', // MONTH
    'MMMMd': 'd MMMM', // MONTH_DAY
    'MMMMEEEEd': 'EEEE d MMMM', // MONTH_WEEKDAY_DAY
    'QQQ': 'QQQ', // ABBR_QUARTER
    'QQQQ': 'QQQQ', // QUARTER
    'y': 'y', // YEAR
    'yM': 'M/y', // YEAR_NUM_MONTH
    'yMd': 'd/M/y', // YEAR_NUM_MONTH_DAY
    'yMEd': 'EEE, d/M/y', // YEAR_NUM_MONTH_WEEKDAY_DAY
    'yMMM': 'MMM y', // YEAR_ABBR_MONTH
    'yMMMd': 'd MMM y', // YEAR_ABBR_MONTH_DAY
    'yMMMEd': 'EEE d MMM y', // YEAR_ABBR_MONTH_WEEKDAY_DAY
    'yMMMM': 'MMMM y', // YEAR_MONTH
    'yMMMMd': 'd MMMM y', // YEAR_MONTH_DAY
    'yMMMMEEEEd': 'EEEE d MMMM y', // YEAR_MONTH_WEEKDAY_DAY
    'yQQQ': 'QQQ y', // YEAR_ABBR_QUARTER
    'yQQQQ': 'QQQQ y', // YEAR_QUARTER
    'H': 'HH', // HOUR24
    'Hm': 'HH:mm', // HOUR24_MINUTE
    'Hms': 'HH:mm:ss', // HOUR24_MINUTE_SECOND
    'j': 'HH', // HOUR
    'jm': 'HH:mm', // HOUR_MINUTE
    'jms': 'HH:mm:ss', // HOUR_MINUTE_SECOND
    'jmv': 'HH:mm v', // HOUR_MINUTE_GENERIC_TZ
    'jmz': 'HH:mm z', // HOUR_MINUTETZ
    'jz': 'HH z', // HOURGENERIC_TZ
    'm': 'm', // MINUTE
    'ms': 'mm:ss', // MINUTE_SECOND
    's': 's', // SECOND
    'v': 'v', // ABBR_GENERIC_TZ
    'z': 'z', // ABBR_SPECIFIC_TZ
    'zzzz': 'zzzz', // SPECIFIC_TZ
    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
  },

  /**
   * Extended set of localized date/time patterns for locale iw.
   */
  'iw': const {
    'd': 'd', // DAY
    'E': 'EEE', // ABBR_WEEKDAY
    'EEEE': 'EEEE', // WEEKDAY
    'LLL': 'LLL', // ABBR_STANDALONE_MONTH
    'LLLL': 'LLLL', // STANDALONE_MONTH
    'M': 'L', // NUM_MONTH
    'Md': 'd/M', // NUM_MONTH_DAY
    'MEd': 'EEE, M-d', // NUM_MONTH_WEEKDAY_DAY
    'MMM': 'LLL', // ABBR_MONTH
    'MMMd': 'd בMMM', // ABBR_MONTH_DAY
    'MMMEd': 'EEE, d בMMM', // ABBR_MONTH_WEEKDAY_DAY
    'MMMM': 'LLLL', // MONTH
    'MMMMd': 'd בMMMM', // MONTH_DAY
    'MMMMEEEEd': 'EEEE, d בMMMM', // MONTH_WEEKDAY_DAY
    'QQQ': 'QQQ', // ABBR_QUARTER
    'QQQQ': 'QQQQ', // QUARTER
    'y': 'y', // YEAR
    'yM': 'M.yyyy', // YEAR_NUM_MONTH
    'yMd': 'd.M.yyyy', // YEAR_NUM_MONTH_DAY
    'yMEd': 'EEE, d.M.yyyy', // YEAR_NUM_MONTH_WEEKDAY_DAY
    'yMMM': 'MMM y', // YEAR_ABBR_MONTH
    'yMMMd': 'd בMMM y', // YEAR_ABBR_MONTH_DAY
    'yMMMEd': 'EEE, d בMMM y', // YEAR_ABBR_MONTH_WEEKDAY_DAY
    'yMMMM': 'MMMM y', // YEAR_MONTH
    'yMMMMd': 'd בMMMM y', // YEAR_MONTH_DAY
    'yMMMMEEEEd': 'EEEE, d בMMMM y', // YEAR_MONTH_WEEKDAY_DAY
    'yQQQ': 'y QQQ', // YEAR_ABBR_QUARTER
    'yQQQQ': 'y QQQQ', // YEAR_QUARTER
    'H': 'HH', // HOUR24
    'Hm': 'HH:mm', // HOUR24_MINUTE
    'Hms': 'HH:mm:ss', // HOUR24_MINUTE_SECOND
    'j': 'HH', // HOUR
    'jm': 'HH:mm', // HOUR_MINUTE
    'jms': 'HH:mm:ss', // HOUR_MINUTE_SECOND
    'jmv': 'HH:mm v', // HOUR_MINUTE_GENERIC_TZ
    'jmz': 'HH:mm z', // HOUR_MINUTETZ
    'jz': 'HH z', // HOURGENERIC_TZ
    'm': 'm', // MINUTE
    'ms': 'mm:ss', // MINUTE_SECOND
    's': 's', // SECOND
    'v': 'v', // ABBR_GENERIC_TZ
    'z': 'z', // ABBR_SPECIFIC_TZ
    'zzzz': 'zzzz', // SPECIFIC_TZ
    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
  },

  /**
   * Extended set of localized date/time patterns for locale ja.
   */
  'ja': const {
    'd': 'd日', // DAY
    'E': 'EEE', // ABBR_WEEKDAY
    'EEEE': 'EEEE', // WEEKDAY
    'LLL': 'M月', // ABBR_STANDALONE_MONTH
    'LLLL': 'M月', // STANDALONE_MONTH
    'M': 'M月', // NUM_MONTH
    'Md': 'M/d', // NUM_MONTH_DAY
    'MEd': 'M/d(EEE)', // NUM_MONTH_WEEKDAY_DAY
    'MMM': 'M月', // ABBR_MONTH
    'MMMd': 'M月d日', // ABBR_MONTH_DAY
    'MMMEd': 'M月d日(EEE)', // ABBR_MONTH_WEEKDAY_DAY
    'MMMM': 'M月', // MONTH
    'MMMMd': 'M月d日', // MONTH_DAY
    'MMMMEEEEd': 'M月d日(EEEE)', // MONTH_WEEKDAY_DAY
    'QQQ': 'QQQ', // ABBR_QUARTER
    'QQQQ': 'QQQQ', // QUARTER
    'y': 'y年', // YEAR
    'yM': 'y/M', // YEAR_NUM_MONTH
    'yMd': 'y/M/d', // YEAR_NUM_MONTH_DAY
    'yMEd': 'y/M/d(EEE)', // YEAR_NUM_MONTH_WEEKDAY_DAY
    'yMMM': 'y年M月', // YEAR_ABBR_MONTH
    'yMMMd': 'y年M月d日', // YEAR_ABBR_MONTH_DAY
    'yMMMEd': 'y年M月d日(EEE)', // YEAR_ABBR_MONTH_WEEKDAY_DAY
    'yMMMM': 'y年M月', // YEAR_MONTH
    'yMMMMd': 'y年M月d日', // YEAR_MONTH_DAY
    'yMMMMEEEEd': 'y年M月d日(EEEE)', // YEAR_MONTH_WEEKDAY_DAY
    'yQQQ': 'yQQQ', // YEAR_ABBR_QUARTER
    'yQQQQ': 'yQQQQ', // YEAR_QUARTER
    'H': 'H時', // HOUR24
    'Hm': 'H:mm', // HOUR24_MINUTE
    'Hms': 'H:mm:ss', // HOUR24_MINUTE_SECOND
    'j': 'H時', // HOUR
    'jm': 'H:mm', // HOUR_MINUTE
    'jms': 'H:mm:ss', // HOUR_MINUTE_SECOND
    'jmv': 'H:mm v', // HOUR_MINUTE_GENERIC_TZ
    'jmz': 'H:mm z', // HOUR_MINUTETZ
    'jz': 'H時 z', // HOURGENERIC_TZ
    'm': 'm', // MINUTE
    'ms': 'mm:ss', // MINUTE_SECOND
    's': 's', // SECOND
    'v': 'v', // ABBR_GENERIC_TZ
    'z': 'z', // ABBR_SPECIFIC_TZ
    'zzzz': 'zzzz', // SPECIFIC_TZ
    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
  },

  /**
   * Extended set of localized date/time patterns for locale kn.
   */
  'kn': const {
    'd': 'd', // DAY
    'E': 'EEE', // ABBR_WEEKDAY
    'EEEE': 'EEEE', // WEEKDAY
    'LLL': 'LLL', // ABBR_STANDALONE_MONTH
    'LLLL': 'LLLL', // STANDALONE_MONTH
    'M': 'L', // NUM_MONTH
    'Md': 'd-M', // NUM_MONTH_DAY
    'MEd': 'EEE, d/M', // NUM_MONTH_WEEKDAY_DAY
    'MMM': 'LLL', // ABBR_MONTH
    'MMMd': 'd MMM', // ABBR_MONTH_DAY
    'MMMEd': 'EEE, d MMM', // ABBR_MONTH_WEEKDAY_DAY
    'MMMM': 'LLLL', // MONTH
    'MMMMd': 'd MMMM', // MONTH_DAY
    'MMMMEEEEd': 'EEEE, d MMMM', // MONTH_WEEKDAY_DAY
    'QQQ': 'QQQ', // ABBR_QUARTER
    'QQQQ': 'QQQQ', // QUARTER
    'y': 'y', // YEAR
    'yM': 'M/y', // YEAR_NUM_MONTH
    'yMd': 'd/M/y', // YEAR_NUM_MONTH_DAY
    'yMEd': 'EEE,d/M/y', // YEAR_NUM_MONTH_WEEKDAY_DAY
    'yMMM': 'MMM y', // YEAR_ABBR_MONTH
    'yMMMd': 'd, MMM, y', // YEAR_ABBR_MONTH_DAY
    'yMMMEd': 'EEE, d MMM, y', // YEAR_ABBR_MONTH_WEEKDAY_DAY
    'yMMMM': 'MMMM y', // YEAR_MONTH
    'yMMMMd': 'd MMMM y', // YEAR_MONTH_DAY
    'yMMMMEEEEd': 'EEEE d MMMM y', // YEAR_MONTH_WEEKDAY_DAY
    'yQQQ': 'QQQ y', // YEAR_ABBR_QUARTER
    'yQQQQ': 'QQQQ y', // YEAR_QUARTER
    'H': 'HH', // HOUR24
    'Hm': 'HH:mm', // HOUR24_MINUTE
    'Hms': 'HH:mm:ss', // HOUR24_MINUTE_SECOND
    'j': 'h a', // HOUR
    'jm': 'h:mm a', // HOUR_MINUTE
    'jms': 'h:mm:ss a', // HOUR_MINUTE_SECOND
    'jmv': 'h:mm a v', // HOUR_MINUTE_GENERIC_TZ
    'jmz': 'h:mm a z', // HOUR_MINUTETZ
    'jz': 'h a z', // HOURGENERIC_TZ
    'm': 'm', // MINUTE
    'ms': 'mm:ss', // MINUTE_SECOND
    's': 's', // SECOND
    'v': 'v', // ABBR_GENERIC_TZ
    'z': 'z', // ABBR_SPECIFIC_TZ
    'zzzz': 'zzzz', // SPECIFIC_TZ
    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
  },

  /**
   * Extended set of localized date/time patterns for locale ko.
   */
  'ko': const {
    'd': 'd일', // DAY
    'E': 'EEE', // ABBR_WEEKDAY
    'EEEE': 'EEEE', // WEEKDAY
    'LLL': 'LLL', // ABBR_STANDALONE_MONTH
    'LLLL': 'LLLL', // STANDALONE_MONTH
    'M': 'M월', // NUM_MONTH
    'Md': 'M. d', // NUM_MONTH_DAY
    'MEd': 'M. d. (EEE)', // NUM_MONTH_WEEKDAY_DAY
    'MMM': 'LLL', // ABBR_MONTH
    'MMMd': 'MMM d일', // ABBR_MONTH_DAY
    'MMMEd': 'MMM d일 (EEE)', // ABBR_MONTH_WEEKDAY_DAY
    'MMMM': 'LLLL', // MONTH
    'MMMMd': 'MMMM d일', // MONTH_DAY
    'MMMMEEEEd': 'MMMM d일 (EEEE)', // MONTH_WEEKDAY_DAY
    'QQQ': 'QQQ', // ABBR_QUARTER
    'QQQQ': 'QQQQ', // QUARTER
    'y': 'y년', // YEAR
    'yM': 'yyyy. M.', // YEAR_NUM_MONTH
    'yMd': 'y. M. d.', // YEAR_NUM_MONTH_DAY
    'yMEd': 'yyyy. M. d. (EEE)', // YEAR_NUM_MONTH_WEEKDAY_DAY
    'yMMM': 'y년 MMM', // YEAR_ABBR_MONTH
    'yMMMd': 'y년 MMM d일', // YEAR_ABBR_MONTH_DAY
    'yMMMEd': 'y년 MMM d일 (EEE)', // YEAR_ABBR_MONTH_WEEKDAY_DAY
    'yMMMM': 'y년 MMMM', // YEAR_MONTH
    'yMMMMd': 'y년 MMMM d일', // YEAR_MONTH_DAY
    'yMMMMEEEEd': 'y년 MMMM d일 EEEE', // YEAR_MONTH_WEEKDAY_DAY
    'yQQQ': 'y년 QQQ', // YEAR_ABBR_QUARTER
    'yQQQQ': 'y년 QQQQ', // YEAR_QUARTER
    'H': 'H시', // HOUR24
    'Hm': 'HH:mm', // HOUR24_MINUTE
    'Hms': 'HH:mm:ss', // HOUR24_MINUTE_SECOND
    'j': 'a h시', // HOUR
    'jm': 'a h:mm', // HOUR_MINUTE
    'jms': 'a h:mm:ss', // HOUR_MINUTE_SECOND
    'jmv': 'a h:mm v', // HOUR_MINUTE_GENERIC_TZ
    'jmz': 'a h:mm z', // HOUR_MINUTETZ
    'jz': 'a h시 z', // HOURGENERIC_TZ
    'm': 'm', // MINUTE
    'ms': 'mm:ss', // MINUTE_SECOND
    's': 's', // SECOND
    'v': 'v', // ABBR_GENERIC_TZ
    'z': 'z', // ABBR_SPECIFIC_TZ
    'zzzz': 'zzzz', // SPECIFIC_TZ
    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
  },

  /**
   * Extended set of localized date/time patterns for locale ln.
   */
  'ln': const {
    'd': 'd', // DAY
    'E': 'EEE', // ABBR_WEEKDAY
    'EEEE': 'EEEE', // WEEKDAY
    'LLL': 'LLL', // ABBR_STANDALONE_MONTH
    'LLLL': 'LLLL', // STANDALONE_MONTH
    'M': 'L', // NUM_MONTH
    'Md': 'd/M', // NUM_MONTH_DAY
    'MEd': 'EEE d/M', // NUM_MONTH_WEEKDAY_DAY
    'MMM': 'LLL', // ABBR_MONTH
    'MMMd': 'd MMM', // ABBR_MONTH_DAY
    'MMMEd': 'EEE d MMM', // ABBR_MONTH_WEEKDAY_DAY
    'MMMM': 'LLLL', // MONTH
    'MMMMd': 'd MMMM', // MONTH_DAY
    'MMMMEEEEd': 'EEEE d MMMM', // MONTH_WEEKDAY_DAY
    'QQQ': 'QQQ', // ABBR_QUARTER
    'QQQQ': 'QQQQ', // QUARTER
    'y': 'y', // YEAR
    'yM': 'M/y', // YEAR_NUM_MONTH
    'yMd': 'd/M/y', // YEAR_NUM_MONTH_DAY
    'yMEd': 'EEE d/M/y', // YEAR_NUM_MONTH_WEEKDAY_DAY
    'yMMM': 'MMM y', // YEAR_ABBR_MONTH
    'yMMMd': 'd MMM y', // YEAR_ABBR_MONTH_DAY
    'yMMMEd': 'EEE d MMM y', // YEAR_ABBR_MONTH_WEEKDAY_DAY
    'yMMMM': 'MMMM y', // YEAR_MONTH
    'yMMMMd': 'd MMMM y', // YEAR_MONTH_DAY
    'yMMMMEEEEd': 'EEEE d MMMM y', // YEAR_MONTH_WEEKDAY_DAY
    'yQQQ': 'QQQ y', // YEAR_ABBR_QUARTER
    'yQQQQ': 'QQQQ y', // YEAR_QUARTER
    'H': 'HH', // HOUR24
    'Hm': 'HH:mm', // HOUR24_MINUTE
    'Hms': 'HH:mm:ss', // HOUR24_MINUTE_SECOND
    'j': 'HH', // HOUR
    'jm': 'HH:mm', // HOUR_MINUTE
    'jms': 'HH:mm:ss', // HOUR_MINUTE_SECOND
    'jmv': 'HH:mm v', // HOUR_MINUTE_GENERIC_TZ
    'jmz': 'HH:mm z', // HOUR_MINUTETZ
    'jz': 'HH z', // HOURGENERIC_TZ
    'm': 'm', // MINUTE
    'ms': 'm:ss', // MINUTE_SECOND
    's': 's', // SECOND
    'v': 'v', // ABBR_GENERIC_TZ
    'z': 'z', // ABBR_SPECIFIC_TZ
    'zzzz': 'zzzz', // SPECIFIC_TZ
    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
  },

  /**
   * Extended set of localized date/time patterns for locale lt.
   */
  'lt': const {
    'd': 'd', // DAY
    'E': 'EEE', // ABBR_WEEKDAY
    'EEEE': 'EEEE', // WEEKDAY
    'LLL': 'LLL', // ABBR_STANDALONE_MONTH
    'LLLL': 'LLLL', // STANDALONE_MONTH
    'M': 'L', // NUM_MONTH
    'Md': 'M.d', // NUM_MONTH_DAY
    'MEd': 'M-d, EEE', // NUM_MONTH_WEEKDAY_DAY
    'MMM': 'LLL', // ABBR_MONTH
    'MMMd': 'MMM-d', // ABBR_MONTH_DAY
    'MMMEd': 'MMM d, EEE', // ABBR_MONTH_WEEKDAY_DAY
    'MMMM': 'LLLL', // MONTH
    'MMMMd': 'MMMM-d', // MONTH_DAY
    'MMMMEEEEd': 'MMMM d, EEEE', // MONTH_WEEKDAY_DAY
    'QQQ': 'QQQ', // ABBR_QUARTER
    'QQQQ': 'QQQQ', // QUARTER
    'y': 'y', // YEAR
    'yM': 'y.M', // YEAR_NUM_MONTH
    'yMd': 'y-M-d', // YEAR_NUM_MONTH_DAY
    'yMEd': 'y-M-d EEE', // YEAR_NUM_MONTH_WEEKDAY_DAY
    'yMMM': 'y MMM', // YEAR_ABBR_MONTH
    'yMMMd': 'y MMM d', // YEAR_ABBR_MONTH_DAY
    'yMMMEd': 'y MMM d, EEE', // YEAR_ABBR_MONTH_WEEKDAY_DAY
    'yMMMM': 'y MMMM', // YEAR_MONTH
    'yMMMMd': 'y \'m\'. MMMM d \'d\'.', // YEAR_MONTH_DAY
    'yMMMMEEEEd': 'y \'m\'. MMMM d \'d\'., EEEE', // YEAR_MONTH_WEEKDAY_DAY
    'yQQQ': 'y QQQ', // YEAR_ABBR_QUARTER
    'yQQQQ': 'y QQQQ', // YEAR_QUARTER
    'H': 'HH', // HOUR24
    'Hm': 'HH:mm', // HOUR24_MINUTE
    'Hms': 'HH:mm:ss', // HOUR24_MINUTE_SECOND
    'j': 'HH', // HOUR
    'jm': 'HH:mm', // HOUR_MINUTE
    'jms': 'HH:mm:ss', // HOUR_MINUTE_SECOND
    'jmv': 'HH:mm v', // HOUR_MINUTE_GENERIC_TZ
    'jmz': 'HH:mm z', // HOUR_MINUTETZ
    'jz': 'HH z', // HOURGENERIC_TZ
    'm': 'm', // MINUTE
    'ms': 'mm:ss', // MINUTE_SECOND
    's': 's', // SECOND
    'v': 'v', // ABBR_GENERIC_TZ
    'z': 'z', // ABBR_SPECIFIC_TZ
    'zzzz': 'zzzz', // SPECIFIC_TZ
    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
  },

  /**
   * Extended set of localized date/time patterns for locale lv.
   */
  'lv': const {
    'd': 'd', // DAY
    'E': 'EEE', // ABBR_WEEKDAY
    'EEEE': 'EEEE', // WEEKDAY
    'LLL': 'LLL', // ABBR_STANDALONE_MONTH
    'LLLL': 'LLLL', // STANDALONE_MONTH
    'M': 'L', // NUM_MONTH
    'Md': 'dd.MM.', // NUM_MONTH_DAY
    'MEd': 'EEE, dd.MM.', // NUM_MONTH_WEEKDAY_DAY
    'MMM': 'LLL', // ABBR_MONTH
    'MMMd': 'd. MMM', // ABBR_MONTH_DAY
    'MMMEd': 'EEE, d. MMM', // ABBR_MONTH_WEEKDAY_DAY
    'MMMM': 'LLLL', // MONTH
    'MMMMd': 'd. MMMM', // MONTH_DAY
    'MMMMEEEEd': 'EEEE, d. MMMM', // MONTH_WEEKDAY_DAY
    'QQQ': 'QQQ', // ABBR_QUARTER
    'QQQQ': 'QQQQ', // QUARTER
    'y': 'y. \'g\'.', // YEAR
    'yM': 'MM.yyyy.', // YEAR_NUM_MONTH
    'yMd': 'y-M-d', // YEAR_NUM_MONTH_DAY
    'yMEd': 'EEE, dd.MM.yyyy.', // YEAR_NUM_MONTH_WEEKDAY_DAY
    'yMMM': 'yyyy. \'g\'. MMM', // YEAR_ABBR_MONTH
    'yMMMd': 'y MMM d', // YEAR_ABBR_MONTH_DAY
    'yMMMEd': 'EEE, yyyy. \'g\'. dd. MMM', // YEAR_ABBR_MONTH_WEEKDAY_DAY
    'yMMMM': 'y. \'g\'. MMMM', // YEAR_MONTH
    'yMMMMd': 'y. \'gada\' d. MMMM', // YEAR_MONTH_DAY
    'yMMMMEEEEd': 'EEEE, y. \'gada\' d. MMMM', // YEAR_MONTH_WEEKDAY_DAY
    'yQQQ': 'y QQQ', // YEAR_ABBR_QUARTER
    'yQQQQ': 'y QQQQ', // YEAR_QUARTER
    'H': 'HH', // HOUR24
    'Hm': 'HH:mm', // HOUR24_MINUTE
    'Hms': 'HH:mm:ss', // HOUR24_MINUTE_SECOND
    'j': 'HH', // HOUR
    'jm': 'HH:mm', // HOUR_MINUTE
    'jms': 'HH:mm:ss', // HOUR_MINUTE_SECOND
    'jmv': 'HH:mm v', // HOUR_MINUTE_GENERIC_TZ
    'jmz': 'HH:mm z', // HOUR_MINUTETZ
    'jz': 'HH z', // HOURGENERIC_TZ
    'm': 'm', // MINUTE
    'ms': 'mm:ss', // MINUTE_SECOND
    's': 's', // SECOND
    'v': 'v', // ABBR_GENERIC_TZ
    'z': 'z', // ABBR_SPECIFIC_TZ
    'zzzz': 'zzzz', // SPECIFIC_TZ
    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
  },

  /**
   * Extended set of localized date/time patterns for locale ml.
   */
  'ml': const {
    'd': 'd', // DAY
    'E': 'EEE', // ABBR_WEEKDAY
    'EEEE': 'EEEE', // WEEKDAY
    'LLL': 'LLL', // ABBR_STANDALONE_MONTH
    'LLLL': 'LLLL', // STANDALONE_MONTH
    'M': 'L', // NUM_MONTH
    'Md': 'd-M', // NUM_MONTH_DAY
    'MEd': 'M/d, EEE', // NUM_MONTH_WEEKDAY_DAY
    'MMM': 'LLL', // ABBR_MONTH
    'MMMd': 'MMM d', // ABBR_MONTH_DAY
    'MMMEd': 'MMM d, EEE', // ABBR_MONTH_WEEKDAY_DAY
    'MMMM': 'LLLL', // MONTH
    'MMMMd': 'MMMM d', // MONTH_DAY
    'MMMMEEEEd': 'MMMM d, EEEE', // MONTH_WEEKDAY_DAY
    'QQQ': 'QQQ', // ABBR_QUARTER
    'QQQQ': 'QQQQ', // QUARTER
    'y': 'y', // YEAR
    'yM': 'M-y', // YEAR_NUM_MONTH
    'yMd': 'd/M/y', // YEAR_NUM_MONTH_DAY
    'yMEd': 'd-M-yyyy, EEE', // YEAR_NUM_MONTH_WEEKDAY_DAY
    'yMMM': 'y MMM', // YEAR_ABBR_MONTH
    'yMMMd': 'y MMM d', // YEAR_ABBR_MONTH_DAY
    'yMMMEd': 'y MMM d, EEE', // YEAR_ABBR_MONTH_WEEKDAY_DAY
    'yMMMM': 'y MMMM', // YEAR_MONTH
    'yMMMMd': 'y, MMMM d', // YEAR_MONTH_DAY
    'yMMMMEEEEd': 'y, MMMM d, EEEE', // YEAR_MONTH_WEEKDAY_DAY
    'yQQQ': 'y QQQ', // YEAR_ABBR_QUARTER
    'yQQQQ': 'y QQQQ', // YEAR_QUARTER
    'H': 'HH', // HOUR24
    'Hm': 'HH:mm', // HOUR24_MINUTE
    'Hms': 'HH:mm:ss', // HOUR24_MINUTE_SECOND
    'j': 'h a', // HOUR
    'jm': 'h:mm a', // HOUR_MINUTE
    'jms': 'h:mm:ss a', // HOUR_MINUTE_SECOND
    'jmv': 'h:mm a v', // HOUR_MINUTE_GENERIC_TZ
    'jmz': 'h:mm a z', // HOUR_MINUTETZ
    'jz': 'h a z', // HOURGENERIC_TZ
    'm': 'm', // MINUTE
    'ms': 'mm:ss', // MINUTE_SECOND
    's': 's', // SECOND
    'v': 'v', // ABBR_GENERIC_TZ
    'z': 'z', // ABBR_SPECIFIC_TZ
    'zzzz': 'zzzz', // SPECIFIC_TZ
    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
  },

  /**
   * Extended set of localized date/time patterns for locale mr.
   */
  'mr': const {
    'd': 'd', // DAY
    'E': 'EEE', // ABBR_WEEKDAY
    'EEEE': 'EEEE', // WEEKDAY
    'LLL': 'LLL', // ABBR_STANDALONE_MONTH
    'LLLL': 'LLLL', // STANDALONE_MONTH
    'M': 'M', // NUM_MONTH
    'Md': 'd-M', // NUM_MONTH_DAY
    'MEd': 'EEE, d/M', // NUM_MONTH_WEEKDAY_DAY
    'MMM': 'LLL', // ABBR_MONTH
    'MMMd': 'd MMM', // ABBR_MONTH_DAY
    'MMMEd': 'EEE, d MMM', // ABBR_MONTH_WEEKDAY_DAY
    'MMMM': 'LLLL', // MONTH
    'MMMMd': 'd MMMM', // MONTH_DAY
    'MMMMEEEEd': 'EEEE, d MMMM', // MONTH_WEEKDAY_DAY
    'QQQ': 'QQQ', // ABBR_QUARTER
    'QQQQ': 'QQQQ', // QUARTER
    'y': 'y', // YEAR
    'yM': 'M/y', // YEAR_NUM_MONTH
    'yMd': 'd/M/y', // YEAR_NUM_MONTH_DAY
    'yMEd': 'EEE, d/M/y', // YEAR_NUM_MONTH_WEEKDAY_DAY
    'yMMM': 'MMM y', // YEAR_ABBR_MONTH
    'yMMMd': 'd MMM y', // YEAR_ABBR_MONTH_DAY
    'yMMMEd': 'EEE, d MMM y', // YEAR_ABBR_MONTH_WEEKDAY_DAY
    'yMMMM': 'MMMM y', // YEAR_MONTH
    'yMMMMd': 'd MMMM y', // YEAR_MONTH_DAY
    'yMMMMEEEEd': 'EEEE d MMMM y', // YEAR_MONTH_WEEKDAY_DAY
    'yQQQ': 'QQQ y', // YEAR_ABBR_QUARTER
    'yQQQQ': 'QQQQ y', // YEAR_QUARTER
    'H': 'HH', // HOUR24
    'Hm': 'H-mm', // HOUR24_MINUTE
    'Hms': 'H-mm-ss', // HOUR24_MINUTE_SECOND
    'j': 'h a', // HOUR
    'jm': 'h:mm a', // HOUR_MINUTE
    'jms': 'h:mm:ss a', // HOUR_MINUTE_SECOND
    'jmv': 'h:mm a v', // HOUR_MINUTE_GENERIC_TZ
    'jmz': 'h:mm a z', // HOUR_MINUTETZ
    'jz': 'h a z', // HOURGENERIC_TZ
    'm': 'm', // MINUTE
    'ms': 'mm:ss', // MINUTE_SECOND
    's': 's', // SECOND
    'v': 'v', // ABBR_GENERIC_TZ
    'z': 'z', // ABBR_SPECIFIC_TZ
    'zzzz': 'zzzz', // SPECIFIC_TZ
    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
  },

  /**
   * Extended set of localized date/time patterns for locale ms.
   */
  'ms': const {
    'd': 'd', // DAY
    'E': 'EEE', // ABBR_WEEKDAY
    'EEEE': 'EEEE', // WEEKDAY
    'LLL': 'LLL', // ABBR_STANDALONE_MONTH
    'LLLL': 'LLLL', // STANDALONE_MONTH
    'M': 'L', // NUM_MONTH
    'Md': 'd-M', // NUM_MONTH_DAY
    'MEd': 'EEE, d-M', // NUM_MONTH_WEEKDAY_DAY
    'MMM': 'LLL', // ABBR_MONTH
    'MMMd': 'd MMM', // ABBR_MONTH_DAY
    'MMMEd': 'EEE, d MMM', // ABBR_MONTH_WEEKDAY_DAY
    'MMMM': 'LLLL', // MONTH
    'MMMMd': 'd MMMM', // MONTH_DAY
    'MMMMEEEEd': 'EEEE, d MMMM', // MONTH_WEEKDAY_DAY
    'QQQ': 'QQQ', // ABBR_QUARTER
    'QQQQ': 'QQQQ', // QUARTER
    'y': 'y', // YEAR
    'yM': 'M-y', // YEAR_NUM_MONTH
    'yMd': 'd/M/y', // YEAR_NUM_MONTH_DAY
    'yMEd': 'EEE, d-M-yyyy', // YEAR_NUM_MONTH_WEEKDAY_DAY
    'yMMM': 'MMM y', // YEAR_ABBR_MONTH
    'yMMMd': 'd MMM y', // YEAR_ABBR_MONTH_DAY
    'yMMMEd': 'EEE, d MMM y', // YEAR_ABBR_MONTH_WEEKDAY_DAY
    'yMMMM': 'MMMM y', // YEAR_MONTH
    'yMMMMd': 'd MMMM y', // YEAR_MONTH_DAY
    'yMMMMEEEEd': 'EEEE, d MMMM y', // YEAR_MONTH_WEEKDAY_DAY
    'yQQQ': 'QQQ y', // YEAR_ABBR_QUARTER
    'yQQQQ': 'QQQQ y', // YEAR_QUARTER
    'H': 'HH', // HOUR24
    'Hm': 'HH:mm', // HOUR24_MINUTE
    'Hms': 'HH:mm:ss', // HOUR24_MINUTE_SECOND
    'j': 'h a', // HOUR
    'jm': 'h:mm a', // HOUR_MINUTE
    'jms': 'h:mm:ss a', // HOUR_MINUTE_SECOND
    'jmv': 'h:mm a v', // HOUR_MINUTE_GENERIC_TZ
    'jmz': 'h:mm a z', // HOUR_MINUTETZ
    'jz': 'h a z', // HOURGENERIC_TZ
    'm': 'm', // MINUTE
    'ms': 'mm:ss', // MINUTE_SECOND
    's': 's', // SECOND
    'v': 'v', // ABBR_GENERIC_TZ
    'z': 'z', // ABBR_SPECIFIC_TZ
    'zzzz': 'zzzz', // SPECIFIC_TZ
    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
  },

  /**
   * Extended set of localized date/time patterns for locale mt.
   */
  'mt': const {
    'd': 'd', // DAY
    'E': 'EEE', // ABBR_WEEKDAY
    'EEEE': 'EEEE', // WEEKDAY
    'LLL': 'LLL', // ABBR_STANDALONE_MONTH
    'LLLL': 'LLLL', // STANDALONE_MONTH
    'M': 'L', // NUM_MONTH
    'Md': 'M-d', // NUM_MONTH_DAY
    'MEd': 'EEE, M-d', // NUM_MONTH_WEEKDAY_DAY
    'MMM': 'LLL', // ABBR_MONTH
    'MMMd': 'MMM d', // ABBR_MONTH_DAY
    'MMMEd': 'EEE MMM d', // ABBR_MONTH_WEEKDAY_DAY
    'MMMM': 'LLLL', // MONTH
    'MMMMd': 'MMMM d', // MONTH_DAY
    'MMMMEEEEd': 'EEEE MMMM d', // MONTH_WEEKDAY_DAY
    'QQQ': 'QQQ', // ABBR_QUARTER
    'QQQQ': 'QQQQ', // QUARTER
    'y': 'y', // YEAR
    'yM': 'y-M', // YEAR_NUM_MONTH
    'yMd': 'y-M-d', // YEAR_NUM_MONTH_DAY
    'yMEd': 'EEE, y-M-d', // YEAR_NUM_MONTH_WEEKDAY_DAY
    'yMMM': 'y MMM', // YEAR_ABBR_MONTH
    'yMMMd': 'y MMM d', // YEAR_ABBR_MONTH_DAY
    'yMMMEd': 'EEE, y MMM d', // YEAR_ABBR_MONTH_WEEKDAY_DAY
    'yMMMM': 'y MMMM', // YEAR_MONTH
    'yMMMMd': 'd \'ta\'’ MMMM y', // YEAR_MONTH_DAY
    'yMMMMEEEEd': 'EEEE, d \'ta\'’ MMMM y', // YEAR_MONTH_WEEKDAY_DAY
    'yQQQ': 'y QQQ', // YEAR_ABBR_QUARTER
    'yQQQQ': 'y QQQQ', // YEAR_QUARTER
    'H': 'HH', // HOUR24
    'Hm': 'HH:mm', // HOUR24_MINUTE
    'Hms': 'HH:mm:ss', // HOUR24_MINUTE_SECOND
    'j': 'HH', // HOUR
    'jm': 'HH:mm', // HOUR_MINUTE
    'jms': 'HH:mm:ss', // HOUR_MINUTE_SECOND
    'jmv': 'HH:mm v', // HOUR_MINUTE_GENERIC_TZ
    'jmz': 'HH:mm z', // HOUR_MINUTETZ
    'jz': 'HH z', // HOURGENERIC_TZ
    'm': 'm', // MINUTE
    'ms': 'mm:ss', // MINUTE_SECOND
    's': 's', // SECOND
    'v': 'v', // ABBR_GENERIC_TZ
    'z': 'z', // ABBR_SPECIFIC_TZ
    'zzzz': 'zzzz', // SPECIFIC_TZ
    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
  },

  /**
   * Extended set of localized date/time patterns for locale nl.
   */
  'nl': const {
    'd': 'd', // DAY
    'E': 'EEE', // ABBR_WEEKDAY
    'EEEE': 'EEEE', // WEEKDAY
    'LLL': 'LLL', // ABBR_STANDALONE_MONTH
    'LLLL': 'LLLL', // STANDALONE_MONTH
    'M': 'L', // NUM_MONTH
    'Md': 'd-M', // NUM_MONTH_DAY
    'MEd': 'EEE d-M', // NUM_MONTH_WEEKDAY_DAY
    'MMM': 'LLL', // ABBR_MONTH
    'MMMd': 'd-MMM', // ABBR_MONTH_DAY
    'MMMEd': 'EEE d MMM', // ABBR_MONTH_WEEKDAY_DAY
    'MMMM': 'LLLL', // MONTH
    'MMMMd': 'd MMMM', // MONTH_DAY
    'MMMMEEEEd': 'EEEE d MMMM', // MONTH_WEEKDAY_DAY
    'QQQ': 'QQQ', // ABBR_QUARTER
    'QQQQ': 'QQQQ', // QUARTER
    'y': 'y', // YEAR
    'yM': 'M-y', // YEAR_NUM_MONTH
    'yMd': 'd-M-y', // YEAR_NUM_MONTH_DAY
    'yMEd': 'EEE d-M-y', // YEAR_NUM_MONTH_WEEKDAY_DAY
    'yMMM': 'MMM y', // YEAR_ABBR_MONTH
    'yMMMd': 'd MMM y', // YEAR_ABBR_MONTH_DAY
    'yMMMEd': 'EEE d MMM y', // YEAR_ABBR_MONTH_WEEKDAY_DAY
    'yMMMM': 'MMMM y', // YEAR_MONTH
    'yMMMMd': 'd MMMM y', // YEAR_MONTH_DAY
    'yMMMMEEEEd': 'EEEE d MMMM y', // YEAR_MONTH_WEEKDAY_DAY
    'yQQQ': 'QQQ y', // YEAR_ABBR_QUARTER
    'yQQQQ': 'QQQQ y', // YEAR_QUARTER
    'H': 'HH', // HOUR24
    'Hm': 'HH:mm', // HOUR24_MINUTE
    'Hms': 'HH:mm:ss', // HOUR24_MINUTE_SECOND
    'j': 'HH', // HOUR
    'jm': 'HH:mm', // HOUR_MINUTE
    'jms': 'HH:mm:ss', // HOUR_MINUTE_SECOND
    'jmv': 'HH:mm v', // HOUR_MINUTE_GENERIC_TZ
    'jmz': 'HH:mm z', // HOUR_MINUTETZ
    'jz': 'HH z', // HOURGENERIC_TZ
    'm': 'm', // MINUTE
    'ms': 'mm:ss', // MINUTE_SECOND
    's': 's', // SECOND
    'v': 'v', // ABBR_GENERIC_TZ
    'z': 'z', // ABBR_SPECIFIC_TZ
    'zzzz': 'zzzz', // SPECIFIC_TZ
    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
  },

  /**
   * Extended set of localized date/time patterns for locale no.
   */
  'no': const {
    'd': 'd.', // DAY
    'E': 'EEE', // ABBR_WEEKDAY
    'EEEE': 'EEEE', // WEEKDAY
    'LLL': 'LLL', // ABBR_STANDALONE_MONTH
    'LLLL': 'LLLL', // STANDALONE_MONTH
    'M': 'L', // NUM_MONTH
    'Md': 'd.M.', // NUM_MONTH_DAY
    'MEd': 'EEE d.M', // NUM_MONTH_WEEKDAY_DAY
    'MMM': 'LLL', // ABBR_MONTH
    'MMMd': 'd. MMM', // ABBR_MONTH_DAY
    'MMMEd': 'EEE d. MMM', // ABBR_MONTH_WEEKDAY_DAY
    'MMMM': 'LLLL', // MONTH
    'MMMMd': 'd. MMMM', // MONTH_DAY
    'MMMMEEEEd': 'EEEE d. MMMM', // MONTH_WEEKDAY_DAY
    'QQQ': 'QQQ', // ABBR_QUARTER
    'QQQQ': 'QQQQ', // QUARTER
    'y': 'y', // YEAR
    'yM': 'M y', // YEAR_NUM_MONTH
    'yMd': 'd.M.yyyy', // YEAR_NUM_MONTH_DAY
    'yMEd': 'EEE d.M.yyyy', // YEAR_NUM_MONTH_WEEKDAY_DAY
    'yMMM': 'MMM y', // YEAR_ABBR_MONTH
    'yMMMd': 'd. MMM y', // YEAR_ABBR_MONTH_DAY
    'yMMMEd': 'EEE d. MMM y', // YEAR_ABBR_MONTH_WEEKDAY_DAY
    'yMMMM': 'MMMM y', // YEAR_MONTH
    'yMMMMd': 'd. MMMM y', // YEAR_MONTH_DAY
    'yMMMMEEEEd': 'EEEE d. MMMM y', // YEAR_MONTH_WEEKDAY_DAY
    'yQQQ': 'QQQ y', // YEAR_ABBR_QUARTER
    'yQQQQ': 'QQQQ y', // YEAR_QUARTER
    'H': 'HH', // HOUR24
    'Hm': 'HH:mm', // HOUR24_MINUTE
    'Hms': 'HH:mm:ss', // HOUR24_MINUTE_SECOND
    'j': 'HH', // HOUR
    'jm': 'HH:mm', // HOUR_MINUTE
    'jms': 'HH:mm:ss', // HOUR_MINUTE_SECOND
    'jmv': 'HH:mm v', // HOUR_MINUTE_GENERIC_TZ
    'jmz': 'HH:mm z', // HOUR_MINUTETZ
    'jz': 'HH z', // HOURGENERIC_TZ
    'm': 'm', // MINUTE
    'ms': 'mm.ss', // MINUTE_SECOND
    's': 's', // SECOND
    'v': 'v', // ABBR_GENERIC_TZ
    'z': 'z', // ABBR_SPECIFIC_TZ
    'zzzz': 'zzzz', // SPECIFIC_TZ
    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
  },

  /**
   * Extended set of localized date/time patterns for locale or.
   */
  'or': const {
    'd': 'd', // DAY
    'E': 'EEE', // ABBR_WEEKDAY
    'EEEE': 'EEEE', // WEEKDAY
    'LLL': 'LLL', // ABBR_STANDALONE_MONTH
    'LLLL': 'LLLL', // STANDALONE_MONTH
    'M': 'L', // NUM_MONTH
    'Md': 'd-M', // NUM_MONTH_DAY
    'MEd': 'EEE, M-d', // NUM_MONTH_WEEKDAY_DAY
    'MMM': 'LLL', // ABBR_MONTH
    'MMMd': 'MMM d', // ABBR_MONTH_DAY
    'MMMEd': 'EEE MMM d', // ABBR_MONTH_WEEKDAY_DAY
    'MMMM': 'LLLL', // MONTH
    'MMMMd': 'MMMM d', // MONTH_DAY
    'MMMMEEEEd': 'EEEE MMMM d', // MONTH_WEEKDAY_DAY
    'QQQ': 'QQQ', // ABBR_QUARTER
    'QQQQ': 'QQQQ', // QUARTER
    'y': 'y', // YEAR
    'yM': 'M-y', // YEAR_NUM_MONTH
    'yMd': 'y-M-d', // YEAR_NUM_MONTH_DAY
    'yMEd': 'EEE, y-M-d', // YEAR_NUM_MONTH_WEEKDAY_DAY
    'yMMM': 'y MMM', // YEAR_ABBR_MONTH
    'yMMMd': 'y MMM d', // YEAR_ABBR_MONTH_DAY
    'yMMMEd': 'EEE, y MMM d', // YEAR_ABBR_MONTH_WEEKDAY_DAY
    'yMMMM': 'y MMMM', // YEAR_MONTH
    'yMMMMd': 'd MMMM y', // YEAR_MONTH_DAY
    'yMMMMEEEEd': 'EEEE, d MMMM y', // YEAR_MONTH_WEEKDAY_DAY
    'yQQQ': 'y QQQ', // YEAR_ABBR_QUARTER
    'yQQQQ': 'y QQQQ', // YEAR_QUARTER
    'H': 'HH', // HOUR24
    'Hm': 'HH:mm', // HOUR24_MINUTE
    'Hms': 'HH:mm:ss', // HOUR24_MINUTE_SECOND
    'j': 'h a', // HOUR
    'jm': 'h:mm a', // HOUR_MINUTE
    'jms': 'h:mm:ss a', // HOUR_MINUTE_SECOND
    'jmv': 'h:mm a v', // HOUR_MINUTE_GENERIC_TZ
    'jmz': 'h:mm a z', // HOUR_MINUTETZ
    'jz': 'h a z', // HOURGENERIC_TZ
    'm': 'm', // MINUTE
    'ms': 'mm:ss', // MINUTE_SECOND
    's': 's', // SECOND
    'v': 'v', // ABBR_GENERIC_TZ
    'z': 'z', // ABBR_SPECIFIC_TZ
    'zzzz': 'zzzz', // SPECIFIC_TZ
    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
  },

  /**
   * Extended set of localized date/time patterns for locale pl.
   */
  'pl': const {
    'd': 'd', // DAY
    'E': 'EEE', // ABBR_WEEKDAY
    'EEEE': 'EEEE', // WEEKDAY
    'LLL': 'LLL', // ABBR_STANDALONE_MONTH
    'LLLL': 'LLLL', // STANDALONE_MONTH
    'M': 'L', // NUM_MONTH
    'Md': 'd.M', // NUM_MONTH_DAY
    'MEd': 'EEE, d.MM', // NUM_MONTH_WEEKDAY_DAY
    'MMM': 'LLL', // ABBR_MONTH
    'MMMd': 'd MMM', // ABBR_MONTH_DAY
    'MMMEd': 'EEE, d MMM', // ABBR_MONTH_WEEKDAY_DAY
    'MMMM': 'LLLL', // MONTH
    'MMMMd': 'd MMMM', // MONTH_DAY
    'MMMMEEEEd': 'EEEE, d MMMM', // MONTH_WEEKDAY_DAY
    'QQQ': 'QQQ', // ABBR_QUARTER
    'QQQQ': 'QQQQ', // QUARTER
    'y': 'y', // YEAR
    'yM': 'MM.yyyy', // YEAR_NUM_MONTH
    'yMd': 'd.MM.yyyy', // YEAR_NUM_MONTH_DAY
    'yMEd': 'EEE, d.MM.yyyy', // YEAR_NUM_MONTH_WEEKDAY_DAY
    'yMMM': 'LLL y', // YEAR_ABBR_MONTH
    'yMMMd': 'd MMM y', // YEAR_ABBR_MONTH_DAY
    'yMMMEd': 'EEE, d MMM y', // YEAR_ABBR_MONTH_WEEKDAY_DAY
    'yMMMM': 'LLLL y', // YEAR_MONTH
    'yMMMMd': 'd MMMM y', // YEAR_MONTH_DAY
    'yMMMMEEEEd': 'EEEE, d MMMM y', // YEAR_MONTH_WEEKDAY_DAY
    'yQQQ': 'y QQQ', // YEAR_ABBR_QUARTER
    'yQQQQ': 'y QQQQ', // YEAR_QUARTER
    'H': 'HH', // HOUR24
    'Hm': 'HH:mm', // HOUR24_MINUTE
    'Hms': 'HH:mm:ss', // HOUR24_MINUTE_SECOND
    'j': 'HH', // HOUR
    'jm': 'HH:mm', // HOUR_MINUTE
    'jms': 'HH:mm:ss', // HOUR_MINUTE_SECOND
    'jmv': 'HH:mm v', // HOUR_MINUTE_GENERIC_TZ
    'jmz': 'HH:mm z', // HOUR_MINUTETZ
    'jz': 'HH z', // HOURGENERIC_TZ
    'm': 'm', // MINUTE
    'ms': 'mm:ss', // MINUTE_SECOND
    's': 's', // SECOND
    'v': 'v', // ABBR_GENERIC_TZ
    'z': 'z', // ABBR_SPECIFIC_TZ
    'zzzz': 'zzzz', // SPECIFIC_TZ
    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
  },

  /**
   * Extended set of localized date/time patterns for locale pt_BR.
   */
  'pt_BR': const {
    'd': 'd', // DAY
    'E': 'EEE', // ABBR_WEEKDAY
    'EEEE': 'EEEE', // WEEKDAY
    'LLL': 'LLL', // ABBR_STANDALONE_MONTH
    'LLLL': 'LLLL', // STANDALONE_MONTH
    'M': 'L', // NUM_MONTH
    'Md': 'd/M', // NUM_MONTH_DAY
    'MEd': 'EEE, dd/MM', // NUM_MONTH_WEEKDAY_DAY
    'MMM': 'LLL', // ABBR_MONTH
    'MMMd': 'd \'de\' MMM', // ABBR_MONTH_DAY
    'MMMEd': 'EEE, d \'de\' MMM', // ABBR_MONTH_WEEKDAY_DAY
    'MMMM': 'LLLL', // MONTH
    'MMMMd': 'd \'de\' MMMM', // MONTH_DAY
    'MMMMEEEEd': 'EEEE, d \'de\' MMMM', // MONTH_WEEKDAY_DAY
    'QQQ': 'QQQ', // ABBR_QUARTER
    'QQQQ': 'QQQQ', // QUARTER
    'y': 'y', // YEAR
    'yM': 'MM/yyyy', // YEAR_NUM_MONTH
    'yMd': 'dd/MM/yyyy', // YEAR_NUM_MONTH_DAY
    'yMEd': 'EEE, dd/MM/yyyy', // YEAR_NUM_MONTH_WEEKDAY_DAY
    'yMMM': 'MMM \'de\' y', // YEAR_ABBR_MONTH
    'yMMMd': 'd \'de\' MMM \'de\' y', // YEAR_ABBR_MONTH_DAY
    'yMMMEd': 'EEE, d \'de\' MMM \'de\' y', // YEAR_ABBR_MONTH_WEEKDAY_DAY
    'yMMMM': 'MMMM \'de\' y', // YEAR_MONTH
    'yMMMMd': 'd \'de\' MMMM \'de\' y', // YEAR_MONTH_DAY
    'yMMMMEEEEd': 'EEEE, d \'de\' MMMM \'de\' y', // YEAR_MONTH_WEEKDAY_DAY
    'yQQQ': 'y QQQ', // YEAR_ABBR_QUARTER
    'yQQQQ': 'y QQQQ', // YEAR_QUARTER
    'H': 'HH', // HOUR24
    'Hm': 'HH\'h\'mm', // HOUR24_MINUTE
    'Hms': 'HH:mm:ss', // HOUR24_MINUTE_SECOND
    'j': 'HH', // HOUR
    'jm': 'HH\'h\'mm', // HOUR_MINUTE
    'jms': 'HH:mm:ss', // HOUR_MINUTE_SECOND
    'jmv': 'HH\'h\'mm v', // HOUR_MINUTE_GENERIC_TZ
    'jmz': 'HH\'h\'mm z', // HOUR_MINUTETZ
    'jz': 'HH z', // HOURGENERIC_TZ
    'm': 'm', // MINUTE
    'ms': 'mm\'min\'ss\'s\'', // MINUTE_SECOND
    's': 's', // SECOND
    'v': 'v', // ABBR_GENERIC_TZ
    'z': 'z', // ABBR_SPECIFIC_TZ
    'zzzz': 'zzzz', // SPECIFIC_TZ
    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
  },

  /**
   * Extended set of localized date/time patterns for locale pt_PT.
   */
  'pt_PT': const {
    'd': 'd', // DAY
    'E': 'EEE', // ABBR_WEEKDAY
    'EEEE': 'EEEE', // WEEKDAY
    'LLL': 'LLL', // ABBR_STANDALONE_MONTH
    'LLLL': 'LLLL', // STANDALONE_MONTH
    'M': 'L', // NUM_MONTH
    'Md': 'd/M', // NUM_MONTH_DAY
    'MEd': 'EEE, dd/MM', // NUM_MONTH_WEEKDAY_DAY
    'MMM': 'LLL', // ABBR_MONTH
    'MMMd': 'd/MM', // ABBR_MONTH_DAY
    'MMMEd': 'EEE, d/MM', // ABBR_MONTH_WEEKDAY_DAY
    'MMMM': 'LLLL', // MONTH
    'MMMMd': 'd \'de\' MMMM', // MONTH_DAY
    'MMMMEEEEd': 'EEEE, d \'de\' MMMM', // MONTH_WEEKDAY_DAY
    'QQQ': 'QQQ', // ABBR_QUARTER
    'QQQQ': 'QQQQ', // QUARTER
    'y': 'y', // YEAR
    'yM': 'MM/yyyy', // YEAR_NUM_MONTH
    'yMd': 'dd/MM/yyyy', // YEAR_NUM_MONTH_DAY
    'yMEd': 'EEE, dd/MM/yyyy', // YEAR_NUM_MONTH_WEEKDAY_DAY
    'yMMM': 'MM/y', // YEAR_ABBR_MONTH
    'yMMMd': 'd/MM/y', // YEAR_ABBR_MONTH_DAY
    'yMMMEd': 'EEE, d/MM/y', // YEAR_ABBR_MONTH_WEEKDAY_DAY
    'yMMMM': 'MMMM \'de\' y', // YEAR_MONTH
    'yMMMMd': 'd \'de\' MMMM \'de\' y', // YEAR_MONTH_DAY
    'yMMMMEEEEd': 'EEEE, d \'de\' MMMM \'de\' y', // YEAR_MONTH_WEEKDAY_DAY
    'yQQQ': 'QQQ \'de\' y', // YEAR_ABBR_QUARTER
    'yQQQQ': 'QQQQ \'de\' y', // YEAR_QUARTER
    'H': 'HH', // HOUR24
    'Hm': 'HH:mm', // HOUR24_MINUTE
    'Hms': 'HH:mm:ss', // HOUR24_MINUTE_SECOND
    'j': 'HH', // HOUR
    'jm': 'HH:mm', // HOUR_MINUTE
    'jms': 'HH:mm:ss', // HOUR_MINUTE_SECOND
    'jmv': 'HH:mm v', // HOUR_MINUTE_GENERIC_TZ
    'jmz': 'HH:mm z', // HOUR_MINUTETZ
    'jz': 'HH z', // HOURGENERIC_TZ
    'm': 'm', // MINUTE
    'ms': 'mm:ss', // MINUTE_SECOND
    's': 's', // SECOND
    'v': 'v', // ABBR_GENERIC_TZ
    'z': 'z', // ABBR_SPECIFIC_TZ
    'zzzz': 'zzzz', // SPECIFIC_TZ
    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
  },

  /**
   * Extended set of localized date/time patterns for locale pt.
   */
  'pt': const {
    'd': 'd', // DAY
    'E': 'EEE', // ABBR_WEEKDAY
    'EEEE': 'EEEE', // WEEKDAY
    'LLL': 'LLL', // ABBR_STANDALONE_MONTH
    'LLLL': 'LLLL', // STANDALONE_MONTH
    'M': 'L', // NUM_MONTH
    'Md': 'd/M', // NUM_MONTH_DAY
    'MEd': 'EEE, dd/MM', // NUM_MONTH_WEEKDAY_DAY
    'MMM': 'LLL', // ABBR_MONTH
    'MMMd': 'd \'de\' MMM', // ABBR_MONTH_DAY
    'MMMEd': 'EEE, d \'de\' MMM', // ABBR_MONTH_WEEKDAY_DAY
    'MMMM': 'LLLL', // MONTH
    'MMMMd': 'd \'de\' MMMM', // MONTH_DAY
    'MMMMEEEEd': 'EEEE, d \'de\' MMMM', // MONTH_WEEKDAY_DAY
    'QQQ': 'QQQ', // ABBR_QUARTER
    'QQQQ': 'QQQQ', // QUARTER
    'y': 'y', // YEAR
    'yM': 'MM/yyyy', // YEAR_NUM_MONTH
    'yMd': 'dd/MM/yyyy', // YEAR_NUM_MONTH_DAY
    'yMEd': 'EEE, dd/MM/yyyy', // YEAR_NUM_MONTH_WEEKDAY_DAY
    'yMMM': 'MMM \'de\' y', // YEAR_ABBR_MONTH
    'yMMMd': 'd \'de\' MMM \'de\' y', // YEAR_ABBR_MONTH_DAY
    'yMMMEd': 'EEE, d \'de\' MMM \'de\' y', // YEAR_ABBR_MONTH_WEEKDAY_DAY
    'yMMMM': 'MMMM \'de\' y', // YEAR_MONTH
    'yMMMMd': 'd \'de\' MMMM \'de\' y', // YEAR_MONTH_DAY
    'yMMMMEEEEd': 'EEEE, d \'de\' MMMM \'de\' y', // YEAR_MONTH_WEEKDAY_DAY
    'yQQQ': 'y QQQ', // YEAR_ABBR_QUARTER
    'yQQQQ': 'y QQQQ', // YEAR_QUARTER
    'H': 'HH', // HOUR24
    'Hm': 'HH\'h\'mm', // HOUR24_MINUTE
    'Hms': 'HH:mm:ss', // HOUR24_MINUTE_SECOND
    'j': 'HH', // HOUR
    'jm': 'HH\'h\'mm', // HOUR_MINUTE
    'jms': 'HH:mm:ss', // HOUR_MINUTE_SECOND
    'jmv': 'HH\'h\'mm v', // HOUR_MINUTE_GENERIC_TZ
    'jmz': 'HH\'h\'mm z', // HOUR_MINUTETZ
    'jz': 'HH z', // HOURGENERIC_TZ
    'm': 'm', // MINUTE
    'ms': 'mm\'min\'ss\'s\'', // MINUTE_SECOND
    's': 's', // SECOND
    'v': 'v', // ABBR_GENERIC_TZ
    'z': 'z', // ABBR_SPECIFIC_TZ
    'zzzz': 'zzzz', // SPECIFIC_TZ
    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
  },

  /**
   * Extended set of localized date/time patterns for locale ro.
   */
  'ro': const {
    'd': 'd', // DAY
    'E': 'EEE', // ABBR_WEEKDAY
    'EEEE': 'EEEE', // WEEKDAY
    'LLL': 'LLL', // ABBR_STANDALONE_MONTH
    'LLLL': 'LLLL', // STANDALONE_MONTH
    'M': 'L', // NUM_MONTH
    'Md': 'd.M', // NUM_MONTH_DAY
    'MEd': 'EEE, dd.MM', // NUM_MONTH_WEEKDAY_DAY
    'MMM': 'LLL', // ABBR_MONTH
    'MMMd': 'd MMM', // ABBR_MONTH_DAY
    'MMMEd': 'EEE, d MMM', // ABBR_MONTH_WEEKDAY_DAY
    'MMMM': 'LLLL', // MONTH
    'MMMMd': 'd MMMM', // MONTH_DAY
    'MMMMEEEEd': 'EEEE, d MMMM', // MONTH_WEEKDAY_DAY
    'QQQ': 'QQQ', // ABBR_QUARTER
    'QQQQ': 'QQQQ', // QUARTER
    'y': 'y', // YEAR
    'yM': 'MM.yyyy', // YEAR_NUM_MONTH
    'yMd': 'dd.MM.yyyy', // YEAR_NUM_MONTH_DAY
    'yMEd': 'EEE, dd.MM.yyyy', // YEAR_NUM_MONTH_WEEKDAY_DAY
    'yMMM': 'MMM y', // YEAR_ABBR_MONTH
    'yMMMd': 'd MMM y', // YEAR_ABBR_MONTH_DAY
    'yMMMEd': 'EEE, d MMM y', // YEAR_ABBR_MONTH_WEEKDAY_DAY
    'yMMMM': 'MMMM y', // YEAR_MONTH
    'yMMMMd': 'd MMMM y', // YEAR_MONTH_DAY
    'yMMMMEEEEd': 'EEEE, d MMMM y', // YEAR_MONTH_WEEKDAY_DAY
    'yQQQ': 'QQQ y', // YEAR_ABBR_QUARTER
    'yQQQQ': 'QQQQ y', // YEAR_QUARTER
    'H': 'HH', // HOUR24
    'Hm': 'HH:mm', // HOUR24_MINUTE
    'Hms': 'HH:mm:ss', // HOUR24_MINUTE_SECOND
    'j': 'HH', // HOUR
    'jm': 'HH:mm', // HOUR_MINUTE
    'jms': 'HH:mm:ss', // HOUR_MINUTE_SECOND
    'jmv': 'HH:mm v', // HOUR_MINUTE_GENERIC_TZ
    'jmz': 'HH:mm z', // HOUR_MINUTETZ
    'jz': 'HH z', // HOURGENERIC_TZ
    'm': 'm', // MINUTE
    'ms': 'mm:ss', // MINUTE_SECOND
    's': 's', // SECOND
    'v': 'v', // ABBR_GENERIC_TZ
    'z': 'z', // ABBR_SPECIFIC_TZ
    'zzzz': 'zzzz', // SPECIFIC_TZ
    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
  },

  /**
   * Extended set of localized date/time patterns for locale ru.
   */
  'ru': const {
    'd': 'd', // DAY
    'E': 'ccc', // ABBR_WEEKDAY
    'EEEE': 'cccc', // WEEKDAY
    'LLL': 'LLL', // ABBR_STANDALONE_MONTH
    'LLLL': 'LLLL', // STANDALONE_MONTH
    'M': 'L', // NUM_MONTH
    'Md': 'd.M', // NUM_MONTH_DAY
    'MEd': 'EEE, dd.MM', // NUM_MONTH_WEEKDAY_DAY
    'MMM': 'LLL', // ABBR_MONTH
    'MMMd': 'd MMM', // ABBR_MONTH_DAY
    'MMMEd': 'ccc, d MMM', // ABBR_MONTH_WEEKDAY_DAY
    'MMMM': 'LLLL', // MONTH
    'MMMMd': 'd MMMM', // MONTH_DAY
    'MMMMEEEEd': 'cccc, d MMMM', // MONTH_WEEKDAY_DAY
    'QQQ': 'QQQ', // ABBR_QUARTER
    'QQQQ': 'QQQQ', // QUARTER
    'y': 'y', // YEAR
    'yM': 'MM.y', // YEAR_NUM_MONTH
    'yMd': 'dd.MM.y', // YEAR_NUM_MONTH_DAY
    'yMEd': 'EEE, dd.MM.y', // YEAR_NUM_MONTH_WEEKDAY_DAY
    'yMMM': 'LLL y', // YEAR_ABBR_MONTH
    'yMMMd': 'd MMM y \'г\'.', // YEAR_ABBR_MONTH_DAY
    'yMMMEd': 'EEE, d MMM y', // YEAR_ABBR_MONTH_WEEKDAY_DAY
    'yMMMM': 'LLLL y', // YEAR_MONTH
    'yMMMMd': 'd MMMM y \'г\'.', // YEAR_MONTH_DAY
    'yMMMMEEEEd': 'EEEE, d MMMM y \'г\'.', // YEAR_MONTH_WEEKDAY_DAY
    'yQQQ': 'y QQQ', // YEAR_ABBR_QUARTER
    'yQQQQ': 'y QQQQ', // YEAR_QUARTER
    'H': 'H', // HOUR24
    'Hm': 'H:mm', // HOUR24_MINUTE
    'Hms': 'H:mm:ss', // HOUR24_MINUTE_SECOND
    'j': 'H', // HOUR
    'jm': 'H:mm', // HOUR_MINUTE
    'jms': 'H:mm:ss', // HOUR_MINUTE_SECOND
    'jmv': 'H:mm v', // HOUR_MINUTE_GENERIC_TZ
    'jmz': 'H:mm z', // HOUR_MINUTETZ
    'jz': 'H z', // HOURGENERIC_TZ
    'm': 'm', // MINUTE
    'ms': 'mm:ss', // MINUTE_SECOND
    's': 's', // SECOND
    'v': 'v', // ABBR_GENERIC_TZ
    'z': 'z', // ABBR_SPECIFIC_TZ
    'zzzz': 'zzzz', // SPECIFIC_TZ
    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
  },

  /**
   * Extended set of localized date/time patterns for locale sk.
   */
  'sk': const {
    'd': 'd.', // DAY
    'E': 'EEE', // ABBR_WEEKDAY
    'EEEE': 'EEEE', // WEEKDAY
    'LLL': 'LLL', // ABBR_STANDALONE_MONTH
    'LLLL': 'LLLL', // STANDALONE_MONTH
    'M': 'L.', // NUM_MONTH
    'Md': 'd.M.', // NUM_MONTH_DAY
    'MEd': 'EEE, d.M.', // NUM_MONTH_WEEKDAY_DAY
    'MMM': 'LLL', // ABBR_MONTH
    'MMMd': 'd. MMM', // ABBR_MONTH_DAY
    'MMMEd': 'EEE, d. MMM', // ABBR_MONTH_WEEKDAY_DAY
    'MMMM': 'LLLL', // MONTH
    'MMMMd': 'd. MMMM', // MONTH_DAY
    'MMMMEEEEd': 'EEEE, d. MMMM', // MONTH_WEEKDAY_DAY
    'QQQ': 'QQQ', // ABBR_QUARTER
    'QQQQ': 'QQQQ', // QUARTER
    'y': 'y', // YEAR
    'yM': 'M.yyyy', // YEAR_NUM_MONTH
    'yMd': 'd.M.yyyy', // YEAR_NUM_MONTH_DAY
    'yMEd': 'EEE, d.M.yyyy', // YEAR_NUM_MONTH_WEEKDAY_DAY
    'yMMM': 'LLL y', // YEAR_ABBR_MONTH
    'yMMMd': 'd.M.yyyy', // YEAR_ABBR_MONTH_DAY
    'yMMMEd': 'EEE, d. MMM y', // YEAR_ABBR_MONTH_WEEKDAY_DAY
    'yMMMM': 'LLLL y', // YEAR_MONTH
    'yMMMMd': 'd. MMMM y', // YEAR_MONTH_DAY
    'yMMMMEEEEd': 'EEEE, d. MMMM y', // YEAR_MONTH_WEEKDAY_DAY
    'yQQQ': 'QQQ y', // YEAR_ABBR_QUARTER
    'yQQQQ': 'QQQQ y', // YEAR_QUARTER
    'H': 'H', // HOUR24
    'Hm': 'H:mm', // HOUR24_MINUTE
    'Hms': 'H:mm:ss', // HOUR24_MINUTE_SECOND
    'j': 'H', // HOUR
    'jm': 'H:mm', // HOUR_MINUTE
    'jms': 'H:mm:ss', // HOUR_MINUTE_SECOND
    'jmv': 'H:mm v', // HOUR_MINUTE_GENERIC_TZ
    'jmz': 'H:mm z', // HOUR_MINUTETZ
    'jz': 'H z', // HOURGENERIC_TZ
    'm': 'm', // MINUTE
    'ms': 'mm:ss', // MINUTE_SECOND
    's': 's', // SECOND
    'v': 'v', // ABBR_GENERIC_TZ
    'z': 'z', // ABBR_SPECIFIC_TZ
    'zzzz': 'zzzz', // SPECIFIC_TZ
    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
  },

  /**
   * Extended set of localized date/time patterns for locale sl.
   */
  'sl': const {
    'd': 'd', // DAY
    'E': 'EEE', // ABBR_WEEKDAY
    'EEEE': 'EEEE', // WEEKDAY
    'LLL': 'LLL', // ABBR_STANDALONE_MONTH
    'LLLL': 'LLLL', // STANDALONE_MONTH
    'M': 'L', // NUM_MONTH
    'Md': 'd. M.', // NUM_MONTH_DAY
    'MEd': 'EEE, d. MM.', // NUM_MONTH_WEEKDAY_DAY
    'MMM': 'LLL', // ABBR_MONTH
    'MMMd': 'd. MMM', // ABBR_MONTH_DAY
    'MMMEd': 'EEE, d. MMM', // ABBR_MONTH_WEEKDAY_DAY
    'MMMM': 'LLLL', // MONTH
    'MMMMd': 'd. MMMM', // MONTH_DAY
    'MMMMEEEEd': 'EEEE, d. MMMM', // MONTH_WEEKDAY_DAY
    'QQQ': 'QQQ', // ABBR_QUARTER
    'QQQQ': 'QQQQ', // QUARTER
    'y': 'y', // YEAR
    'yM': 'M/y', // YEAR_NUM_MONTH
    'yMd': 'd. M. y', // YEAR_NUM_MONTH_DAY
    'yMEd': 'EEE, d. M. y', // YEAR_NUM_MONTH_WEEKDAY_DAY
    'yMMM': 'MMM y', // YEAR_ABBR_MONTH
    'yMMMd': 'MMM d, y', // YEAR_ABBR_MONTH_DAY
    'yMMMEd': 'EEE, d. MMM y', // YEAR_ABBR_MONTH_WEEKDAY_DAY
    'yMMMM': 'MMMM y', // YEAR_MONTH
    'yMMMMd': 'd. MMMM y', // YEAR_MONTH_DAY
    'yMMMMEEEEd': 'EEEE, d. MMMM y', // YEAR_MONTH_WEEKDAY_DAY
    'yQQQ': 'QQQ y', // YEAR_ABBR_QUARTER
    'yQQQQ': 'QQQQ y', // YEAR_QUARTER
    'H': 'HH', // HOUR24
    'Hm': 'HH:mm', // HOUR24_MINUTE
    'Hms': 'HH:mm:ss', // HOUR24_MINUTE_SECOND
    'j': 'HH', // HOUR
    'jm': 'HH:mm', // HOUR_MINUTE
    'jms': 'HH:mm:ss', // HOUR_MINUTE_SECOND
    'jmv': 'HH:mm v', // HOUR_MINUTE_GENERIC_TZ
    'jmz': 'HH:mm z', // HOUR_MINUTETZ
    'jz': 'HH z', // HOURGENERIC_TZ
    'm': 'm', // MINUTE
    'ms': 'mm:ss', // MINUTE_SECOND
    's': 's', // SECOND
    'v': 'v', // ABBR_GENERIC_TZ
    'z': 'z', // ABBR_SPECIFIC_TZ
    'zzzz': 'zzzz', // SPECIFIC_TZ
    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
  },

  /**
   * Extended set of localized date/time patterns for locale sq.
   */
  'sq': const {
    'd': 'd', // DAY
    'E': 'EEE', // ABBR_WEEKDAY
    'EEEE': 'EEEE', // WEEKDAY
    'LLL': 'LLL', // ABBR_STANDALONE_MONTH
    'LLLL': 'LLLL', // STANDALONE_MONTH
    'M': 'L', // NUM_MONTH
    'Md': 'M-d', // NUM_MONTH_DAY
    'MEd': 'EEE, d.M', // NUM_MONTH_WEEKDAY_DAY
    'MMM': 'LLL', // ABBR_MONTH
    'MMMd': 'd MMM', // ABBR_MONTH_DAY
    'MMMEd': 'EEE d MMM', // ABBR_MONTH_WEEKDAY_DAY
    'MMMM': 'LLLL', // MONTH
    'MMMMd': 'd MMMM', // MONTH_DAY
    'MMMMEEEEd': 'EEEE d MMMM', // MONTH_WEEKDAY_DAY
    'QQQ': 'QQQ', // ABBR_QUARTER
    'QQQQ': 'QQQQ', // QUARTER
    'y': 'y', // YEAR
    'yM': 'M.yyyy', // YEAR_NUM_MONTH
    'yMd': 'y-M-d', // YEAR_NUM_MONTH_DAY
    'yMEd': 'EEE, d.M.yyyy', // YEAR_NUM_MONTH_WEEKDAY_DAY
    'yMMM': 'MMM y', // YEAR_ABBR_MONTH
    'yMMMd': 'y MMM d', // YEAR_ABBR_MONTH_DAY
    'yMMMEd': 'EEE, d MMM y', // YEAR_ABBR_MONTH_WEEKDAY_DAY
    'yMMMM': 'MMMM y', // YEAR_MONTH
    'yMMMMd': 'd MMMM y', // YEAR_MONTH_DAY
    'yMMMMEEEEd': 'EEEE, d MMMM y', // YEAR_MONTH_WEEKDAY_DAY
    'yQQQ': 'y QQQ', // YEAR_ABBR_QUARTER
    'yQQQQ': 'y QQQQ', // YEAR_QUARTER
    'H': 'H', // HOUR24
    'Hm': 'H.mm', // HOUR24_MINUTE
    'Hms': 'H.mm.ss', // HOUR24_MINUTE_SECOND
    'j': 'h.a', // HOUR
    'jm': 'h.mm.a', // HOUR_MINUTE
    'jms': 'h.mm.ss.a', // HOUR_MINUTE_SECOND
    'jmv': 'h.mm.a v', // HOUR_MINUTE_GENERIC_TZ
    'jmz': 'h.mm.a z', // HOUR_MINUTETZ
    'jz': 'h.a z', // HOURGENERIC_TZ
    'm': 'm', // MINUTE
    'ms': 'mm.ss', // MINUTE_SECOND
    's': 's', // SECOND
    'v': 'v', // ABBR_GENERIC_TZ
    'z': 'z', // ABBR_SPECIFIC_TZ
    'zzzz': 'zzzz', // SPECIFIC_TZ
    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
  },

  /**
   * Extended set of localized date/time patterns for locale sr.
   */
  'sr': const {
    'd': 'd', // DAY
    'E': 'EEE', // ABBR_WEEKDAY
    'EEEE': 'EEEE', // WEEKDAY
    'LLL': 'LLL', // ABBR_STANDALONE_MONTH
    'LLLL': 'LLLL', // STANDALONE_MONTH
    'M': 'L', // NUM_MONTH
    'Md': 'M-d', // NUM_MONTH_DAY
    'MEd': 'EEE, M-d', // NUM_MONTH_WEEKDAY_DAY
    'MMM': 'LLL', // ABBR_MONTH
    'MMMd': 'd. MMM', // ABBR_MONTH_DAY
    'MMMEd': 'EEE d. MMM', // ABBR_MONTH_WEEKDAY_DAY
    'MMMM': 'LLLL', // MONTH
    'MMMMd': 'd. MMMM', // MONTH_DAY
    'MMMMEEEEd': 'EEEE d. MMMM', // MONTH_WEEKDAY_DAY
    'QQQ': 'QQQ', // ABBR_QUARTER
    'QQQQ': 'QQQQ', // QUARTER
    'y': 'y.', // YEAR
    'yM': 'y-M', // YEAR_NUM_MONTH
    'yMd': 'd. M. y.', // YEAR_NUM_MONTH_DAY
    'yMEd': 'EEE, d. M. yyyy.', // YEAR_NUM_MONTH_WEEKDAY_DAY
    'yMMM': 'MMM y.', // YEAR_ABBR_MONTH
    'yMMMd': 'd. MMM y.', // YEAR_ABBR_MONTH_DAY
    'yMMMEd': 'EEE, d. MMM y.', // YEAR_ABBR_MONTH_WEEKDAY_DAY
    'yMMMM': 'MMMM y.', // YEAR_MONTH
    'yMMMMd': 'd. MMMM y.', // YEAR_MONTH_DAY
    'yMMMMEEEEd': 'EEEE, d. MMMM y.', // YEAR_MONTH_WEEKDAY_DAY
    'yQQQ': 'QQQ. y', // YEAR_ABBR_QUARTER
    'yQQQQ': 'QQQQ. y', // YEAR_QUARTER
    'H': 'HH', // HOUR24
    'Hm': 'HH.mm', // HOUR24_MINUTE
    'Hms': 'HH.mm.ss', // HOUR24_MINUTE_SECOND
    'j': 'HH', // HOUR
    'jm': 'HH.mm', // HOUR_MINUTE
    'jms': 'HH.mm.ss', // HOUR_MINUTE_SECOND
    'jmv': 'HH.mm v', // HOUR_MINUTE_GENERIC_TZ
    'jmz': 'HH.mm z', // HOUR_MINUTETZ
    'jz': 'HH z', // HOURGENERIC_TZ
    'm': 'm', // MINUTE
    'ms': 'mm.ss', // MINUTE_SECOND
    's': 's', // SECOND
    'v': 'v', // ABBR_GENERIC_TZ
    'z': 'z', // ABBR_SPECIFIC_TZ
    'zzzz': 'zzzz', // SPECIFIC_TZ
    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
  },

  /**
   * Extended set of localized date/time patterns for locale sv.
   */
  'sv': const {
    'd': 'd', // DAY
    'E': 'EEE', // ABBR_WEEKDAY
    'EEEE': 'EEEE', // WEEKDAY
    'LLL': 'LLL', // ABBR_STANDALONE_MONTH
    'LLLL': 'LLLL', // STANDALONE_MONTH
    'M': 'L', // NUM_MONTH
    'Md': 'd/M', // NUM_MONTH_DAY
    'MEd': 'EEE d/M', // NUM_MONTH_WEEKDAY_DAY
    'MMM': 'LLL', // ABBR_MONTH
    'MMMd': 'd MMM', // ABBR_MONTH_DAY
    'MMMEd': 'EEE d MMM', // ABBR_MONTH_WEEKDAY_DAY
    'MMMM': 'LLLL', // MONTH
    'MMMMd': 'd:\'e\' MMMM', // MONTH_DAY
    'MMMMEEEEd': 'EEEE d:\'e\' MMMM', // MONTH_WEEKDAY_DAY
    'QQQ': 'QQQ', // ABBR_QUARTER
    'QQQQ': 'QQQQ', // QUARTER
    'y': 'y', // YEAR
    'yM': 'yyyy-MM', // YEAR_NUM_MONTH
    'yMd': 'yyyy-MM-dd', // YEAR_NUM_MONTH_DAY
    'yMEd': 'EEE, yyyy-MM-dd', // YEAR_NUM_MONTH_WEEKDAY_DAY
    'yMMM': 'MMM y', // YEAR_ABBR_MONTH
    'yMMMd': 'd MMM y', // YEAR_ABBR_MONTH_DAY
    'yMMMEd': 'EEE d MMM y', // YEAR_ABBR_MONTH_WEEKDAY_DAY
    'yMMMM': 'MMMM y', // YEAR_MONTH
    'yMMMMd': 'd MMMM y', // YEAR_MONTH_DAY
    'yMMMMEEEEd': 'EEEE\'en\' \'den\' d:\'e\' MMMM y', // YEAR_MONTH_WEEKDAY_DAY
    'yQQQ': 'y QQQ', // YEAR_ABBR_QUARTER
    'yQQQQ': 'y QQQQ', // YEAR_QUARTER
    'H': 'HH', // HOUR24
    'Hm': 'HH:mm', // HOUR24_MINUTE
    'Hms': 'HH:mm:ss', // HOUR24_MINUTE_SECOND
    'j': 'HH', // HOUR
    'jm': 'HH:mm', // HOUR_MINUTE
    'jms': 'HH:mm:ss', // HOUR_MINUTE_SECOND
    'jmv': 'HH:mm v', // HOUR_MINUTE_GENERIC_TZ
    'jmz': 'HH:mm z', // HOUR_MINUTETZ
    'jz': 'HH z', // HOURGENERIC_TZ
    'm': 'm', // MINUTE
    'ms': 'mm:ss', // MINUTE_SECOND
    's': 's', // SECOND
    'v': 'v', // ABBR_GENERIC_TZ
    'z': 'z', // ABBR_SPECIFIC_TZ
    'zzzz': 'zzzz', // SPECIFIC_TZ
    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
  },

  /**
   * Extended set of localized date/time patterns for locale sw.
   */
  'sw': const {
    'd': 'd', // DAY
    'E': 'EEE', // ABBR_WEEKDAY
    'EEEE': 'EEEE', // WEEKDAY
    'LLL': 'LLL', // ABBR_STANDALONE_MONTH
    'LLLL': 'LLLL', // STANDALONE_MONTH
    'M': 'L', // NUM_MONTH
    'Md': 'M/d', // NUM_MONTH_DAY
    'MEd': 'EEE, M/d', // NUM_MONTH_WEEKDAY_DAY
    'MMM': 'LLL', // ABBR_MONTH
    'MMMd': 'MMM d', // ABBR_MONTH_DAY
    'MMMEd': 'EEE, MMM d', // ABBR_MONTH_WEEKDAY_DAY
    'MMMM': 'LLLL', // MONTH
    'MMMMd': 'MMMM d', // MONTH_DAY
    'MMMMEEEEd': 'EEEE, MMMM d', // MONTH_WEEKDAY_DAY
    'QQQ': 'QQQ', // ABBR_QUARTER
    'QQQQ': 'QQQQ', // QUARTER
    'y': 'y', // YEAR
    'yM': 'M/y', // YEAR_NUM_MONTH
    'yMd': 'd/M/y', // YEAR_NUM_MONTH_DAY
    'yMEd': 'EEE, M/d/y', // YEAR_NUM_MONTH_WEEKDAY_DAY
    'yMMM': 'MMM y', // YEAR_ABBR_MONTH
    'yMMMd': 'd MMM y', // YEAR_ABBR_MONTH_DAY
    'yMMMEd': 'EEE, MMM d, y', // YEAR_ABBR_MONTH_WEEKDAY_DAY
    'yMMMM': 'MMMM y', // YEAR_MONTH
    'yMMMMd': 'd MMMM y', // YEAR_MONTH_DAY
    'yMMMMEEEEd': 'EEEE, d MMMM y', // YEAR_MONTH_WEEKDAY_DAY
    'yQQQ': 'QQQ y', // YEAR_ABBR_QUARTER
    'yQQQQ': 'QQQQ y', // YEAR_QUARTER
    'H': 'HH', // HOUR24
    'Hm': 'HH:mm', // HOUR24_MINUTE
    'Hms': 'HH:mm:ss', // HOUR24_MINUTE_SECOND
    'j': 'h a', // HOUR
    'jm': 'h:mm a', // HOUR_MINUTE
    'jms': 'h:mm:ss a', // HOUR_MINUTE_SECOND
    'jmv': 'h:mm a v', // HOUR_MINUTE_GENERIC_TZ
    'jmz': 'h:mm a z', // HOUR_MINUTETZ
    'jz': 'h a z', // HOURGENERIC_TZ
    'm': 'm', // MINUTE
    'ms': 'mm:ss', // MINUTE_SECOND
    's': 's', // SECOND
    'v': 'v', // ABBR_GENERIC_TZ
    'z': 'z', // ABBR_SPECIFIC_TZ
    'zzzz': 'zzzz', // SPECIFIC_TZ
    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
  },

  /**
   * Extended set of localized date/time patterns for locale ta.
   */
  'ta': const {
    'd': 'd', // DAY
    'E': 'EEE', // ABBR_WEEKDAY
    'EEEE': 'EEEE', // WEEKDAY
    'LLL': 'LLL', // ABBR_STANDALONE_MONTH
    'LLLL': 'LLLL', // STANDALONE_MONTH
    'M': 'L', // NUM_MONTH
    'Md': 'd-M', // NUM_MONTH_DAY
    'MEd': 'EEE, d/M', // NUM_MONTH_WEEKDAY_DAY
    'MMM': 'LLL', // ABBR_MONTH
    'MMMd': 'd MMM', // ABBR_MONTH_DAY
    'MMMEd': 'EEE, d MMM', // ABBR_MONTH_WEEKDAY_DAY
    'MMMM': 'LLLL', // MONTH
    'MMMMd': 'd MMMM', // MONTH_DAY
    'MMMMEEEEd': 'EEEE, d MMMM', // MONTH_WEEKDAY_DAY
    'QQQ': 'QQQ', // ABBR_QUARTER
    'QQQQ': 'QQQQ', // QUARTER
    'y': 'y', // YEAR
    'yM': 'M/y', // YEAR_NUM_MONTH
    'yMd': 'd/M/y', // YEAR_NUM_MONTH_DAY
    'yMEd': 'EEE, d/M/y', // YEAR_NUM_MONTH_WEEKDAY_DAY
    'yMMM': 'MMM y', // YEAR_ABBR_MONTH
    'yMMMd': 'd MMM, y', // YEAR_ABBR_MONTH_DAY
    'yMMMEd': 'EEE, d MMM, y', // YEAR_ABBR_MONTH_WEEKDAY_DAY
    'yMMMM': 'MMMM y', // YEAR_MONTH
    'yMMMMd': 'd MMMM, y', // YEAR_MONTH_DAY
    'yMMMMEEEEd': 'EEEE, d MMMM, y', // YEAR_MONTH_WEEKDAY_DAY
    'yQQQ': 'y QQQ', // YEAR_ABBR_QUARTER
    'yQQQQ': 'y QQQQ', // YEAR_QUARTER
    'H': 'HH', // HOUR24
    'Hm': 'HH:mm', // HOUR24_MINUTE
    'Hms': 'HH:mm:ss', // HOUR24_MINUTE_SECOND
    'j': 'h a', // HOUR
    'jm': 'h:mm a', // HOUR_MINUTE
    'jms': 'h:mm:ss a', // HOUR_MINUTE_SECOND
    'jmv': 'h:mm a v', // HOUR_MINUTE_GENERIC_TZ
    'jmz': 'h:mm a z', // HOUR_MINUTETZ
    'jz': 'h a z', // HOURGENERIC_TZ
    'm': 'm', // MINUTE
    'ms': 'mm:ss', // MINUTE_SECOND
    's': 's', // SECOND
    'v': 'v', // ABBR_GENERIC_TZ
    'z': 'z', // ABBR_SPECIFIC_TZ
    'zzzz': 'zzzz', // SPECIFIC_TZ
    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
  },

  /**
   * Extended set of localized date/time patterns for locale te.
   */
  'te': const {
    'd': 'd', // DAY
    'E': 'EEE', // ABBR_WEEKDAY
    'EEEE': 'EEEE', // WEEKDAY
    'LLL': 'LLL', // ABBR_STANDALONE_MONTH
    'LLLL': 'LLLL', // STANDALONE_MONTH
    'M': 'L', // NUM_MONTH
    'Md': 'd-M', // NUM_MONTH_DAY
    'MEd': 'EEE, d/M', // NUM_MONTH_WEEKDAY_DAY
    'MMM': 'LLL', // ABBR_MONTH
    'MMMd': 'd MMM', // ABBR_MONTH_DAY
    'MMMEd': 'EEE, d MMM', // ABBR_MONTH_WEEKDAY_DAY
    'MMMM': 'LLLL', // MONTH
    'MMMMd': 'd MMMM', // MONTH_DAY
    'MMMMEEEEd': 'EEEE, d MMMM', // MONTH_WEEKDAY_DAY
    'QQQ': 'QQQ', // ABBR_QUARTER
    'QQQQ': 'QQQQ', // QUARTER
    'y': 'y', // YEAR
    'yM': 'M/y', // YEAR_NUM_MONTH
    'yMd': 'd/M/y', // YEAR_NUM_MONTH_DAY
    'yMEd': 'EEE, d/M/y', // YEAR_NUM_MONTH_WEEKDAY_DAY
    'yMMM': 'MMM y', // YEAR_ABBR_MONTH
    'yMMMd': 'd, MMM y', // YEAR_ABBR_MONTH_DAY
    'yMMMEd': 'EEE, d, MMM y', // YEAR_ABBR_MONTH_WEEKDAY_DAY
    'yMMMM': 'MMMM y', // YEAR_MONTH
    'yMMMMd': 'd MMMM y', // YEAR_MONTH_DAY
    'yMMMMEEEEd': 'EEEE d MMMM y', // YEAR_MONTH_WEEKDAY_DAY
    'yQQQ': 'QQQ y', // YEAR_ABBR_QUARTER
    'yQQQQ': 'QQQQ y', // YEAR_QUARTER
    'H': 'HH', // HOUR24
    'Hm': 'HH:mm', // HOUR24_MINUTE
    'Hms': 'HH:mm:ss', // HOUR24_MINUTE_SECOND
    'j': 'h a', // HOUR
    'jm': 'h:mm a', // HOUR_MINUTE
    'jms': 'h:mm:ss a', // HOUR_MINUTE_SECOND
    'jmv': 'h:mm a v', // HOUR_MINUTE_GENERIC_TZ
    'jmz': 'h:mm a z', // HOUR_MINUTETZ
    'jz': 'h a z', // HOURGENERIC_TZ
    'm': 'm', // MINUTE
    'ms': 'mm:ss', // MINUTE_SECOND
    's': 's', // SECOND
    'v': 'v', // ABBR_GENERIC_TZ
    'z': 'z', // ABBR_SPECIFIC_TZ
    'zzzz': 'zzzz', // SPECIFIC_TZ
    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
  },

  /**
   * Extended set of localized date/time patterns for locale th.
   */
  'th': const {
    'd': 'd', // DAY
    'E': 'EEE', // ABBR_WEEKDAY
    'EEEE': 'EEEE', // WEEKDAY
    'LLL': 'LLL', // ABBR_STANDALONE_MONTH
    'LLLL': 'LLLL', // STANDALONE_MONTH
    'M': 'L', // NUM_MONTH
    'Md': 'd/M', // NUM_MONTH_DAY
    'MEd': 'EEE, d/M', // NUM_MONTH_WEEKDAY_DAY
    'MMM': 'LLL', // ABBR_MONTH
    'MMMd': 'd MMM', // ABBR_MONTH_DAY
    'MMMEd': 'EEE d MMM', // ABBR_MONTH_WEEKDAY_DAY
    'MMMM': 'LLLL', // MONTH
    'MMMMd': 'd MMMM', // MONTH_DAY
    'MMMMEEEEd': 'EEEE d MMMM', // MONTH_WEEKDAY_DAY
    'QQQ': 'QQQ', // ABBR_QUARTER
    'QQQQ': 'QQQQ', // QUARTER
    'y': 'G y', // YEAR
    'yM': 'M/yyyy', // YEAR_NUM_MONTH
    'yMd': 'd/M/yyyy', // YEAR_NUM_MONTH_DAY
    'yMEd': 'EEE d/M/yyyy', // YEAR_NUM_MONTH_WEEKDAY_DAY
    'yMMM': 'MMM y', // YEAR_ABBR_MONTH
    'yMMMd': 'd MMM y', // YEAR_ABBR_MONTH_DAY
    'yMMMEd': 'EEE d MMM y', // YEAR_ABBR_MONTH_WEEKDAY_DAY
    'yMMMM': 'MMMM y', // YEAR_MONTH
    'yMMMMd': 'd MMMM y', // YEAR_MONTH_DAY
    'yMMMMEEEEd': 'EEEE d MMMM y', // YEAR_MONTH_WEEKDAY_DAY
    'yQQQ': 'QQQ y', // YEAR_ABBR_QUARTER
    'yQQQQ': 'QQQQ y', // YEAR_QUARTER
    'H': 'H', // HOUR24
    'Hm': 'H:mm', // HOUR24_MINUTE
    'Hms': 'H:mm:ss', // HOUR24_MINUTE_SECOND
    'j': 'H', // HOUR
    'jm': 'H:mm', // HOUR_MINUTE
    'jms': 'H:mm:ss', // HOUR_MINUTE_SECOND
    'jmv': 'H:mm v', // HOUR_MINUTE_GENERIC_TZ
    'jmz': 'H:mm z', // HOUR_MINUTETZ
    'jz': 'H z', // HOURGENERIC_TZ
    'm': 'm', // MINUTE
    'ms': 'mm:ss', // MINUTE_SECOND
    's': 's', // SECOND
    'v': 'v', // ABBR_GENERIC_TZ
    'z': 'z', // ABBR_SPECIFIC_TZ
    'zzzz': 'zzzz', // SPECIFIC_TZ
    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
  },

  /**
   * Extended set of localized date/time patterns for locale tl.
   */
  'tl': const {
    'd': 'd', // DAY
    'E': 'EEE', // ABBR_WEEKDAY
    'EEEE': 'EEEE', // WEEKDAY
    'LLL': 'LLL', // ABBR_STANDALONE_MONTH
    'LLLL': 'LLLL', // STANDALONE_MONTH
    'M': 'L', // NUM_MONTH
    'Md': 'M-d', // NUM_MONTH_DAY
    'MEd': 'EEE, M-d', // NUM_MONTH_WEEKDAY_DAY
    'MMM': 'LLL', // ABBR_MONTH
    'MMMd': 'MMM d', // ABBR_MONTH_DAY
    'MMMEd': 'EEE MMM d', // ABBR_MONTH_WEEKDAY_DAY
    'MMMM': 'LLLL', // MONTH
    'MMMMd': 'MMMM d', // MONTH_DAY
    'MMMMEEEEd': 'EEEE MMMM d', // MONTH_WEEKDAY_DAY
    'QQQ': 'QQQ', // ABBR_QUARTER
    'QQQQ': 'QQQQ', // QUARTER
    'y': 'y', // YEAR
    'yM': 'yyyy-M', // YEAR_NUM_MONTH
    'yMd': 'M/d/y', // YEAR_NUM_MONTH_DAY
    'yMEd': 'EEE, yyyy-M-d', // YEAR_NUM_MONTH_WEEKDAY_DAY
    'yMMM': 'y MMM', // YEAR_ABBR_MONTH
    'yMMMd': 'MMM d, y', // YEAR_ABBR_MONTH_DAY
    'yMMMEd': 'EEE, y MMM d', // YEAR_ABBR_MONTH_WEEKDAY_DAY
    'yMMMM': 'y MMMM', // YEAR_MONTH
    'yMMMMd': 'MMMM d, y', // YEAR_MONTH_DAY
    'yMMMMEEEEd': 'EEEE, MMMM d y', // YEAR_MONTH_WEEKDAY_DAY
    'yQQQ': 'y QQQ', // YEAR_ABBR_QUARTER
    'yQQQQ': 'y QQQQ', // YEAR_QUARTER
    'H': 'HH', // HOUR24
    'Hm': 'HH:mm', // HOUR24_MINUTE
    'Hms': 'HH:mm:ss', // HOUR24_MINUTE_SECOND
    'j': 'HH', // HOUR
    'jm': 'HH:mm', // HOUR_MINUTE
    'jms': 'HH:mm:ss', // HOUR_MINUTE_SECOND
    'jmv': 'HH:mm v', // HOUR_MINUTE_GENERIC_TZ
    'jmz': 'HH:mm z', // HOUR_MINUTETZ
    'jz': 'HH z', // HOURGENERIC_TZ
    'm': 'm', // MINUTE
    'ms': 'mm:ss', // MINUTE_SECOND
    's': 's', // SECOND
    'v': 'v', // ABBR_GENERIC_TZ
    'z': 'z', // ABBR_SPECIFIC_TZ
    'zzzz': 'zzzz', // SPECIFIC_TZ
    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
  },

  /**
   * Extended set of localized date/time patterns for locale tr.
   */
  'tr': const {
    'd': 'd', // DAY
    'E': 'EEE', // ABBR_WEEKDAY
    'EEEE': 'EEEE', // WEEKDAY
    'LLL': 'LLL', // ABBR_STANDALONE_MONTH
    'LLLL': 'LLLL', // STANDALONE_MONTH
    'M': 'L', // NUM_MONTH
    'Md': 'dd.MM', // NUM_MONTH_DAY
    'MEd': 'dd.MM EEE', // NUM_MONTH_WEEKDAY_DAY
    'MMM': 'LLL', // ABBR_MONTH
    'MMMd': 'd MMMM', // ABBR_MONTH_DAY
    'MMMEd': 'd MMMM EEE', // ABBR_MONTH_WEEKDAY_DAY
    'MMMM': 'LLLL', // MONTH
    'MMMMd': 'dd MMMM', // MONTH_DAY
    'MMMMEEEEd': 'dd MMMM EEEE', // MONTH_WEEKDAY_DAY
    'QQQ': 'QQQ', // ABBR_QUARTER
    'QQQQ': 'QQQQ', // QUARTER
    'y': 'y', // YEAR
    'yM': 'MM.yy', // YEAR_NUM_MONTH
    'yMd': 'dd.MM.yyyy', // YEAR_NUM_MONTH_DAY
    'yMEd': 'dd.MM.yyyy EEE', // YEAR_NUM_MONTH_WEEKDAY_DAY
    'yMMM': 'MMM y', // YEAR_ABBR_MONTH
    'yMMMd': 'd MMM y', // YEAR_ABBR_MONTH_DAY
    'yMMMEd': 'd MMM y EEE', // YEAR_ABBR_MONTH_WEEKDAY_DAY
    'yMMMM': 'MMMM y', // YEAR_MONTH
    'yMMMMd': 'd MMMM y', // YEAR_MONTH_DAY
    'yMMMMEEEEd': 'd MMMM y EEEE', // YEAR_MONTH_WEEKDAY_DAY
    'yQQQ': 'y-QQQ', // YEAR_ABBR_QUARTER
    'yQQQQ': 'y-QQQQ', // YEAR_QUARTER
    'H': 'HH', // HOUR24
    'Hm': 'HH:mm', // HOUR24_MINUTE
    'Hms': 'HH:mm:ss', // HOUR24_MINUTE_SECOND
    'j': 'HH', // HOUR
    'jm': 'HH:mm', // HOUR_MINUTE
    'jms': 'HH:mm:ss', // HOUR_MINUTE_SECOND
    'jmv': 'HH:mm v', // HOUR_MINUTE_GENERIC_TZ
    'jmz': 'HH:mm z', // HOUR_MINUTETZ
    'jz': 'HH z', // HOURGENERIC_TZ
    'm': 'm', // MINUTE
    'ms': 'mm:ss', // MINUTE_SECOND
    's': 's', // SECOND
    'v': 'v', // ABBR_GENERIC_TZ
    'z': 'z', // ABBR_SPECIFIC_TZ
    'zzzz': 'zzzz', // SPECIFIC_TZ
    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
  },

  /**
   * Extended set of localized date/time patterns for locale uk.
   */
  'uk': const {
    'd': 'd', // DAY
    'E': 'EEE', // ABBR_WEEKDAY
    'EEEE': 'EEEE', // WEEKDAY
    'LLL': 'LLL', // ABBR_STANDALONE_MONTH
    'LLLL': 'LLLL', // STANDALONE_MONTH
    'M': 'L', // NUM_MONTH
    'Md': 'd.M', // NUM_MONTH_DAY
    'MEd': 'EEE, dd.MM', // NUM_MONTH_WEEKDAY_DAY
    'MMM': 'LLL', // ABBR_MONTH
    'MMMd': 'd MMM', // ABBR_MONTH_DAY
    'MMMEd': 'EEE, d MMM', // ABBR_MONTH_WEEKDAY_DAY
    'MMMM': 'LLLL', // MONTH
    'MMMMd': 'd MMMM', // MONTH_DAY
    'MMMMEEEEd': 'EEEE, d MMMM', // MONTH_WEEKDAY_DAY
    'QQQ': 'QQQ', // ABBR_QUARTER
    'QQQQ': 'QQQQ', // QUARTER
    'y': 'y', // YEAR
    'yM': 'MM.yyyy', // YEAR_NUM_MONTH
    'yMd': 'dd.MM.yy', // YEAR_NUM_MONTH_DAY
    'yMEd': 'EEE, dd.MM.yyyy', // YEAR_NUM_MONTH_WEEKDAY_DAY
    'yMMM': 'LLL y', // YEAR_ABBR_MONTH
    'yMMMd': 'd MMM y', // YEAR_ABBR_MONTH_DAY
    'yMMMEd': 'EEE, d MMM y', // YEAR_ABBR_MONTH_WEEKDAY_DAY
    'yMMMM': 'LLLL y', // YEAR_MONTH
    'yMMMMd': 'd MMMM y \'р\'.', // YEAR_MONTH_DAY
    'yMMMMEEEEd': 'EEEE, d MMMM y \'р\'.', // YEAR_MONTH_WEEKDAY_DAY
    'yQQQ': 'QQQ y', // YEAR_ABBR_QUARTER
    'yQQQQ': 'QQQQ y', // YEAR_QUARTER
    'H': 'HH', // HOUR24
    'Hm': 'HH:mm', // HOUR24_MINUTE
    'Hms': 'HH:mm:ss', // HOUR24_MINUTE_SECOND
    'j': 'HH', // HOUR
    'jm': 'HH:mm', // HOUR_MINUTE
    'jms': 'HH:mm:ss', // HOUR_MINUTE_SECOND
    'jmv': 'HH:mm v', // HOUR_MINUTE_GENERIC_TZ
    'jmz': 'HH:mm z', // HOUR_MINUTETZ
    'jz': 'HH z', // HOURGENERIC_TZ
    'm': 'm', // MINUTE
    'ms': 'mm:ss', // MINUTE_SECOND
    's': 's', // SECOND
    'v': 'v', // ABBR_GENERIC_TZ
    'z': 'z', // ABBR_SPECIFIC_TZ
    'zzzz': 'zzzz', // SPECIFIC_TZ
    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
  },

  /**
   * Extended set of localized date/time patterns for locale ur.
   */
  'ur': const {
    'd': 'd', // DAY
    'E': 'EEE', // ABBR_WEEKDAY
    'EEEE': 'EEEE', // WEEKDAY
    'LLL': 'LLL', // ABBR_STANDALONE_MONTH
    'LLLL': 'LLLL', // STANDALONE_MONTH
    'M': 'L', // NUM_MONTH
    'Md': 'M-d', // NUM_MONTH_DAY
    'MEd': 'EEE, M-d', // NUM_MONTH_WEEKDAY_DAY
    'MMM': 'LLL', // ABBR_MONTH
    'MMMd': 'MMM d', // ABBR_MONTH_DAY
    'MMMEd': 'EEE MMM d', // ABBR_MONTH_WEEKDAY_DAY
    'MMMM': 'LLLL', // MONTH
    'MMMMd': 'MMMM d', // MONTH_DAY
    'MMMMEEEEd': 'EEEE MMMM d', // MONTH_WEEKDAY_DAY
    'QQQ': 'QQQ', // ABBR_QUARTER
    'QQQQ': 'QQQQ', // QUARTER
    'y': 'y', // YEAR
    'yM': 'y-M', // YEAR_NUM_MONTH
    'yMd': 'y-M-d', // YEAR_NUM_MONTH_DAY
    'yMEd': 'EEE, y-M-d', // YEAR_NUM_MONTH_WEEKDAY_DAY
    'yMMM': 'y MMM', // YEAR_ABBR_MONTH
    'yMMMd': 'y MMM d', // YEAR_ABBR_MONTH_DAY
    'yMMMEd': 'EEE, y MMM d', // YEAR_ABBR_MONTH_WEEKDAY_DAY
    'yMMMM': 'y MMMM', // YEAR_MONTH
    'yMMMMd': 'd؍ MMMM y', // YEAR_MONTH_DAY
    'yMMMMEEEEd': 'EEEE؍ d؍ MMMM y', // YEAR_MONTH_WEEKDAY_DAY
    'yQQQ': 'y QQQ', // YEAR_ABBR_QUARTER
    'yQQQQ': 'y QQQQ', // YEAR_QUARTER
    'H': 'HH', // HOUR24
    'Hm': 'HH:mm', // HOUR24_MINUTE
    'Hms': 'HH:mm:ss', // HOUR24_MINUTE_SECOND
    'j': 'h a', // HOUR
    'jm': 'h:mm a', // HOUR_MINUTE
    'jms': 'h:mm:ss a', // HOUR_MINUTE_SECOND
    'jmv': 'h:mm a v', // HOUR_MINUTE_GENERIC_TZ
    'jmz': 'h:mm a z', // HOUR_MINUTETZ
    'jz': 'h a z', // HOURGENERIC_TZ
    'm': 'm', // MINUTE
    'ms': 'mm:ss', // MINUTE_SECOND
    's': 's', // SECOND
    'v': 'v', // ABBR_GENERIC_TZ
    'z': 'z', // ABBR_SPECIFIC_TZ
    'zzzz': 'zzzz', // SPECIFIC_TZ
    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
  },

  /**
   * Extended set of localized date/time patterns for locale vi.
   */
  'vi': const {
    'd': '\'Ngày\' d', // DAY
    'E': 'EEE', // ABBR_WEEKDAY
    'EEEE': 'EEEE', // WEEKDAY
    'LLL': 'LLL', // ABBR_STANDALONE_MONTH
    'LLLL': 'LLLL', // STANDALONE_MONTH
    'M': 'L', // NUM_MONTH
    'Md': 'd-M', // NUM_MONTH_DAY
    'MEd': 'EEE, d-M', // NUM_MONTH_WEEKDAY_DAY
    'MMM': 'LLL', // ABBR_MONTH
    'MMMd': 'd MMM', // ABBR_MONTH_DAY
    'MMMEd': 'EEE, d MMM', // ABBR_MONTH_WEEKDAY_DAY
    'MMMM': 'LLLL', // MONTH
    'MMMMd': 'd MMMM', // MONTH_DAY
    'MMMMEEEEd': 'EEEE, d MMMM', // MONTH_WEEKDAY_DAY
    'QQQ': 'QQQ', // ABBR_QUARTER
    'QQQQ': 'QQQQ', // QUARTER
    'y': '\'Năm\' y', // YEAR
    'yM': 'M/yyyy', // YEAR_NUM_MONTH
    'yMd': 'd/M/y', // YEAR_NUM_MONTH_DAY
    'yMEd': 'EEE, d-M-yyyy', // YEAR_NUM_MONTH_WEEKDAY_DAY
    'yMMM': 'MMM y', // YEAR_ABBR_MONTH
    'yMMMd': 'd MMM, y', // YEAR_ABBR_MONTH_DAY
    'yMMMEd': 'EEE, d MMM y', // YEAR_ABBR_MONTH_WEEKDAY_DAY
    'yMMMM': 'MMMM y', // YEAR_MONTH
    'yMMMMd': 'd MMMM, y', // YEAR_MONTH_DAY
    'yMMMMEEEEd': 'EEEE, \'ngày\' d MMMM \'năm\' y', // YEAR_MONTH_WEEKDAY_DAY
    'yQQQ': 'QQQ y', // YEAR_ABBR_QUARTER
    'yQQQQ': 'QQQQ y', // YEAR_QUARTER
    'H': 'HH', // HOUR24
    'Hm': 'H:mm', // HOUR24_MINUTE
    'Hms': 'H:mm:ss', // HOUR24_MINUTE_SECOND
    'j': 'HH', // HOUR
    'jm': 'H:mm', // HOUR_MINUTE
    'jms': 'H:mm:ss', // HOUR_MINUTE_SECOND
    'jmv': 'H:mm v', // HOUR_MINUTE_GENERIC_TZ
    'jmz': 'H:mm z', // HOUR_MINUTETZ
    'jz': 'HH z', // HOURGENERIC_TZ
    'm': 'm', // MINUTE
    'ms': 'mm:ss', // MINUTE_SECOND
    's': 's', // SECOND
    'v': 'v', // ABBR_GENERIC_TZ
    'z': 'z', // ABBR_SPECIFIC_TZ
    'zzzz': 'zzzz', // SPECIFIC_TZ
    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
  },

  /**
   * Extended set of localized date/time patterns for locale zh_TW.
   */
  'zh_TW': const {
    'd': 'd日', // DAY
    'E': 'EEE', // ABBR_WEEKDAY
    'EEEE': 'EEEE', // WEEKDAY
    'LLL': 'LLL', // ABBR_STANDALONE_MONTH
    'LLLL': 'LLLL', // STANDALONE_MONTH
    'M': 'M月', // NUM_MONTH
    'Md': 'M/d', // NUM_MONTH_DAY
    'MEd': 'M/d（EEE）', // NUM_MONTH_WEEKDAY_DAY
    'MMM': 'LLL', // ABBR_MONTH
    'MMMd': 'M月d日', // ABBR_MONTH_DAY
    'MMMEd': 'M月d日EEE', // ABBR_MONTH_WEEKDAY_DAY
    'MMMM': 'LLLL', // MONTH
    'MMMMd': 'M月d日', // MONTH_DAY
    'MMMMEEEEd': 'M月d日EEEE', // MONTH_WEEKDAY_DAY
    'QQQ': 'QQQ', // ABBR_QUARTER
    'QQQQ': 'QQQQ', // QUARTER
    'y': 'y年', // YEAR
    'yM': 'y/M', // YEAR_NUM_MONTH
    'yMd': 'y/M/d', // YEAR_NUM_MONTH_DAY
    'yMEd': 'y/M/d（EEE）', // YEAR_NUM_MONTH_WEEKDAY_DAY
    'yMMM': 'y年M月', // YEAR_ABBR_MONTH
    'yMMMd': 'y年M月d日', // YEAR_ABBR_MONTH_DAY
    'yMMMEd': 'y年M月d日EEE', // YEAR_ABBR_MONTH_WEEKDAY_DAY
    'yMMMM': 'y年M月', // YEAR_MONTH
    'yMMMMd': 'y年M月d日', // YEAR_MONTH_DAY
    'yMMMMEEEEd': 'y年M月d日EEEE', // YEAR_MONTH_WEEKDAY_DAY
    'yQQQ': 'y年QQQ', // YEAR_ABBR_QUARTER
    'yQQQQ': 'y年QQQQ', // YEAR_QUARTER
    'H': 'H時', // HOUR24
    'Hm': 'H:mm', // HOUR24_MINUTE
    'Hms': 'H:mm:ss', // HOUR24_MINUTE_SECOND
    'j': 'ah時', // HOUR
    'jm': 'ah:mm', // HOUR_MINUTE
    'jms': 'ah:mm:ss', // HOUR_MINUTE_SECOND
    'jmv': 'ah:mm v', // HOUR_MINUTE_GENERIC_TZ
    'jmz': 'ah:mm z', // HOUR_MINUTETZ
    'jz': 'ah時 z', // HOURGENERIC_TZ
    'm': 'm', // MINUTE
    'ms': 'mm:ss', // MINUTE_SECOND
    's': 's', // SECOND
    'v': 'v', // ABBR_GENERIC_TZ
    'z': 'z', // ABBR_SPECIFIC_TZ
    'zzzz': 'zzzz', // SPECIFIC_TZ
    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
  },

  /**
   * Extended set of localized date/time patterns for locale zh_CN.
   */
  'zh_CN': const {
    'd': 'd日', // DAY
    'E': 'EEE', // ABBR_WEEKDAY
    'EEEE': 'EEEE', // WEEKDAY
    'LLL': 'LLL', // ABBR_STANDALONE_MONTH
    'LLLL': 'LLLL', // STANDALONE_MONTH
    'M': 'M月', // NUM_MONTH
    'Md': 'M-d', // NUM_MONTH_DAY
    'MEd': 'M-dEEE', // NUM_MONTH_WEEKDAY_DAY
    'MMM': 'LLL', // ABBR_MONTH
    'MMMd': 'M月d日', // ABBR_MONTH_DAY
    'MMMEd': 'M月d日EEE', // ABBR_MONTH_WEEKDAY_DAY
    'MMMM': 'LLLL', // MONTH
    'MMMMd': 'M月d日', // MONTH_DAY
    'MMMMEEEEd': 'M月d日EEEE', // MONTH_WEEKDAY_DAY
    'QQQ': 'QQQ', // ABBR_QUARTER
    'QQQQ': 'QQQQ', // QUARTER
    'y': 'y年', // YEAR
    'yM': 'yyyy-M', // YEAR_NUM_MONTH
    'yMd': 'y年M月d日', // YEAR_NUM_MONTH_DAY
    'yMEd': 'y年M月d日，EEE', // YEAR_NUM_MONTH_WEEKDAY_DAY
    'yMMM': 'y年M月', // YEAR_ABBR_MONTH
    'yMMMd': 'y年M月d日', // YEAR_ABBR_MONTH_DAY
    'yMMMEd': 'y年M月d日EEE', // YEAR_ABBR_MONTH_WEEKDAY_DAY
    'yMMMM': 'y年M月', // YEAR_MONTH
    'yMMMMd': 'y年M月d日', // YEAR_MONTH_DAY
    'yMMMMEEEEd': 'y年M月d日EEEE', // YEAR_MONTH_WEEKDAY_DAY
    'yQQQ': 'y年QQQ', // YEAR_ABBR_QUARTER
    'yQQQQ': 'y年QQQQ', // YEAR_QUARTER
    'H': 'H时', // HOUR24
    'Hm': 'H:mm', // HOUR24_MINUTE
    'Hms': 'H:mm:ss', // HOUR24_MINUTE_SECOND
    'j': 'ah时', // HOUR
    'jm': 'ah:mm', // HOUR_MINUTE
    'jms': 'ah:mm:ss', // HOUR_MINUTE_SECOND
    'jmv': 'ah:mm v', // HOUR_MINUTE_GENERIC_TZ
    'jmz': 'ah:mm z', // HOUR_MINUTETZ
    'jz': 'ah时 z', // HOURGENERIC_TZ
    'm': 'm', // MINUTE
    'ms': 'mm:ss', // MINUTE_SECOND
    's': 's', // SECOND
    'v': 'v', // ABBR_GENERIC_TZ
    'z': 'z', // ABBR_SPECIFIC_TZ
    'zzzz': 'zzzz', // SPECIFIC_TZ
    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
  },

  /**
   * Extended set of localized date/time patterns for locale zh_HK.
   */
  'zh_HK': const {
    'd': 'd日', // DAY
    'E': 'EEE', // ABBR_WEEKDAY
    'EEEE': 'EEEE', // WEEKDAY
    'LLL': 'LLL', // ABBR_STANDALONE_MONTH
    'LLLL': 'LLLL', // STANDALONE_MONTH
    'M': 'M月', // NUM_MONTH
    'Md': 'M-d', // NUM_MONTH_DAY
    'MEd': 'EEE, M-d', // NUM_MONTH_WEEKDAY_DAY
    'MMM': 'LLL', // ABBR_MONTH
    'MMMd': 'M月d日', // ABBR_MONTH_DAY
    'MMMEd': 'M月d日EEE', // ABBR_MONTH_WEEKDAY_DAY
    'MMMM': 'LLLL', // MONTH
    'MMMMd': 'M月d日', // MONTH_DAY
    'MMMMEEEEd': 'M月d日EEEE', // MONTH_WEEKDAY_DAY
    'QQQ': 'QQQ', // ABBR_QUARTER
    'QQQQ': 'QQQQ', // QUARTER
    'y': 'y年', // YEAR
    'yM': 'y/M', // YEAR_NUM_MONTH
    'yMd': 'y/M/d', // YEAR_NUM_MONTH_DAY
    'yMEd': 'y/M/d（EEE）', // YEAR_NUM_MONTH_WEEKDAY_DAY
    'yMMM': 'y年M月', // YEAR_ABBR_MONTH
    'yMMMd': 'y年M月d日', // YEAR_ABBR_MONTH_DAY
    'yMMMEd': 'y年M月d日EEE', // YEAR_ABBR_MONTH_WEEKDAY_DAY
    'yMMMM': 'y年M月', // YEAR_MONTH
    'yMMMMd': 'y年M月d日', // YEAR_MONTH_DAY
    'yMMMMEEEEd': 'y年M月d日EEEE', // YEAR_MONTH_WEEKDAY_DAY
    'yQQQ': 'y年QQQ', // YEAR_ABBR_QUARTER
    'yQQQQ': 'y年QQQQ', // YEAR_QUARTER
    'H': 'H時', // HOUR24
    'Hm': 'H:mm', // HOUR24_MINUTE
    'Hms': 'H:mm:ss', // HOUR24_MINUTE_SECOND
    'j': 'ah時', // HOUR
    'jm': 'ah:mm', // HOUR_MINUTE
    'jms': 'ah:mm:ss', // HOUR_MINUTE_SECOND
    'jmv': 'ah:mm v', // HOUR_MINUTE_GENERIC_TZ
    'jmz': 'ah:mm z', // HOUR_MINUTETZ
    'jz': 'ah時 z', // HOURGENERIC_TZ
    'm': 'm', // MINUTE
    'ms': 'mm:ss', // MINUTE_SECOND
    's': 's', // SECOND
    'v': 'v', // ABBR_GENERIC_TZ
    'z': 'z', // ABBR_SPECIFIC_TZ
    'zzzz': 'zzzz', // SPECIFIC_TZ
    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
  },

  /**
   * Extended set of localized date/time patterns for locale zh.
   */
  'zh': const {
    'd': 'd日', // DAY
    'E': 'EEE', // ABBR_WEEKDAY
    'EEEE': 'EEEE', // WEEKDAY
    'LLL': 'LLL', // ABBR_STANDALONE_MONTH
    'LLLL': 'LLLL', // STANDALONE_MONTH
    'M': 'M月', // NUM_MONTH
    'Md': 'M-d', // NUM_MONTH_DAY
    'MEd': 'M-dEEE', // NUM_MONTH_WEEKDAY_DAY
    'MMM': 'LLL', // ABBR_MONTH
    'MMMd': 'M月d日', // ABBR_MONTH_DAY
    'MMMEd': 'M月d日EEE', // ABBR_MONTH_WEEKDAY_DAY
    'MMMM': 'LLLL', // MONTH
    'MMMMd': 'M月d日', // MONTH_DAY
    'MMMMEEEEd': 'M月d日EEEE', // MONTH_WEEKDAY_DAY
    'QQQ': 'QQQ', // ABBR_QUARTER
    'QQQQ': 'QQQQ', // QUARTER
    'y': 'y年', // YEAR
    'yM': 'yyyy-M', // YEAR_NUM_MONTH
    'yMd': 'y年M月d日', // YEAR_NUM_MONTH_DAY
    'yMEd': 'y年M月d日，EEE', // YEAR_NUM_MONTH_WEEKDAY_DAY
    'yMMM': 'y年M月', // YEAR_ABBR_MONTH
    'yMMMd': 'y年M月d日', // YEAR_ABBR_MONTH_DAY
    'yMMMEd': 'y年M月d日EEE', // YEAR_ABBR_MONTH_WEEKDAY_DAY
    'yMMMM': 'y年M月', // YEAR_MONTH
    'yMMMMd': 'y年M月d日', // YEAR_MONTH_DAY
    'yMMMMEEEEd': 'y年M月d日EEEE', // YEAR_MONTH_WEEKDAY_DAY
    'yQQQ': 'y年QQQ', // YEAR_ABBR_QUARTER
    'yQQQQ': 'y年QQQQ', // YEAR_QUARTER
    'H': 'H时', // HOUR24
    'Hm': 'H:mm', // HOUR24_MINUTE
    'Hms': 'H:mm:ss', // HOUR24_MINUTE_SECOND
    'j': 'ah时', // HOUR
    'jm': 'ah:mm', // HOUR_MINUTE
    'jms': 'ah:mm:ss', // HOUR_MINUTE_SECOND
    'jmv': 'ah:mm v', // HOUR_MINUTE_GENERIC_TZ
    'jmz': 'ah:mm z', // HOUR_MINUTETZ
    'jz': 'ah时 z', // HOURGENERIC_TZ
    'm': 'm', // MINUTE
    'ms': 'mm:ss', // MINUTE_SECOND
    's': 's', // SECOND
    'v': 'v', // ABBR_GENERIC_TZ
    'z': 'z', // ABBR_SPECIFIC_TZ
    'zzzz': 'zzzz', // SPECIFIC_TZ
    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
  },

  /**
   * Extended set of localized date/time patterns for locale zu.
   */
  'zu': const {
    'd': 'd', // DAY
    'E': 'EEE', // ABBR_WEEKDAY
    'EEEE': 'EEEE', // WEEKDAY
    'LLL': 'LLL', // ABBR_STANDALONE_MONTH
    'LLLL': 'LLLL', // STANDALONE_MONTH
    'M': 'L', // NUM_MONTH
    'Md': 'M/d', // NUM_MONTH_DAY
    'MEd': 'EEE, M/d', // NUM_MONTH_WEEKDAY_DAY
    'MMM': 'LLL', // ABBR_MONTH
    'MMMd': 'MMM d', // ABBR_MONTH_DAY
    'MMMEd': 'EEE, MMM d', // ABBR_MONTH_WEEKDAY_DAY
    'MMMM': 'LLLL', // MONTH
    'MMMMd': 'MMMM d', // MONTH_DAY
    'MMMMEEEEd': 'EEEE, MMMM d', // MONTH_WEEKDAY_DAY
    'QQQ': 'QQQ', // ABBR_QUARTER
    'QQQQ': 'QQQQ', // QUARTER
    'y': 'y', // YEAR
    'yM': 'M/y', // YEAR_NUM_MONTH
    'yMd': 'M/d/y', // YEAR_NUM_MONTH_DAY
    'yMEd': 'EEE, M/d/y', // YEAR_NUM_MONTH_WEEKDAY_DAY
    'yMMM': 'MMM y', // YEAR_ABBR_MONTH
    'yMMMd': 'MMM d, y', // YEAR_ABBR_MONTH_DAY
    'yMMMEd': 'EEE, MMM d, y', // YEAR_ABBR_MONTH_WEEKDAY_DAY
    'yMMMM': 'MMMM y', // YEAR_MONTH
    'yMMMMd': 'd MMMM y', // YEAR_MONTH_DAY
    'yMMMMEEEEd': 'EEEE d MMMM y', // YEAR_MONTH_WEEKDAY_DAY
    'yQQQ': 'QQQ y', // YEAR_ABBR_QUARTER
    'yQQQQ': 'QQQQ y', // YEAR_QUARTER
    'H': 'HH', // HOUR24
    'Hm': 'HH:mm', // HOUR24_MINUTE
    'Hms': 'HH:mm:ss', // HOUR24_MINUTE_SECOND
    'j': 'h a', // HOUR
    'jm': 'h:mm a', // HOUR_MINUTE
    'jms': 'h:mm:ss a', // HOUR_MINUTE_SECOND
    'jmv': 'h:mm a v', // HOUR_MINUTE_GENERIC_TZ
    'jmz': 'h:mm a z', // HOUR_MINUTETZ
    'jz': 'h a z', // HOURGENERIC_TZ
    'm': 'm', // MINUTE
    'ms': 'mm:ss', // MINUTE_SECOND
    's': 's', // SECOND
    'v': 'v', // ABBR_GENERIC_TZ
    'z': 'z', // ABBR_SPECIFIC_TZ
    'zzzz': 'zzzz', // SPECIFIC_TZ
    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
  }
};
