úÎ 9Ù8!       OA type class for all option types, for which we want to turn a list of options  into a bit field. ,Tells of a certain option what its C integer/enum value is. 9Takes a list of options and encodes it into a C integer. DRuns a function, expecting a 32-bit integer, with the given options ' bit-packed into a 32-bit integer. The internal ICU boolean type.  See unicode/Aumachine.h. Be aware that to Haskell, this is a numeric type and  not a boolean. "The internal ICU error code type. LThe ICU character type. A UChar is a 16-bit unit of a UTF-16 encoded string FConverts an ICU bool to a Haskell one, preserving truth or falsehood. BRuns a raw ICU-type function on a CompactString encoded in UTF16.  The ICU-type function has type Ptr UChar -> Int32 -> a. This function may Q not modify the memory under the Ptr UChar. The size of the Ptr UChar in 16-bit K words is passed in as the Int32 argument. Accessing memory from Ptr UChar A outside of that size also sends us off to lala land, of course. FProvides simple (i.e. abort-if-anything-wrong) error handling for ICU  functions. LTakes as an argument a function that writes an ICU error code to a certain 1 memory address (like most ICU4C functions do). OThis function runs the given function, giving it a memory address to write the J error code to. When the given function indicates an error, it aborts the 0 program. Otherwise it just returns the result. SConverts a C ordering (-1 means LT, 0 means EQ, 1 means GT) to a Haskell ordering.     7A data type to encode options to the compare function. 9Compare by code point order (default is code unit order) Do case-insensitive comparison ,Assume that both strings are FCD normalized 6A type for the result of a quick normalization check. Options to pass to normalize. There is only one option ATM. $Normalize according to Unicode 3.2 PA data type for representing an ICU Normalization type. You use this to specify  how you'%d like ICU to normalize your string. EInternal function to convert a NormalizationMode to its C enum value TNormalizes the given string, according to the given normalization type and options. >This function is a higher-level wrapper around raw_normalize. JMove this to something like Data.CompactString.Normalization, eventually. (Generalize out the UErrorCode handling. !STranslates a normalization check result from C land to a NormalizationCheckResult. YAttempts to check quickly whether a string is already normalized according to a certain  normalization mode. DWhen you get MaybeNormalized as a result, you should normalize the M string and compare it to the original to know if it is normalized. You can , make ICU do that by calling isNormalized. KTells of a string whether it is already normalized according to a certain  mode and options NConcatenates two normalized strings, such that the result is also normalized. More formally: O Given that string1 is normalized according to mode and options, and string2 J is normalized according to mode and options, the result of concatenate O string1 string2 mode options will be a concatenation of string1 and string2 4 and be normalized according to mode and options. 8Compares two Unicode strings for canonical equivalence. GTwo Unicode strings are canonically equivalent when their NFD and NFC  normalizations are equal.        "      !"#$%unicode-normalization-0.1Text.Unicode.BaseText.Unicode.Normalization BitPackableintValue packOptionswithPackedOptionsUBool UErrorCodeUChar uBoolToBoolwithCompactString handleErrorcOrderingToOrderingComparisonOptionCompareCodePointOrder IgnoreCase InputIsFCDNormalizationCheckResultMaybeNormalized NotNormalized NormalizedNormalizationOption Unicode3_2NormalizationModeFCDNFKCNFCNFKDNFDnormalizationToCInt normalize quickCheck isNormalized concatenatecompareint32ToNormalizationCheckResult