﻿// ***************************************************************************
// *
// * Copyright (C) 2011 International Business Machines
// * Corporation and others.  All Rights Reserved.
// * Tool: com.ibm.icu.dev.tool.cldr.LDML2ICUConverter.java
// * Source File:<path>/common/collation/root.xml
// *
// ***************************************************************************
/**
 *  ICU <specials> source: <path>/xml/collation/root.xml
 */
root{
    UCARules:process(uca_rules){"../unidata/UCARules.txt"}
    Version{"2.0.58.68"}
    collations{
        default{"standard"}
        ducet{
            Sequence{
                " [normalization on ]"
                "&'\u1680'<'`'<<<｀<´=΄<˜<'^'<<<＾<¯<<<￣"
                "&﹌<˘<˙<¨<˚<˝<᾽=᾿<῾<¸<˛"
                "&‗<῀<﮲<﮳<﮴<﮵<﮶<﮷<﮸<﮹<﮺<﮻<﮼<﮽<﮾<﮿<﯀<﯁<゛<゜"
                "&᠅<༔"
                "&჻<፠"
                "&𐄁<𐄂"
                "&﴿<§<¶"
                "&⁋<©<®"
                "&／<⁄"
                "&﹠<⅋"
                "&؊<⁒"
                "&᰿<᥀"
                "&၏<႞<႟<꩷<꩸<꩹<ៗ"
                "&꠹<๏"
                "&￤<‖"
                "&❧<❨<❩<❪<❫<❬<❭<❮<❯<❰<❱<❲<❳<❴<❵"
                "&⟄<⟅<⟆"
                "&⟥<⟦<⟧<⟨<⟩<⟪<⟫"
                "&⧗<⧘<⧙<⧚<⧛"
                "&𐩾<𐩿"
                "&Ꞧ<<<₨/s"
                "&ﷶ<<<﷼/یال"
            }
            Version{"2.0.1"}
        }
        search{
            Sequence{
                " [normalization on ][suppressContractions [เ-ไ ເ-ໄ] ]"
                "&ا<<<ﺎ<<<ﺍ<<آ<<<ﺂ<<<ﺁ<<أ<<<ﺄ<<<ﺃ<<إ<<<ﺈ<<<ﺇ"
                "&و<<<ۥ<<<ﻮ<<<ﻭ<<ؤ<<<ﺆ<<<ﺅ"
                "&ي<<<ۦ<<<ﻳ<<<ﻴ<<<ﻲ<<<ﻱ<<ئ<<<ﺋ<<<ﺌ<<<ﺊ<<<ﺉ<<ى<<<ﯨ<<<ﯩ<<<ﻰ<<<ﻯ"
                "&ه<<<ﻫ<<<ﻬ<<<ﻪ<<<ﻩ<<ة<<<ﺔ<<<ﺓ"
                "&[last primary ignorable ]<<׳<<״<<ـ<<ฺ"
                "&ᄀ=ᆨ"
                "&ᄀᄀ=ᄁ=ᆩ"
                "&ᄀᄉ=ᆪ"
                "&ᄂ=ᆫ"
                "&ᄂᄌ=ᆬ"
                "&ᄂᄒ=ᆭ"
                "&ᄃ=ᆮ"
                "&ᄃᄃ=ᄄ"
                "&ᄅ=ᆯ"
                "&ᄅᄀ=ᆰ"
                "&ᄅᄆ=ᆱ"
                "&ᄅᄇ=ᆲ"
                "&ᄅᄉ=ᆳ"
                "&ᄅᄐ=ᆴ"
                "&ᄅᄑ=ᆵ"
                "&ᄅᄒ=ᆶ"
                "&ᄆ=ᆷ"
                "&ᄇ=ᆸ"
                "&ᄇᄇ=ᄈ"
                "&ᄇᄉ=ᆹ"
                "&ᄉ=ᆺ"
                "&ᄉᄉ=ᄊ=ᆻ"
                "&ᄋ=ᆼ"
                "&ᄌ=ᆽ"
                "&ᄌᄌ=ᄍ"
                "&ᄎ=ᆾ"
                "&ᄏ=ᆿ"
                "&ᄐ=ᇀ"
                "&ᄑ=ᇁ"
                "&ᄒ=ᇂ"
                "&ᅡᅵ=ᅢ"
                "&ᅣᅵ=ᅤ"
                "&ᅥᅵ=ᅦ"
                "&ᅧᅵ=ᅨ"
                "&ᅩᅡ=ᅪ"
                "&ᅩᅡᅵ=ᅫ"
                "&ᅩᅵ=ᅬ"
                "&ᅮᅴ=ᅯ"
                "&ᅮᅴᅵ=ᅰ"
                "&ᅮᅵ=ᅱ"
            }
            Version{"2.0.1"}
        }
        standard{
            Sequence{""}
            Version{"2.0.1"}
        }
    }
    depends:process(dependency){"ucadata.icu"}
}
