úÎ¯Šª:`      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_portable experimentalemertens@galois.comEncode a string using  and store the result in a `. Decode a string using  using a ` as input. > | This is not safe but it is necessary if UTF-8 encoded text  | has been loaded into a ` prior to being decoded. aCEncode a Haskell String to a list of Word8 values, in UTF8 format. LDecode a UTF8 string packed into a list of Word8 values, directly to String  :Converts a Haskell string into a UTF8 encoded bytestring. 9Convert a UTF8 encoded bytestring into a Haskell string. & Invalid characters are replaced with '\xFFFD'. @This character is used to mark errors in a UTF8 encoded string. /Try to extract a character from a byte string.  Returns b0 if there are no more bytes in the byte string. = Otherwise, it returns a decoded character and the number of # bytes used in its representation. " Errors are replaced by character  '\0xFFFD'. *Split after a given number of characters. / Negative values are treated as if they are 0. take n s returns the first n characters of s.  If s has less then n) characters, then we return the whole of s. drop n s returns the s without its first n characters.  If s has less then n1 characters, then we return the an empty string. @Split a string into two parts: the first is the longest prefix F that contains only characters that satisfy the predicate; the second ! part is the rest of the string. " Invalid characters are passed as  '\0xFFFD' to the predicate. @Split a string into two parts: the first is the longest prefix M that contains only characters that do not satisfy the predicate; the second ! part is the rest of the string. " Invalid characters are passed as  '\0xFFFD' to the predicate. 2Get the first character of a byte string, if any. & Malformed characters are replaced by  '\0xFFFD'. &Traverse a bytestring (right biased). %Traverse a bytestring (left biased). + This fuction is strict in the acumulator. ;Counts the number of characters encoded in the bytestring. 0 Note that this includes replacment characters. %Split a string into a list of lines.  Lines are termianted by '\n' or the end of the string. < Empty line may not be terminated by the end of the string.  See also  'lines\''. %Split a string into a list of lines.  Lines are termianted by '\n' or the end of the string. < Empty line may not be terminated by the end of the string. * This function preserves the terminators.  See also .     BThe type of strngs that are represented using tthe UTF8 encoding. E The parameters is the type of the container for the representation. c !6Converts a Haskell string into a UTF8 encoded string.  Complexity: linear. "5Convert a UTF8 encoded string into a Haskell string. $ Invalid characters are replaced by replacement_char.  Complexity: linear. #DChecks if there are no more bytes in the underlying representation. $*Split after a given number of characters. / Negative values are treated as if they are 0.  See also  bytesSplitAt. %FSplit after a given number of bytes in the underlying representation.  See also $. &HTake only the given number of bytes from the underlying representation.  See also (. 'CDrop the given number of bytes from the underlying representation.  See also ). (take n s returns the first n characters of s.  If s has less then n) characters, then we return the whole of s. )drop n s returns the s without its first n characters.  If s has less then n1 characters, then we return the an empty string. *@Split a string into two parts: the first is the longest prefix F that contains only characters that satisfy the predicate; the second ! part is the rest of the string. " Invalid characters are passed as  '\0xFFFD' to the predicate. +@Split a string into two parts: the first is the longest prefix M that contains only characters that do not satisfy the predicate; the second ! part is the rest of the string. " Invalid characters are passed as replacement_char to the predicate. ,2Get the first character of a byte string, if any. $ Invalid characters are replaced by replacement_char. -?Extract the first character for the underlying representation, @ if one is avaialble. It also returns the number of bytes used ) in the representation of the character.  See also ,,  dropBytes. .&Traverse a bytestring (right biased). /%Traverse a bytestring (left biased). , This fuction is strict in the accumulator. 0;Counts the number of characters encoded in the bytestring. 0 Note that this includes replacment characters. F The function is linear in the number of bytes in the representation. 1%Split a string into a list of lines.  Lines are termianted by '\n' or the end of the string. < Empty line may not be terminated by the end of the string.  See also  'lines\''. 2%Split a string into a list of lines.  Lines are termianted by '\n' or the end of the string. < Empty line may not be terminated by the end of the string. * This function preserves the terminators.  See also 1.  !"#$%&'()*+,-./012!" ,$()*+/.012#-%&' !"#$%&'()*+,-./012portable experimentalemertens@galois.comdEncode a string in UTF8 form. eDecode a string from UTF8 f$Convert a list of bytes to a String gString to list of bytes. 3The 37 function outputs a value of any printable type to the 8 standard output device. This function differs from the L System.IO.print in that it preserves any UTF8 encoding of the shown value. 42Write a UTF8 string to the standard output device 5 The same as 4 , but adds a newline character. 60Read a UTF8 line from the standard input device 7The 7 function combines 6 and readIO, preserving UTF8 89:The : function reads a file and 4 returns the contents of the file as a UTF8 string. - The file is read lazily, on demand, as with A. ;The computation ; file str! function writes the UTF8 string str,  to the file file. <The computation < file str" function appends the UTF8 string str,  to the file file. =Read a UTF8 line from a Handle >(Lazily read a UTF8 string from a Handle ?!Write a UTF8 string to a Handle. @6Write a UTF8 string to a Handle, appending a newline. A$Lazily read stdin as a UTF8 string. 3456789:;<=>?@A3456789:;<A=>?@3456789:;<=>?@AB:Converts a Haskell string into a UTF8 encoded bytestring. C9Convert a UTF8 encoded bytestring into a Haskell string. & Invalid characters are replaced with '\xFFFD'. D@This character is used to mark errors in a UTF8 encoded string. E/Try to extract a character from a byte string.  Returns b0 if there are no more bytes in the byte string. = Otherwise, it returns a decoded character and the number of # bytes used in its representation. " Errors are replaced by character  '\0xFFFD'. F*Split after a given number of characters. / Negative values are treated as if they are 0. Gtake n s returns the first n characters of s.  If s has less then n) characters, then we return the whole of s. Hdrop n s returns the s without its first n characters.  If s has less then n1 characters, then we return the an empty string. I@Split a string into two parts: the first is the longest prefix F that contains only characters that satisfy the predicate; the second ! part is the rest of the string. " Invalid characters are passed as  '\0xFFFD' to the predicate. J@Split a string into two parts: the first is the longest prefix M that contains only characters that do not satisfy the predicate; the second ! part is the rest of the string. " Invalid characters are passed as  '\0xFFFD' to the predicate. K2Get the first character of a byte string, if any. & Malformed characters are replaced by  '\0xFFFD'. L&Traverse a bytestring (right biased). M%Traverse a bytestring (left biased). + This fuction is strict in the acumulator. N;Counts the number of characters encoded in the bytestring. 0 Note that this includes replacment characters. O%Split a string into a list of lines.  Lines are termianted by '\n' or the end of the string. < Empty line may not be terminated by the end of the string.  See also  'lines\''. P%Split a string into a list of lines.  Lines are termianted by '\n' or the end of the string. < Empty line may not be terminated by the end of the string. * This function preserves the terminators.  See also O. BCDEFGHIJKLMNOPEDKFGHIJBCMLNOPBCDEFGHIJKLMNOPQ:Converts a Haskell string into a UTF8 encoded bytestring. R9Convert a UTF8 encoded bytestring into a Haskell string. & Invalid characters are replaced with '\xFFFD'. S@This character is used to mark errors in a UTF8 encoded string. T/Try to extract a character from a byte string.  Returns b0 if there are no more bytes in the byte string. = Otherwise, it returns a decoded character and the number of # bytes used in its representation. " Errors are replaced by character  '\0xFFFD'. U*Split after a given number of characters. / Negative values are treated as if they are 0. Vtake n s returns the first n characters of s.  If s has less then n) characters, then we return the whole of s. Wdrop n s returns the s without its first n characters.  If s has less then n1 characters, then we return the an empty string. X@Split a string into two parts: the first is the longest prefix F that contains only characters that satisfy the predicate; the second ! part is the rest of the string. " Invalid characters are passed as  '\0xFFFD' to the predicate. Y@Split a string into two parts: the first is the longest prefix M that contains only characters that do not satisfy the predicate; the second ! part is the rest of the string. " Invalid characters are passed as  '\0xFFFD' to the predicate. Z2Get the first character of a byte string, if any. & Malformed characters are replaced by  '\0xFFFD'. [&Traverse a bytestring (right biased). \%Traverse a bytestring (left biased). + This fuction is strict in the acumulator. ];Counts the number of characters encoded in the bytestring. 0 Note that this includes replacment characters. ^%Split a string into a list of lines.  Lines are termianted by '\n' or the end of the string. < Empty line may not be terminated by the end of the string.  See also  'lines\''. _%Split a string into a list of lines.  Lines are termianted by '\n' or the end of the string. < Empty line may not be terminated by the end of the string. * This function preserves the terminators.  See also ^. QRSTUVWXYZ[\]^_TSZUVWXYQR\[]^_QRSTUVWXYZ[\]^_h       !"#$%&'()*+ !"#$%,-./0123456789: !"#$% !"#$%;<=>;?@A  BCDutf8-string-0.3.2Data.ByteString.Lazy.UTF8Data.ByteString.UTF8Codec.Binary.UTF8.StringCodec.Binary.UTF8.GenericData.String.UTF8System.IO.UTF8bytestring-0.9.1.7Data.ByteString.Lazy.Internal ByteStringData.ByteString.Internal encodeString decodeStringencodedecode UTF8Bytesbsplitbdropbuncons elemIndexemptynullpacktail fromStringtoStringreplacement_charsplitAttakedropspanbreakunconsfoldrfoldllengthlineslines'UTF8fromReptoRep byteSplitAtbyteTakebyteDropprintputStrputStrLngetLinereadLnopenBinaryFilewithBinaryFilereadFile writeFile appendFilehGetLine hGetContentshPutStr hPutStrLn getContentsbaseGHC.BaseStringreplacement_character Data.MaybeNothingStr bytesToString stringToBytes