rL`      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQR S T U V W XYZ[\ ] ^ _`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUV W XYZ[\]^_ %Safe)+`abcdefghijklmnop+NonekqrkSafeGstuvwxGSafe HIJKLMNOP PONMLKJIHSafeyz{|}~None SafeAmnopqSafe ooSafemnnmSafe pqqpNonezzSafeFstuvwxy{|}~Fw|~u}vx{yts!SafeAmnopq"Safe7<Fmnopqstuvwxy{|}~  Safe< SafeW   WSafe>>SafeQQSafeSExtract the numerator of the ratio in reduced form: the numerator and denominator have no common factor and the denominator is positive.TExtract the denominator of the ratio in reduced form: the numerator and denominator have no common factor and the denominator is positive.ST:STTSSTSafe  !"#$%&'()*+,-./012345?@AB#Safet 6789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopq !"#$%r&'s()*t+Safe uvwxyz{ Safe\]^^]\Safe(C(CSafe |}789:Safe =AB~$Safe Safe3?@LMNSafeG  None NoneRSSR%Safe%19:;<SafeU A variant of % that does not produce a stack trace.Since: 4.9.0.0U  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEXYZ[_`abcdefghijr      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEIJKLMNOPQRUh,.-68;497: 5r +(#)"!'&%$*/    agefdjihc_`bLNM U YXZ[ED C@?A23 10IOKPJQR0 ED!"#I$1%(C&'BA@?)3 210 *JOKPQR+,-./2[ZYX;45678<3?@=AB>=<9CDE: >U NoneVLike $ but returning unit in an arbitrary 03 context. Allows for convenient use in do-notation.Note that the application of V is not an action in the 0 context, as  is in the ;H type. While the fresh bindings in the following example will force the V* expressions to be reduced every time the do-block is executed, traceM "not crashed"^ would only be reduced once, and the message would only be printed once. If your monad is in MonadIO, liftIO . traceIO may be a better option. T... = do x <- ... traceM $ "x: " ++ show x y <- ... traceM $ "y: " ++ show ySince: 4.7.0.0WLike V , but uses $ on the argument to convert it to a >. D... = do x <- ... traceShowM $ x y <- ... traceShowM $ x + ySince: 4.7.0.0VW UVVWVUVWVWSafeXX act repeats the action infinitely.Y This generalizes the list-based  function.ZThe Z function maps its first argument over a list, returning the result as a pair of lists. This function is mainly used with complicated data structures or a state-transforming monad.[The [ function generalizes # to arbitrary applicative functors.\\ is the extension of [ which ignores the final result.]] n act performs the action n times, gathering the results.^Like ], but discards the result.XYZ[\]^*'(XY;FGHXYZ[\]^'HGFXYZ[\]^XYZ[\]^Safell NoneIN_Like 3, but the child thread is a bound thread, as with ._=Tl_T__&'(&)*+,-&./&.0&12&34&35&'6&'7&'8&)9&:;&:<&=>&?@&?A&?B&?C+DE+DF&:G&'H&'I&'J&'K&'L&=M&=N&=O&=P&'Q&'R&?S&?T+DU&VW&=X&=Y&'Z&'[&:\+D]&^_&=`&Va&=b&cd&'e&fg&hi+jk+jl+jm+jn+jopqr+js&=t+ju+jv&wx&'y+jz+j{&w|&w}+j~+j+j&&&&&&&&&&&&&&&&&&&h&h&h&h&&&&1&1&1&1&1&1&1&1&1&1&1&1&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&f&f&f&f&f&f&f&f&f&f&f&f&f&f&f&f&f&f&f&f&f&&w&w&w&&&&&&&&&&^&^&^&^&^&^ &^ &^ &^ &^ &V&V&V&V&V&V&V&V&V&V&V&V&V&V&V&V&V&V&V &V!&V"&V#&V$&V%&V&&V'&V(&V)&V*&V+&V,&V-&./&.0&.1&.2&.3&.y&.l&.4&56&78&79&7:&7;&=<&==&=>&=?&=@&=A&=B&=C&=D&=E&=F&=G&=H&=I&=J&=K&=L&=M&=N&?O&?P&?Q&?R&?S&?T&UV&WX&YZ&Y[&Y\&]&c^&c_&c`&ca&cb&cc&cd&ce&.f&.g&.h&.i&.j&.k&.l&.m&.n&.o&.p&.q&.r&.s&.t&.u&.v&.w&.x&.y&.z&.{&.|&.}&.~&.&.&&3&3&:&:&:&:&:&'&'&'&'&'&'&'&'&'&'&'&'&'&'&'&'&'&'&'&'&'+D+D+D+D+D+D+D+D+D+D   &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&^&V&V&V&=&&&&&&&&&&&&&&&&Z&&&&&&&&&&&&&&&&&&&&&&& & & & & &&&&&&&&&&&&&&&&&& &!"&!#&!$&!%&&&'&(&)&*&+,&+-&./&.0&.1&.2&.3&.4&.5&67&68&69&6:&6;&6<&6=&6>&6?&@&A&B&C&+D&+E&+F&+G&+H&+I&+J&+K&+L&7M&7N&7O&7P&7Q&7R&7S&7T&7U&7V&7W&7X&7Y&7Z&7[&7\&7]&7^&7_&7`&7a&7b&7c&7d&7e&7f&7g&h&i&j&k&l&l&mn&mo&p&qr&qs&qt&qu&=v&wx&=y&z&{&{&|&}&}&~&&&&&&&&&&&&&&&&&&&&&&h&h&f&f&f&f&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&.&.&.&&&&&&&&W&W&w&w&w&&&&&&&&&&&f&f&f&f&f&f&f&f&f&f&f&&&&&&&&&&&'&&&&&&&&h&'&'&'&'&'&'&' & & & & &&&&&&&&&&&&&&&&& &!&"&#&$&%&&&'&()&(*&(+&(,&-.&-/&-0&-1&23&24&25&26&27&28&29&2:&2;&<=&>&?&@&A&B&C&D&E&F&G&H&IJbasec_Kfw7y6pOYav0XSdTTjF13VPrelude.CompatData.Functor.CompatText.Read.CompatData.String.CompatForeign.ForeignPtr.Safe.CompatSystem.Exit.CompatSystem.Environment.CompatData.STRef.Compat#Control.Monad.ST.Lazy.Unsafe.CompatControl.Concurrent.CompatDebug.Trace.CompatData.Version.CompatData.Functor.Const.CompatSystem.IO.Unsafe.CompatControl.Concurrent.MVar.CompatForeign.Marshal.Array.CompatForeign.Marshal.Utils.CompatForeign.Marshal.Alloc.Compat Foreign.ForeignPtr.Unsafe.CompatForeign.Marshal.Unsafe.CompatData.IORef.CompatControl.Monad.ST.Unsafe.CompatData.Monoid.CompatData.Either.CompatNumeric.CompatData.Word.CompatData.Bits.CompatData.Bool.CompatData.Function.CompatControl.Monad.CompatData.Ratio.CompatForeign.Marshal.Safe.CompatForeign.Marshal.CompatForeign.CompatData.List.CompatData.Complex.CompatData.Foldable.CompatbaseGHC.Base++GHC.Errerrorghc-primGHC.PrimseqGHC.Listfilterzip System.IOprint Data.Tuplefstsnd otherwisemap$ undefinedGHC.Num fromInteger-GHC.Real fromRationalGHC.EnumenumFrom enumFromThen enumFromToenumFromThenTo GHC.Classes==>=negatefail>>=>>fmapreturn fromIntegral realToFrac toInteger toRational<*>pureBoundedEnumEq GHC.FloatFloating FractionalIntegralMonadFunctorNumOrdGHC.ReadReadReal RealFloatRealFracGHC.ShowShow Applicative Data.FoldableFoldableData.Traversable Traversable GHC.TypesBoolCharDoubleFloatInt integer-gmpGHC.Integer.TypeIntegerOrderingRationalIOWord Data.EitherEitherStringFalseTrueLeftRightLTEQGTGHC.ForeignPtr ForeignPtr System.ExitdieSystem.EnvironmentgetEnvironment withProgNamewithArgsunsetEnvsetEnv lookupEnvgetEnv getProgNamegetArgs Data.STRef modifySTRef'Control.Monad.ST.Lazy.Imp unsafeIOToSTunsafeInterleaveSTControl.Concurrent forkFinally Debug.Trace traceShowIdtraceId Data.Version makeVersionsequencemapM sequenceAtraverseControl.ApplicativegetConstConstreadIOreadLn appendFile writeFilereadFileinteract getContentsgetLinegetCharputStrLnputStrputCharSystem.IO.Unsafe unsafeFixIOControl.Concurrent.MVarwithMVarMaskedForeign.Marshal.Array callocArray0 callocArrayForeign.Marshal.Utils fillBytesForeign.Marshal.Alloc callocBytescallocGHC.IO.ExceptionioErrorForeign.ForeignPtr.ImpmallocForeignPtrArray0mallocForeignPtrArraynewForeignPtrEnvwithForeignPtr newForeignPtrfinalizeForeignPtrcastForeignPtrunsafeForeignPtrToPtrtouchForeignPtrnewForeignPtr_addForeignPtrFinalizerEnvaddForeignPtrFinalizermallocForeignPtrBytesmallocForeignPtr FinalizerPtrFinalizerEnvPtrForeign.Marshal.UnsafeunsafeLocalState Data.IORefatomicWriteIORefatomicModifyIORef' modifyIORef'GHC.IOunsafeDupablePerformIO unsafeSTToIOFilePath userErrorIOError Text.Readread readMaybe readEitherreadsnotElemallanyorand concatMapconcat sequence_mapM_productsumminimummaximumelemlengthnullfoldl1foldr1foldlfoldrfoldMap Data.Monoid<>isRightisLefteitherNumeric showGFloatAlt showFFloatAlt Data.OldListunwordswordsunlineslinesGHC.Word byteSwap64 byteSwap32 byteSwap16parenslexPlexreadListPrecDefaultreadListDefault readParen readListPrecreadPrecreadList readsPrecatanhacoshasinhtanhcoshsinhatanacosasintancossinlogBase**sqrtlogexppiatan2isIEEEisNegativeZeroisDenormalized isInfiniteisNaN scaleFloat significandexponent encodeFloat decodeFloat floatRange floatDigits floatRadix Text.Read.LexEOFNumberSymbolIdentPuncLexemeText.ParserCombinators.ReadPReadS Data.BitstoIntegralSizedpopCountDefaulttestBitDefault bitDefaultlcmgcd^^^oddevendivModquotRemmoddivremquotrecip/floorceilingroundtruncateproperFractionmaxBoundminBoundfromEnumtoEnumpredsucc Data.Boolbool Data.Function& Data.Functorvoid$><$>GHC.ST showParen showStringshowCharshowsShowSshowListshow showsPrecunzip3unzipzipWith3zipWithzip3!!lookupreversebreakspansplitAtdroptake dropWhile takeWhilecycle replicaterepeatiteratescanr1scanrscanl1scanlinitlasttailhead Data.Maybemaybeuncurrycurrysubtractsignumabs*+asTypeOfuntil$!flip.constid=<<JustNothingMaybemconcatmappendmemptyMonoid<$<**>mplusmzero MonadPlus/=compare<=&&||not<>maxmin numerator denominatorerrorWithoutStackTracetraceM traceShowMforeverfilterM mapAndUnzipMzipWithM zipWithM_ replicateM replicateM_forkOSWithUnmaskText.ParserCombinators.ReadPrec readS_to_Prec readPrec_to_S readP_to_Prec readPrec_to_Pchoicepfail<+++++lookgetprecresetstepliftminPrecReadPrecPrecunsafeInterleaveIOunsafePerformIO exitSuccess exitFailureexitWith ExitFailure ExitSuccessExitCodeshowOctshowHex showIntAtBase showGFloat showFFloat showEFloatshowInt readSigned readFloatreadHexreadDecreadOctreadInt lexDigitsfromRat floatToDigits showFloat showSignedForeign.Marshal.PoolpooledNewArray0pooledNewArray pooledNewpooledReallocArray0pooledReallocArraypooledMallocArray0pooledMallocArraypooledReallocBytes pooledReallocpooledMallocBytes pooledMallocwithPoolfreePoolnewPoolPoolForeign.Marshal.Error throwIfNull throwIfNeg_ throwIfNegthrowIf_throwIf advancePtr lengthArray0 moveArray copyArray withArrayLen0 withArray0 withArrayLen withArray newArray0newArray pokeArray0 pokeArray peekArray0 peekArray reallocArray0 reallocArray allocaArray0 allocaArray mallocArray0 mallocArray moveBytes copyByteswithMany maybePeek maybeWithmaybeNewtoBoolfromBoolwithnewfree reallocBytesreallocallocaBytesAligned allocaBytesalloca mallocBytesmalloc finalizerFree GHC.Stable newStablePtrGHC.IntInt8Int16Int32Int64 StablePtrWord8Word16Word32Word64GHC.PtrPtrFunPtr Foreign.Ptr intPtrToPtr ptrToIntPtr wordPtrToPtr ptrToWordPtrfreeHaskellFunPtrWordPtrIntPtrForeign.Storablepokepeek pokeByteOff peekByteOff pokeElemOff peekElemOff alignmentsizeOfStorablecastPtrToStablePtrcastStablePtrToPtrdeRefStablePtr freeStablePtrcastPtrToFunPtrcastFunPtrToPtr castFunPtr nullFunPtrminusPtralignPtrplusPtrcastPtrnullPtrpopCountrotateRrotateL unsafeShiftRshiftR unsafeShiftLshiftLisSignedbitSize bitSizeMaybetestBit complementBitclearBitsetBitbitzeroBitsrotateshift complementxor.|..&.BitscountTrailingZeroscountLeadingZeros finiteBitSize FiniteBits parseVersion showVersion versionTags versionBranchVersion Data.String fromStringIsString modifySTRef GHC.STRef writeSTRef readSTRefnewSTRefSTRefRatio Data.RatioapproxRational%getDualDualappEndoEndogetAllAllgetAnyAnygetSumSum getProductProductgetFirstFirstgetLastLastgetAltAlt Data.ListisSubsequenceOf mapAccumR mapAccumLfind minimumBy maximumByfoldl'unfoldrsortOnsortBysort permutations subsequencestailsinitsgroupBygroupdeleteFirstsByunzip7unzip6unzip5unzip4zipWith7zipWith6zipWith5zipWith4zip7zip6zip5zip4genericReplicate genericIndexgenericSplitAt genericDrop genericTake genericLengthinsertByinsert partition transpose intercalate intersperse intersectBy intersectunionByunion\\deleteBydeletenubBynub isInfixOf isSuffixOf isPrefixOf findIndices findIndex elemIndices elemIndex stripPrefix dropWhileEndscanl'foldl1'unconsatomicModifyIORef modifyIORef mkWeakIORef GHC.IORef writeIORef readIORefnewIORefIORefonfixpartitionEithersrightslefts Data.Complexphase magnitudepolarcismkPolar conjugateimagPartrealPart:+Complexmsumasum sequenceA_forM_for_ traverse_foldlMfoldrMtoListfoldr'foldtracetraceIO traceMarkerIO traceMarker traceEventIO traceEvent traceStack traceShow putTraceMsg Control.Monadguardjoinmfilter<$!>unlessfoldM_foldM<=<>=>forMapliftM5liftM4liftM3liftM2liftMwhen mkWeakMVaraddMVarFinalizermodifyMVarMaskedmodifyMVarMasked_ modifyMVar modifyMVar_withMVarswapMVarGHC.MVar isEmptyMVar tryReadMVar tryPutMVar tryTakeMVarputMVarreadMVartakeMVarnewMVar newEmptyMVarMVar GHC.Conc.SyncforkIOWithUnmaskforkOSthreadWaitWriteSTMthreadWaitReadSTMthreadWaitWritethreadWaitReadrunInUnboundThreadrunInBoundThreadisCurrentThreadBoundrtsSupportsBoundThreadsControl.Concurrent.QSemN signalQSemN waitQSemNnewQSemNQSemNControl.Concurrent.QSem signalQSemwaitQSemnewQSemQSemControl.Concurrent.ChanwriteList2ChangetChanContents isEmptyChan unGetChandupChanreadChan writeChannewChanChan GHC.Conc.IO threadDelaymkWeakThreadIdthreadCapabilityyield myThreadIdthrowTo killThreadsetNumCapabilitiesgetNumCapabilitiesforkOnWithUnmaskforkOnforkIOThreadId