GO/O"      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !None       !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJK"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJOKPLQRSTVWXYZ[\]^_defghijklmnopqrstuvwxyz{|}~    [\Z   '  ,(%$.&)#" !utsrqponmlkjihgfed+*~}|{zyxwv8EFG0AB1:?CDO;<=>4567932VKJIWYX]_^/HTSRQ-P@     None  map = fmap empty = mempty (++) = mappend concat = mconcat $intercalate = mconcat .: intersperse,Compute the sum of a finite list of numbers.0Compute the product of a finite list of numbers. Convert a value to readable Text$Convert a value to readable IsString Since 0.3.12Parse Text to a valueThe readIO function is similar to read except that it signals parse failure to the IO monad instead of terminating the program. [Read a file and return the contents of the file as Text. The entire file is read strictly.RWrite Text to a file. The file is truncated to zero length before writing begins. Write Text to the end of a file.OThis function assumes file paths are encoded in UTF8. If it cannot decode the &, the result is just an approximation. Since 0.3.13 Since 0.3.13 Since 0.3.13 Note that this is not the standard Data.Text.Encoding.decodeUtf8b. That function will throw impure exceptions on any decoding errors. This function instead uses  decodeLenient.  !MN OP !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGQRSTUVWXYZ[\]H^_`abcIJKLMN"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJOKPLQRSTUdefghijklmnopqrstuvwxyzVWXYZ{|}~[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !/  cbUa`!NML  !        ! "#$%&'()* + ,-./0123 4 56789:0;<=>?@%A BCDCECFCGCHIJIKLMNCOPCQCRSTSUSVWX YCZC[W\W]C^C_C`ab#c#d#efgfhfijklmnonpnqnrstuvWwWxWyWz{|{}~~~888800000000000000000000000000000000=======                    n                                    !" !# !$ !% !& !' ()*+*,-./0/1/2/3456786796:;<=><?@ABCADEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefegeheiejekelemeneoepeqereseteuevewexeyeze{e|e}e~eeeeeeeeeeeeeelllla aaaaaaaaaaaaa                !basic_JAv2bjO8zxV4B8RuNn3pCo CorePrelude BasicPreludebaseGHC.Errerrorghc-primGHC.Primseq Data.TuplefstsndGHC.Base otherwise$ undefinedGHC.Num fromInteger-GHC.Real fromRationalGHC.EnumenumFrom enumFromThen enumFromToenumFromThenTo GHC.Classes==>=negatefail>>=>>fmapreturn Control.Arrowfirst Data.String fromString fromIntegral realToFrac toInteger toRational<*>pureBoundedEnumEq GHC.FloatFloating FractionalIntegralMonadFunctorNumOrdGHC.ReadReadReal RealFloatRealFracGHC.ShowShowData.Typeable.InternalTypeableIsString Applicative GHC.TypesBoolCharDoubleFloatIntGHC.IntInt32Int64 integer-gmpGHC.Integer.TypeIntegerOrderingRationalIOWordGHC.WordWord8Word32Word64 Data.EitherEitherStringFalseTrueLeftRightLTEQGT Control.Monad>=>&&&***second System.IOreadLngetCharputCharForeign.StorableStorableGHC.IO.Exception IOException GHC.ExceptiondisplayException fromException toException Exception Text.Readreads Data.Monoid<>partitionEithersrightsleftseitherControl.Category.idData.Ord comparingDownlex readParenreadList readsPrecatanhacoshasinhtanhcoshsinhatanacosasintancossinlogBase**sqrtlogexppiatan2isIEEEisNegativeZeroisDenormalized isInfiniteisNaN scaleFloat significandexponent encodeFloat decodeFloat floatRange floatDigits floatRadixText.ParserCombinators.ReadPReadSlcmgcd^^^oddevendivModquotRemmoddivremquotrecip/floorceilingroundtruncateproperFractionmaxBoundminBoundfromEnumtoEnumpredsucc Data.Functionon Data.Functor<$> showParen showStringshowCharshowsShowSshowList showsPrec Data.MaybemapMaybe catMaybes listToMaybe maybeToList fromMaybe isNothingisJustmaybeswapuncurrycurrysubtractsignumabs*+asTypeOfuntil$!flipconst=<<JustNothingMaybemconcatmappendmemptyMonoid<$<**><|> SomeException/=compare<=&&||not<>maxminbytes_6elQVSg5cWdFrvRnfxTUrHData.ByteString.Internal ByteStringconta_LKCPrTJwOTOLk4OU37YmeNData.IntMap.BaseIntMapData.IntSet.BaseIntSet Data.Map.BaseMap Data.Set.BaseSet Data.SequenceSeqhasha_2GTZqecVp8NJZrNuKzGxfyData.Hashable.Classhash hashWithSaltHashablelifte_K3cQFA6mRg85rpDaA9numUControl.Exception.Lifted onExceptionfinallybracketOnErrorbracket_bracketuninterruptibleMask_uninterruptibleMaskmask_masktryJusttry handleJusthandle catchJustcatchthrowIOtext_1l1AN4I48k37RaQ6fm6CEhData.Text.InternalTextsyste_2SzVkwMcB0z2zba4qxCrKfFilesystem.Path<.> hasExtensionbasenamefilename directoryFilesystem.Path.InternalFilePathData.Text.Lazy.IO getContentsinteract Data.Text.IOgetLine Data.TextunwordsunlineslineswordsData.Text.Encoding encodeUtf8trans_3eG64VdP2vzGjP6wJiCp5XControl.Monad.IO.ClassliftIOMonadIOControl.Monad.Trans.Classliftunord_7E41cj9RvqSJeZ4jSnbs1a Data.HashSetHashSetData.HashMap.BaseHashMapvecto_A9qWf1eecPQGJD12EBZIxF Data.VectorVectorData.Vector.Unboxed.BaseUnboxSVectorUVector LByteStringLTextequatinggetArgsputStrputStrLnprintreadArgsmapempty++concat intercalatesumproductshowfromShowreadreadIOreadFile writeFile appendFile textToString ltextToStringfpToText fpFromText fpToString decodeUtf8readMaySystem.IO.Error catchIOErrorannotateIOError modifyIOErrorioeSetFileName ioeSetHandleioeSetLocationioeSetErrorStringioeSetErrorTypeioeGetFileName ioeGetHandleioeGetLocationioeGetErrorStringioeGetErrorTypeisUserErrorTypeisPermissionErrorTypeisIllegalOperationErrorTypeisEOFErrorTypeisFullErrorTypeisAlreadyInUseErrorTypeisDoesNotExistErrorTypeisAlreadyExistsErrorType userErrorTypepermissionErrorTypeillegalOperationErrorType eofErrorType fullErrorTypealreadyInUseErrorTypedoesNotExistErrorTypealreadyExistsErrorType isUserErrorisPermissionErrorisIllegalOperation isEOFError isFullErrorisAlreadyInUseErrorisDoesNotExistErrorisAlreadyExistsError mkIOError tryIOErrorioError IOErrorType userErrorIOErrorGHC.Listfilterzipguardjoin Data.ListisSubsequenceOfmfilter<$!>unless replicateM_ replicateMfoldM_foldM zipWithM_zipWithM mapAndUnzipMforever<=<filterMData.Traversable mapAccumR mapAccumLforMsequencemapM Data.FoldablefindnotElem minimumBy maximumByallanyorand concatMapmsum sequence_forM_mapM_minimummaximumelemlengthnullfoldl1foldr1foldl'foldlfoldr Data.OldListunfoldrsortOnsortBysort permutations subsequencestailsinitsgroupBygroupdeleteFirstsByunzip7unzip6unzip5unzip4zipWith7zipWith6zipWith5zipWith4zip7zip6zip5zip4genericReplicate genericIndexgenericSplitAt genericDrop genericTake genericLengthinsertByinsert partition transpose intersperse intersectBy intersectunionByunion\\deleteBydeletenubBynub isInfixOf isSuffixOf isPrefixOf findIndices findIndex elemIndices elemIndex stripPrefix dropWhileEndvoidunzip3unzipzipWith3zipWithzip3!!lookupreversebreakspansplitAtdroptake dropWhile takeWhilecycle replicaterepeatiteratescanr1scanrscanl'scanl1scanlfoldl1'initlasttailunconsheadapliftM5liftM4liftM3liftM2liftMwhenmplusmzero MonadPlus