UY7     &Prelude for the async-refresh package.(c) Moritz Schulte, 2017BSD3mtesseract@silverratio.net experimentalPOSIXNone4 Version of  with a deprecated pragma.Modern version of  producing  instead of . !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~HThis module contains the type definitions for the async-refresh package.(c) Moritz Schulte, 2017BSD3mtesseract@silverratio.net experimentalPOSIXNone ,Data type returned by async refresh actions.Actual result.In milliseconds.-Data type denoting a running async refresher.2Data type defining an async refresh configuration.In milliseconds.#Action implementing the refreshing.Refresh factor.To be called after refreshing.Human readable label.)Type synonym for async refresh callbacks.  AThis module defines lenses used within the async-refresh package.(c) Moritz Schulte, 2017BSD3mtesseract@silverratio.net experimentalPOSIXNone;=>?A         MThis module contains utility functions used within the async-refresh package.(c) Moritz Schulte, 2017BSD3mtesseract@silverratio.net experimentalPOSIXNoneDzHelper function, which evaluates the given action, logging an error in case of exceptions (and rethrowing the exception).The function 'restrictToInterval a b' is the identify function for numbers in the closed interval [a, b], it is the constant function x mapsto a on (-infty, a) and the constant function x mapsto b on (b, infty).9This module exposes the API of the async-refresh package.(c) Moritz Clasmeier, 2017-2018BSD3mtesseract@silverratio.net experimentalPOSIXNone<>?N]7+3Given a refresh action, create a new configuration. 9Default refresh interval is one minute (in milliseconds)..Default refresh factor. See documentation for  .(The default refresh callback is a no-op.'The default label for configuration is . Set default refresh interval, specified in milliseconds, in the given configuration. If a refresh action fails or does not produce an expiry time, this interval will be used. gSet the label in the provided configuration. This is a human readable text, used for logging purposes.?Extract a human readable label from the provided configuration. Set the refresh factor. When a refresh gives an explicit expiry time after a succesful refresh run, then this expiry time will be multiplied by this factor, yielding the effective expiry time after which a new refresh run will be scheduled. iSet a refresh callback for the provided configuration. This callback will be called after a refresh run.[Start a new thread taking care of refreshing of data according to the given configuration.bMain function of the refresh control thread. Acts as a simple watchdog for the thread defined by  doing the actual work.?Main function for the thread implementing the refreshing logic..This function does the actual refreshing work.QScale the given duration according to the factor specified in the configuration.         !"#"$%&'(')*+,-./.012131415161718191:1;1<1=>?>@>ABCBDBEBFBGBHBIBJBKBLBMBNBOBPBQBRBSBTBU.V.W.X.Y.Z.[.\.].^._.`.abcdefghijkjljmjnjojpjqjr>s>t>u>v>w>x>y>z{|{}{~..BBBBBBBBBBBBBBB.......%%%%%%%%%%%%    { {......"" "!"""#"$"%"&"'"(")"*"+","-"."/"0"1"2"3"4"5"6"7898:';'<j=>?@ABCDEFGFHII>J>K>LMNOMNPMNQMNRMNSMNTMNUMNVMNWMNXMNYMNYZ[\Z[]Z[^_`a_`b_`c_`d_`e_`f_`g_`_`h_`i_`j_`k_`l_`m_`n_`o_`p_`q_`r_`s_`t_`u_`v_`w_`x_`y_`z_`{_`|_`}_`~_`______________      !"#$%&'()*+,-.//012345  6789:;<=>?@ABCDEFGHIJ,async-refresh-0.3.0.0-KVLnzIyT8NsKy5xtDGHYLx Control.Concurrent.Async.Refresh(Control.Concurrent.Async.Refresh.Prelude&Control.Concurrent.Async.Refresh.Types'Control.Concurrent.Async.Refresh.Lenses%Control.Concurrent.Async.Refresh.Util RefreshResult refreshResult refreshExpiry AsyncRefreshasyncRefreshAsyncAsyncRefreshConfAsyncRefreshCallbacknewAsyncRefreshConfdefaultAsyncRefreshInterval"asyncRefreshConfSetDefaultIntervalasyncRefreshConfSetLabelasyncRefreshConfSetFactorasyncRefreshConfSetCallbacknewAsyncRefresh undefinedtshowbaseGHC.Showshow#text-1.2.2.2-EakMpasry3jA6OIwSZhq9MData.Text.InternalTextGHC.BaseString++ghc-primGHC.PrimseqGHC.Listfilterzip System.IOprint Data.Tuplefstsnd otherwiseassertmap$GHC.Real fromIntegral realToFracGHC.EnumBoundedminBoundmaxBoundEnumenumFrom enumFromThenenumFromThenTo enumFromTofromEnumtoEnumsuccpred GHC.ClassesEq==/= GHC.FloatFloatingpiexplogsqrt**logBasesincostanasinacosatansinhcoshtanhasinhacoshatanh Fractional fromRational/recipIntegral toIntegerquotremdivmodquotRemdivModMonad>>=>>returnfailFunctorfmap<$GHC.NumNum*+-negate fromIntegerabssignumOrd>=minmax><<=compareGHC.ReadRead readsPrecreadListReal toRational RealFloat floatRadix floatDigits floatRange decodeFloat encodeFloatexponent significand scaleFloatisNaN isInfiniteisDenormalizedisNegativeZeroisIEEEatan2RealFracproperFractiontruncateroundceilingfloorShow showsPrecshowListData.Typeable.InternalTypeable Applicativepure<*>*><* Data.FoldableFoldablefoldrlengthnullfoldMapfoldlfoldl1sumproductfoldr1maximumminimumelemData.Traversable TraversabletraversemapM sequenceAsequenceMonoidmemptymappendmconcat GHC.TypesBoolFalseTrueCharDoubleFloatInt integer-gmpGHC.Integer.TypeIntegerMaybeNothingJustOrderingLTEQGTRationalIOWord Data.EitherEitherLeftRight$async-2.1.1.1-H3j65XcXMHtBvmNwGCQ80GControl.Concurrent.Async waitBothSTMwaitEitherSTM_ waitEitherSTMwaitEitherCatchSTM waitAnySTMwaitAnyCatchSTMpollSTM waitCatchSTMwaitSTMAsync asyncThreadId Text.ReadreadControl.Monad.IO.ClassMonadIO Control.MonadforeverreadIOreadLn appendFile writeFilereadFileinteract getContentsgetLinegetCharputStrLnputStrputCharGHC.IO.ExceptionioErrorSomeAsyncExceptionGHC.IOFilePath userError IOExceptionIOError GHC.Exception Exception toException fromExceptiondisplayExceptionnotElemallanyorand concatMapconcat sequence_mapM_ Data.OldListunwordswordsunlineslinesreadseitherlex readParenText.ParserCombinators.ReadPReadS Data.Functorvoid<$>lcmgcd^^^oddeven showParen showStringshowCharshowsShowSunzip3unzipzipWith3zipWithzip3!!lookupreversebreakspansplitAtdroptake dropWhile takeWhilecycle replicaterepeatiteratescanr1scanrscanl1scanlinitlast Data.Maybe fromMaybemaybeuncurrycurrysubtractasTypeOfuntil$!flip.constid=<<GHC.ErrerrorWithoutStackTraceerror SomeException&&||not(exceptions-0.10.0-7TCTIMybnidG16W1buN3ECControl.Monad.Catch MonadThrow handleIOError catchIOErroruninterruptibleMask_mask_ MonadCatch MonadMaskmaskuninterruptibleMaskgeneralBracketHandler)fast-logger-2.4.11-BU38DXwhKjOJYWwMBBss65System.Log.FastLogger.LogStrLogStrToLogStrtoLogStr&formatting-6.3.2-hXoNVCFtSKCZoc7ZZWvzjFormatting.Formattersbytes prefixHex prefixOct prefixBinhexoctbinpluralordscommasfitRightfitLeftgroupIntcenterrightleftasIntscifmtscishortestfixedfloatintbuildfconstbuildercharshownstringstexttextFormatting.InternalformatToStringhprintfprintbprintsformatformatlatermapfnow%.%Format runFormatFormatting.Buildable Buildable,monad-logger-0.3.28.2-172XsqZdM5mJy53hw6XYaBControl.Monad.Logger logOtherCS logErrorCS logWarnCS logInfoCS logDebugCS logOtherNS logErrorNS logWarnNS logInfoNS logDebugNS logOtherN logErrorNlogWarnNlogInfoN logDebugN logWithoutLoc defaultLoc filterLoggerwithChannelLoggerunChanLoggingTrunChanLoggingTrunStdoutLoggingTrunStderrLoggingTrunFileLoggingT defaultLogStrexecWriterLoggingTrunWriterLoggingT logOtherS logErrorSlogWarnSlogInfoS logDebugSliftLoc logOtherSH logErrorSH logWarnSH logInfoSH logDebugSHlogOtherlogErrorlogWarnlogInfologDebugLogLevel LevelDebug LevelInfo LevelWarn LevelError LevelOther LogSource MonadLoggermonadLoggerLog MonadLoggerIO askLoggerIO NoLoggingT runNoLoggingTWriterLoggingTunWriterLoggingTLoggingT runLoggingTtemplate-haskellLanguage.Haskell.TH.SyntaxLocloc_end loc_start loc_module loc_package loc_filename.safe-exceptions-0.1.7.0-9XacfvYAAHI9Z6ohEjIsyOControl.Exception.Safe catchesAsync catchesDeepcatchesisAsyncExceptionisSyncExceptiontoAsyncExceptiontoSyncExceptionbracketWithErrorbracketOnError_bracketOnErrorfinallybracket_bracket withException onExceptiontryJusttryAsync tryAnyDeeptryDeeptryAnytryIOtry handleJust handleAsync handleAnyDeep handleDeep handleAnyhandleIOhandle catchJust catchAsync catchAnyDeep catchDeepcatchAnycatchIOcatch impureThrowthrowTo throwStringthrowMthrowIOthrowStringExceptionSyncExceptionWrapperAsyncExceptionWrapper'unliftio-0.2.6.0-6ICSlOnuVSF2FBBIKuUMwJUnliftIO.Concurrent threadDelayUnliftIO.AsyncreplicateConcurrently_replicateConcurrentlyforConcurrently_mapConcurrently_forConcurrentlymapConcurrently concurrently_ concurrentlyrace_racelink2linkwaitBoth waitEither_waitEitherCatchCancelwaitEitherCancelwaitEitherCatch waitEitherwaitAnyCatchCancel waitAnyCancel waitAnyCatchwaitAny cancelWithuninterruptibleCancelcancel waitCatchpollwaitwithAsyncOnWithUnmaskwithAsyncWithUnmask withAsyncOnwithAsyncBound withAsyncasyncOnWithUnmaskasyncWithUnmaskasyncOn asyncBoundasync ConcurrentlyrunConcurrently _asyncRefreshConfDefaultInterval_asyncRefreshConfAction_asyncRefreshConfFactor_asyncRefreshConfCallback_asyncRefreshConfLabelHasLabellabel HasFactorfactorHasDefaultIntervaldefaultInterval HasCallbackcallback HasActionaction logOnErrorrestrictToIntervaldefaultAsyncRefreshFactordefaultAsyncRefreshCallbackdefaultAsyncRefreshLabelasyncRefreshConfGetLabelasyncRefreshCtrlThreadasyncRefreshThreadasyncRefreshDocomputeRefreshTime