﻿// © 2016 and later: Unicode, Inc. and others.
// License & terms of use: http://www.unicode.org/copyright.html
// Generated using tools/cldr/cldr-to-icu/build-icu-data.xml
en_AE{
    calendar{
        chinese{
            DateTimePatterns{
                "h:mm:ss a zzzz",
                "h:mm:ss a z",
                "h:mm:ss a",
                "h:mm a",
                "EEEE, d MMMM r(U)",
                "d MMMM r(U)",
                "d MMM r",
                "dd/MM/r",
                "{1}, {0}",
                "{1} 'at' {0}",
                "{1} 'at' {0}",
                "{1}, {0}",
                "{1}, {0}",
            }
            DateTimeSkeletons{
                "ahmmsszzzz",
                "ahmmssz",
                "ahmmss",
                "ahmm",
                "rMMMMEEEEd",
                "rMMMMd",
                "rMMMd",
                "rMMdd",
            }
            availableFormats{
                Ed{"E d"}
                GyMMMEd{"E, d MMM r(U)"}
                GyMMMd{"d MMM r"}
                M{"LL"}
                MEd{"E, dd/MM"}
                MMMEd{"E, d MMM"}
                MMMMd{"d MMMM"}
                MMMd{"d MMM"}
                Md{"dd/MM"}
                UMMMd{"d MMM U"}
                UMd{"dd/MM/U"}
                yMd{"dd/MM/r"}
                yyyyM{"MM/r"}
                yyyyMEd{"E, dd/MM/r"}
                yyyyMMMEd{"E, d MMM r(U)"}
                yyyyMMMd{"d MMM r"}
                yyyyMd{"dd/MM/r"}
            }
            intervalFormats{
                MEd{
                    M{"E dd/MM – E dd/MM"}
                    d{"E dd/MM – E dd/MM"}
                }
                MMMEd{
                    M{"E d MMM – E d MMM"}
                    d{"E d – E d MMM"}
                }
                MMMd{
                    M{"d MMM – d MMM"}
                    d{"d – d MMM"}
                }
                Md{
                    M{"dd/MM – dd/MM"}
                    d{"dd/MM – dd/MM"}
                }
                yM{
                    M{"MM/y – MM/y"}
                    y{"MM/y – MM/y"}
                }
                yMEd{
                    M{"E, dd/MM/y – E, dd/MM/y"}
                    d{"E, dd/MM/y – E, dd/MM/y"}
                    y{"E, dd/MM/y – E, dd/MM/y"}
                }
                yMMMEd{
                    M{"E, d MMM – E, d MMM U"}
                    d{"E, d – E, d MMM U"}
                    y{"E, d MMM U – E, d MMM U"}
                }
                yMMMd{
                    M{"d MMM – d MMM U"}
                    d{"d – d MMM U"}
                    y{"d MMM U – d MMM U"}
                }
                yMd{
                    M{"dd/MM/y – dd/MM/y"}
                    d{"dd/MM/y – dd/MM/y"}
                    y{"dd/MM/y – dd/MM/y"}
                }
            }
        }
        generic{
            DateTimePatterns{
                "h:mm:ss a zzzz",
                "h:mm:ss a z",
                "h:mm:ss a",
                "h:mm a",
                "EEEE, d MMMM y G",
                "d MMMM y G",
                "d MMM y G",
                "dd/MM/y GGGGG",
                "{1}, {0}",
                "{1} 'at' {0}",
                "{1} 'at' {0}",
                "{1}, {0}",
                "{1}, {0}",
            }
            DateTimeSkeletons{
                "ahmmsszzzz",
                "ahmmssz",
                "ahmmss",
                "ahmm",
                "GyMMMMEEEEd",
                "GyMMMMd",
                "GyMMMd",
                "GGGGGyMMdd",
            }
            availableFormats{
                EBhm{"E, h:mm B"}
                EBhms{"E, h:mm:ss B"}
                EHm{"E, HH:mm"}
                EHms{"E, HH:mm:ss"}
                Ed{"E d"}
                Ehm{"E, h:mm a"}
                Ehms{"E, h:mm:ss a"}
                GyMMMEd{"E, d MMM y G"}
                GyMMMd{"d MMM y G"}
                M{"LL"}
                MEd{"E, d/M"}
                MMMEd{"E, d MMM"}
                MMMMd{"d MMMM"}
                MMMd{"d MMM"}
                Md{"dd/MM"}
                yyyyM{"MM/y GGGGG"}
                yyyyMEd{"E, dd/MM/y GGGGG"}
                yyyyMMMEd{"E, d MMM y G"}
                yyyyMMMd{"d MMM y G"}
                yyyyMd{"dd/MM/y GGGGG"}
            }
            intervalFormats{
                MEd{
                    M{"E dd/MM – E dd/MM"}
                    d{"E dd/MM – E dd/MM"}
                }
                MMMEd{
                    M{"E d MMM – E d MMM"}
                    d{"E d – E d MMM"}
                }
                MMMd{
                    M{"d MMM – d MMM"}
                    d{"d – d MMM"}
                }
                Md{
                    M{"dd/MM – dd/MM"}
                    d{"dd/MM – dd/MM"}
                }
                yM{
                    M{"MM/y – MM/y GGGGG"}
                    y{"MM/y – MM/y GGGGG"}
                }
                yMEd{
                    M{"E, dd/MM/y – E, dd/MM/y GGGGG"}
                    d{"E, dd/MM/y – E, dd/MM/y GGGGG"}
                    y{"E, dd/MM/y – E, dd/MM/y GGGGG"}
                }
                yMMMEd{
                    M{"E, d MMM – E, d MMM y G"}
                    d{"E, d – E, d MMM y G"}
                    y{"E, d MMM y – E, d MMM y G"}
                }
                yMMMd{
                    M{"d MMM – d MMM y G"}
                    d{"d – d MMM y G"}
                    y{"d MMM y – d MMM y G"}
                }
                yMd{
                    M{"dd/MM/y – dd/MM/y GGGGG"}
                    d{"dd/MM/y – dd/MM/y GGGGG"}
                    y{"dd/MM/y – dd/MM/y GGGGG"}
                }
            }
        }
        gregorian{
            DateTimePatterns{
                "h:mm:ss a zzzz",
                "h:mm:ss a z",
                "h:mm:ss a",
                "h:mm a",
                "EEEE, d MMMM y",
                "d MMMM y",
                "d MMM y",
                "dd/MM/y",
                "{1}, {0}",
                "{1} 'at' {0}",
                "{1} 'at' {0}",
                "{1}, {0}",
                "{1}, {0}",
            }
            DateTimeSkeletons{
                "ahmmsszzzz",
                "ahmmssz",
                "ahmmss",
                "ahmm",
                "yMMMMEEEEd",
                "yMMMMd",
                "yMMMd",
                "yMMdd",
            }
            availableFormats{
                EBhm{"E, h:mm B"}
                EBhms{"E, h:mm:ss B"}
                Ed{"E d"}
                GyMMMEd{"E, d MMM y G"}
                GyMMMd{"d MMM y G"}
                MEd{"E, dd/MM"}
                MMMEd{"E, d MMM"}
                MMMMd{"d MMMM"}
                MMMd{"d MMM"}
                MMdd{"dd/MM"}
                Md{"dd/MM"}
                yM{"MM/y"}
                yMEd{"E, dd/MM/y"}
                yMMMEd{"E, d MMM y"}
                yMMMd{"d MMM y"}
                yMd{"dd/MM/y"}
            }
            intervalFormats{
                MEd{
                    M{"E dd/MM – E dd/MM"}
                    d{"E dd/MM – E dd/MM"}
                }
                MMMEd{
                    M{"E d MMM – E d MMM"}
                    d{"E d – E d MMM"}
                }
                MMMd{
                    M{"d MMM – d MMM"}
                    d{"d – d MMM"}
                }
                Md{
                    M{"dd/MM – dd/MM"}
                    d{"dd/MM – dd/MM"}
                }
                yM{
                    M{"MM/y – MM/y"}
                    y{"MM/y – MM/y"}
                }
                yMEd{
                    M{"E, dd/MM/y – E, dd/MM/y"}
                    d{"E, dd/MM/y – E, dd/MM/y"}
                    y{"E, dd/MM/y – E, dd/MM/y"}
                }
                yMMMEd{
                    M{"E, d MMM – E, d MMM y"}
                    d{"E, d – E, d MMM y"}
                    y{"E, d MMM y – E, d MMM y"}
                }
                yMMMd{
                    M{"d MMM – d MMM y"}
                    d{"d – d MMM y"}
                    y{"d MMM y – d MMM y"}
                }
                yMd{
                    M{"dd/MM/y – dd/MM/y"}
                    d{"dd/MM/y – dd/MM/y"}
                    y{"dd/MM/y – dd/MM/y"}
                }
            }
        }
    }
}
