p$      !"#None$ The following are all the same:  fmap f a == f  $ a == a |> fmap f == a |$> f EThis operator accomodates the left-to-right operators: >>=, >>>, |>. %&'()*+,-./$01234v56789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~%&'()*+,-./$01234%&'()*+,-./$01234None A failure response from server. (A connection keepalive timeout reached. .Server was unable to deserialize the request. 0 This is only expected to happen in case of user's protocol mismatch. CA mismatch of the internal protocol versions on client and server. J First is the version on the client, second is the version on the server. $A session timeout in microseconds. > The period of keepalive signaling depends on that parameter.  If you don'=t want excessive requests, just make it a couple of minutes. <Either a plain ASCII password or an encoding of some data, B e.g. an MD5 hash of a username-password pair or just a password. ; In more involved scenarios you can mix in serialization, E e.g. a serialized pair of username and a hash of just the password. Nothing means anonymous. A unique identification of user'%s protocol version used for checking : of protocol versions mismatch between client and server. 5 It can be simply a user-supplied version number or N a hash or a serialization of the representation of a type used for protocol, / which can be generated using such library as   1http://hackage.haskell.org/package/type-structuretype-structure. MA version of the internal protocol used for checking of server-client match.  NoneBExecute an IO action while using a file as an interprocess lock, H thus ensuring that only a single action executes across all processes  of the running system. TIf a file exists already it checks whether it is locked on by any running process,  including the current one,  and acquires it if it's not. \Releases the lock in case of any failure in executed action or when the action is executed. ax    None &A connection timeout in microseconds. > The period of keepalive signaling depends on that parameter.  If you don'=t want excessive requests, just make it a couple of minutes. 6An abstraction over networking and data transmission. B Can be used in implementation of both the server and the client.    !"#$  None1A mutable state associated with particular client's connection.  Since we're in % anyway, we use a mutable state with e wrapper.  You'@re free to extend it with whatever the data structure you want. ,A function which processes requests of type i from client and  produces a response of type o, 8 while maintaining a user-defined session state of type s per each client. IThis function essentially is what defines what the server actually does. 2A function, which checks the authentication data. / If you want to provide access to anybody, use (const $ return True). %&'()*+ %&'()*+%&(')*+None>Server reports that it was unable to deserialize the request. 0 This is only expected to happen in case of user's protocol mismatch. RA mismatch of the user-supplied versions of custom protocol on client and server. J First is the version on the client, second is the version on the server. CA mismatch of the internal protocol versions on client and server. J First is the version on the client, second is the version on the server. 0A timeout of communication with server reached. ,Connection got interrupted for some reason. Incorrect credentials. )Server has too many connections already.  It's suggested to retry later. 'Unable to connect to the provided url. Location of the server. !Host name, port and credentials. Path to the socket-file.  Settings of . ,;Ensures a response to request accomodation in concurrency. ;A monad transformer for performing actions on client-side. Supports custom protocols with i* being the type of the client request and  o - the server' s response. Run  in the base monad. "Requires the base monad to have a 3 instance for . Send a request i and receive a response o. + ,-./0123456789:;<=>?@ABCDEF   ,-./0123456789:;<=>?@ABCDEFNone A Server failure. >A monad transformer, which runs the server in the background. A logging function.  If you want no logging, use (const $ return ()). & If you want to output to console use  Data.Text.IO. . 0 If you want to somehow reformat the output, you' re welcome:  (Data.Text.IO.  . ("Remotion.Server: " )). A maximum amount of clients. M When this amount is reached the server rejects all the further connections. A port to run the server on. 'Defines how to listen for connections. Listen on a socket file. 6 Since sockets are local no authentication is needed.  Works only on UNIX systems. 2Listen on a port with an authentication function. #Settings of how to run the server. DRun the server, while automatically managing all related resources. !:Block until the server stops (which should never happen). "9Count the currently available slots for new connections. #3Run the server, while blocking the calling thread. GHIJ !"#KLM !"# !"#GHIJ !"#KLMN     !"#$%&'()*+,-./0123456789:;<:;=:;>:?@ABCABDABE:FG:FH:IJABK:LM:LN:;O:;P:QR:;S:;TAUV:;W:XY:;Z:[\:[]:^_:`a:`b:`c:`dAefAeg:[h:;i:;j:;k:;l:;m:no:pq:pr:ps:pt:pu:vw:^x:^y:^z:^{:|}:|~:`:`Ae::^:^:;::;:[Ae::^::^:::::::::::n:|:v::::ABABAABABAABAABAABA::AB:AB:ABABABAAB:^:^ABABABABABABABABABAABA::AB:AB:ABAB::AB:AB:;AAAAAA::AAAABABABABABABABABABABABABABABABABABABABABABABABABABABAB AB AB AB AB ABABABABABABABABABABABABABABABABABABAB AB!AB"AB#AB$AB%AB&AB'AB(AB)AB*AB+AB,AB-AB.AB/AB0AB1AB2AB3AB4AB5AB6AB7AB8AB9AB:AB;AB<AB=AB>AB?AB@ABAABBABCABDABEABFABGABHABIABJABKABLABMABNABOABPABQABRABSABTABUABVABWABXABYABZAB[AB\AB]AB^AB_AB`ABaABbABcABdABeABfABgABhABiABjABkABlABmABnABoABpABqABrABsABtABuABvABwABxAByABzAB{AB|AB}AB~ABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABAB AB AB AB AB ABABABABABABABABABABABABABABABABABABAB AB!AB"AB#AB$AB%AB&AB'AB(AB)AB*AB+AB,AB-AB.AB/AB0AB1AB2AB3AB4AB5AB6AB7AB8AB9AB:AB;AB<AB=AB>AB?AB@ABAABBABCABDABE:FG:FH:FI:FJ:KL:FM:N:O:pP:pQ:RS:RT:RU:|V:?W:[X:^Y:ZAe[Ae\Ae]Ae^:_:`:ab:ac:ad:;e:fg:fhAei:j:k:l:m:n:o:p:qr:;s:t:fuvwxyz{yz|y}~y}:::::::::::::::::::::::::::::Q:Q:Q:Q:Q:Q:Q:Q:Q:Q:Q:Q:Q:Q:Q:Q:Q:Q:Q:Q:X::::::::::::::::::::::::::::::::::::::::Q:Q:Q:Q:Q:Q:Q:Q:Q:Q:Q:Q:Q:Q:::::::Q:Q:Q:K:K:K:K:K:K :K :K :K : : : : : : : : :::::::::: !: ": #:$%:$&:$':():(*:(+:(,:(-:(.:/0:F1:F2:F3:F4:F5:F6:F7:F8:9::9;:9<:9=:9>:9?:9@: A: B:$C:(D:9E:FG:HI:HJ:HK:HL:HM:HN:HO:HP:Q:R:S:T:U:V:W:FX:HY:HY:HZ:HZ:H[:H[:H\:H\:H]:H]:H^:H^:H_:H_:`a:`b:`c:`d:`e:`f:`g:`h:`h:i:j:k:l:Qm:Qn:Qo:Qp:Qp:Qq:Qr:Qs:Qt:Qu:Qv:Qv:Qw:Qw:Qx:Qx:yz:y{:|:}:~:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::^:^:^:::L:a:a:a:a:a:a :a :a :a :a :a:a:a:a:a:a:a:a:a:a:a:a:a:a:a:a:a:a:a :a!:a":a#:a$:a%:a&:a':a(:a):a*:a+:a,:a-:a.:a/:a0:a1:a2:a3:a4:56:7:8:9:::;:<:=:>:?:@: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:p[:p\:p]:p^:p_:p`:pa:pb:pc:pd:pe:pf:pg:ph:i:j:k:l:m:n:o:n:p:q:r:s:t:t:u:pf:pv:pw:px:py:az:a{:a|:a}:L~:;:;:Q:Q:F:F:F:F:F:F:F:F:F:F:F:F:F:F:F:F:F:F:F:F:F:F:F:[:::^:^:^:^:^:^:::::I:I:I:I:I:I:I:I :I:I:I:I:`:`:`:`:`:`::::::::::::::::::::::::::::::::[:[:[::^:^:^:^:^:^:^:^:^:^:^:^::::AeAeAeAe::L:::`:a::F:F:F:F:F:F:F:F:F:F:F:F:F:F :/                                  ! " #$ #% #& #' #( #) #* #+ #, #- #. #/ #0 #1 23 24 25 26 27 28 29 2: 2; 2< 2= 2> 2? @A @B @C @D EF:GHIJK:L:M:yN:OP:Q:R:pg:RS:TUVWUVXUVYUVZUV[UV\UV]UV^UV^U_`U_aU_bU_cU_dU_eU_fU_gU_ghijhikhilhimhinhiohiphqrhqshqthquhqv:|w:|x:|y:|z:|{:||:|}:|~:|:|:|:|:|:|:|:|:|:|:|:UUU:|:|::|:F::::`:`:`:`:`:FX:::H::Q:H:H:F    :5 U:5:Q:U:F:F:F:F:F:y:| !"#$%&'()*+,-./012345:56U7U8U9U:U;U<U:=:>:?:5@:5A:5B:5C:5D:5EFGHFGHFGIFGJFGKFGLFGMFGNFGO:5P:5QAeR:;S:pT:RUUVWUVXUVX:fY:fZ:f[:f\:f]:f^:f_:f`:fa:fb:f\:f]:fc:fY:f_:fa:fd:fe:ff:fg:fe:fh:ff:fijkljkmjknjopjqrhstUuvwxywxz{|}{|~{|{|{|{|{|{|wxwxwxwxwxwxwxwxwxwxwxwxwxwxwxwxwxhshshhhhhhhUUUU UUUUUUUUUUuUuUuUuUuUuA::::::X:X:X::::::X:X:;:;:;:;:;y}y}y}yzyzyyyzyzy      !"#$%&'%&(%&)%&*%&+%&%&%&%&,%&-%&.%&/%&0%&1%&2%&3%&4%&5%&6%&7%&8%&9%&:%&;%&<%&=%&>%&?%&@%&A%&B%&C%&D:EF:EG:EH:EI:EJKLKMKNKOKPKQKRKSKTKUVWVXVYVZV[V\V]V^V_V`VaVbVcVdV$VeVBVfVgVhViVjVkVlVmVnVoVN pqrsptuvwxyz{|}~ ./!remotion-0.2.0Remotion.ServerRemotion.ClientRemotion.Util.PreludeRemotion.ProtocolRemotion.Util.FileSystemRemotion.SessionRemotion.Server.Connection Data.Text.IOputStrLnTimeout CredentialsUserProtocolSignatureStateProcessUserRequest AuthenticateFailureCorruptRequestUserProtocolSignatureMismatchProtocolVersionMismatchTimeoutReachedConnectionInterruptedUnauthenticated ServerIsBusyUnreachableURLURLHostSocketSettingsClientrunrequestListeningSocketIsBusyServerLog MaxClientsPort ListeningModewait countSlots runAndWait|$>LazyTextLazyByteString?:traceMtraceIOtraceIOWithTimepackText unpackTextbug|><| microsToDiff diffToMicros bracketME finallyMEtracingExceptionsbaseGHC.Baseaugment++buildGHC.Errerrorghc-primGHC.Primseq realWorld# unsafeCoerce#GHC.Listfilterzip System.IOprint nullAddr# Data.Tuplefstsnd otherwiselazyGHC.IO.Exception assertError breakpointbreakpointCond GHC.MagicinlinemapGHC.Exts groupWith$GHC.Num fromInteger-GHC.Real fromRationalGHC.EnumenumFrom enumFromThen enumFromToenumFromThenTo GHC.Classes==>=negatefail>>=>>fmapreturnControl.Monad.Fixmfix Control.Arrowarrfirstapp|||loop Data.String fromString fromIntegral realToFrac toInteger toRational Control.MonadguardliftMBoundedEnumEq GHC.FloatFloating FractionalIntegralMonad Data.DataDataFunctorNumOrdGHC.ReadReadReal RealFloatRealFracGHC.ShowShowGHC.ArrIxData.Typeable.InternalTypeable Typeable1 Typeable2 Typeable3 Typeable4 Typeable5 Typeable6 Typeable7MonadFix MonadPlusIsStringControl.Applicative Applicative Data.FoldableFoldableData.Traversable Traversable GHC.GenericsGenericAddr#Array# GHC.TypesBool ByteArray#Char#CharDouble#DoubleFloat#FloatInt#IntGHC.IntInt8Int16Int32#Int32Int64#Int64 integer-gmpGHC.Integer.TypeIntegerWeak# MutableArray#MutableByteArray#OrderingMVar#RatioRational RealWorld StablePtr#Any ArrayArray#MutableArrayArray#State# StableName#~#MutVar#IOWord#WordGHC.WordWord8Word16Word32#Word32Word64#Word64 ThreadId#BCO#GHC.PtrPtrFunPtrTVar# Data.EitherEither ConstraintStringC#D#FalseF#I#TrueLeftRightLTEQGTgtChar#geChar#eqChar#neChar#ltChar#leChar#ord#+#-#*#mulIntMayOflo#quotInt#remInt# quotRemInt# negateInt#addIntC#subIntC#>#>=#==#/=#<#<=#chr# int2Word# int2Float# int2Double#uncheckedIShiftL#uncheckedIShiftRA#uncheckedIShiftRL# plusWord# plusWord2# minusWord# timesWord# timesWord2# quotWord#remWord# quotRemWord# quotRemWord2#and#or#xor#not#uncheckedShiftL#uncheckedShiftRL# word2Int#gtWord#geWord#eqWord#neWord#ltWord#leWord#popCnt8# popCnt16# popCnt32# popCnt64#popCnt# narrow8Int# narrow16Int# narrow32Int# narrow8Word# narrow16Word# narrow32Word#>##>=##==##/=##<##<=##+##-##*##/## negateDouble# double2Int# double2Float# expDouble# logDouble# sqrtDouble# sinDouble# cosDouble# tanDouble# asinDouble# acosDouble# atanDouble# sinhDouble# coshDouble# tanhDouble#**##decodeDouble_2Int#gtFloat#geFloat#eqFloat#neFloat#ltFloat#leFloat# plusFloat# minusFloat# timesFloat# divideFloat# negateFloat# float2Int# expFloat# logFloat# sqrtFloat# sinFloat# cosFloat# tanFloat# asinFloat# acosFloat# atanFloat# sinhFloat# coshFloat# tanhFloat# powerFloat# float2Double#decodeFloat_Int# newArray#sameMutableArray# readArray# writeArray# sizeofArray#sizeofMutableArray# indexArray#unsafeFreezeArray#unsafeThawArray# copyArray#copyMutableArray# cloneArray#cloneMutableArray# freezeArray# thawArray# newByteArray#newPinnedByteArray#newAlignedPinnedByteArray#byteArrayContents#sameMutableByteArray#unsafeFreezeByteArray#sizeofByteArray#sizeofMutableByteArray#indexCharArray#indexWideCharArray#indexIntArray#indexWordArray#indexAddrArray#indexFloatArray#indexDoubleArray#indexStablePtrArray#indexInt8Array#indexInt16Array#indexInt32Array#indexInt64Array#indexWord8Array#indexWord16Array#indexWord32Array#indexWord64Array#readCharArray#readWideCharArray# readIntArray#readWordArray#readAddrArray#readFloatArray#readDoubleArray#readStablePtrArray#readInt8Array#readInt16Array#readInt32Array#readInt64Array#readWord8Array#readWord16Array#readWord32Array#readWord64Array#writeCharArray#writeWideCharArray#writeIntArray#writeWordArray#writeAddrArray#writeFloatArray#writeDoubleArray#writeStablePtrArray#writeInt8Array#writeInt16Array#writeInt32Array#writeInt64Array#writeWord8Array#writeWord16Array#writeWord32Array#writeWord64Array#copyByteArray#copyMutableByteArray# setByteArray#newArrayArray#sameMutableArrayArray#unsafeFreezeArrayArray#sizeofArrayArray#sizeofMutableArrayArray#indexByteArrayArray#indexArrayArrayArray#readByteArrayArray#readMutableByteArrayArray#readArrayArrayArray#readMutableArrayArrayArray#writeByteArrayArray#writeMutableByteArrayArray#writeArrayArrayArray#writeMutableArrayArrayArray#copyArrayArray#copyMutableArrayArray# plusAddr# minusAddr#remAddr# addr2Int# int2Addr#gtAddr#geAddr#eqAddr#neAddr#ltAddr#leAddr#indexCharOffAddr#indexWideCharOffAddr#indexIntOffAddr#indexWordOffAddr#indexAddrOffAddr#indexFloatOffAddr#indexDoubleOffAddr#indexStablePtrOffAddr#indexInt8OffAddr#indexInt16OffAddr#indexInt32OffAddr#indexInt64OffAddr#indexWord8OffAddr#indexWord16OffAddr#indexWord32OffAddr#indexWord64OffAddr#readCharOffAddr#readWideCharOffAddr#readIntOffAddr#readWordOffAddr#readAddrOffAddr#readFloatOffAddr#readDoubleOffAddr#readStablePtrOffAddr#readInt8OffAddr#readInt16OffAddr#readInt32OffAddr#readInt64OffAddr#readWord8OffAddr#readWord16OffAddr#readWord32OffAddr#readWord64OffAddr#writeCharOffAddr#writeWideCharOffAddr#writeIntOffAddr#writeWordOffAddr#writeAddrOffAddr#writeFloatOffAddr#writeDoubleOffAddr#writeStablePtrOffAddr#writeInt8OffAddr#writeInt16OffAddr#writeInt32OffAddr#writeInt64OffAddr#writeWord8OffAddr#writeWord16OffAddr#writeWord32OffAddr#writeWord64OffAddr# newMutVar# readMutVar# writeMutVar# sameMutVar#atomicModifyMutVar# casMutVar#catch#raise#raiseIO#maskAsyncExceptions#maskUninterruptible#unmaskAsyncExceptions#getMaskingState# atomically#retry# catchRetry# catchSTM#check#newTVar# readTVar# readTVarIO# writeTVar# sameTVar#newMVar# takeMVar# tryTakeMVar#putMVar# tryPutMVar# sameMVar# isEmptyMVar#delay# waitRead# waitWrite#fork#forkOn# killThread#yield# myThreadId# labelThread#isCurrentThreadBound# noDuplicate# threadStatus#mkWeak#mkWeakNoFinalizer#mkWeakForeignEnv# deRefWeak# finalizeWeak#touch#makeStablePtr#deRefStablePtr# eqStablePtr#makeStableName# eqStableName#stableNameToInt#reallyUnsafePtrEquality#par#spark#seq# getSpark# numSparks# parGlobal# parLocal#parAt# parAtAbs# parAtRel# parAtForNow# dataToTag# tagToEnum# addrToAny# mkApUpd0#newBCO#unpackClosure#getApStackVal# getCCSOf#getCurrentCCS# traceEvent# GHC.Conc.SyncthrowToforkOnWithUnmaskforkIOWithUnmaskforkOnControl.ConcurrentforkOSThreadIdempty<*>+++***Control.Category<<<>>>.=<< undefined*/pi||&&not/=notElemelem Data.List intersect\\unionflip Data.Monoidmappendmempty<=<**> WrapMonad unwrapMonadConstgetConstpure Data.Functor<$>consteitherappEndobytestring-0.10.0.2Data.ByteString.Internal ByteString time-1.4.0.1Data.Time.Clock.ScaleDiffTime UniversalTimeData.Time.Clock.UTCNominalDiffTimeUTCTimecontainers-0.5.0.0 Data.TreeTree Data.SequenceSeqData.IntSet.BaseIntSet Data.Set.BaseSetControl.Monad.ST unsafeIOToSTunsafeInterleaveST unsafeSTToIOGHC.IOstToIOGHC.STfixSTrunST Data.STRef modifySTRef modifySTRef' GHC.STRefnewSTRef readSTRef writeSTRefSTRef Data.IORefatomicModifyIORefatomicModifyIORef'atomicWriteIORef mkWeakIORef modifyIORef modifyIORef' GHC.IORefnewIORef readIORef writeIORefIORef Debug.Trace putTraceMsgtrace traceEvent traceEventIO traceShow traceStackblockedIndefinitelyOnMVarblockedIndefinitelyOnSTM heapOverflow ioException stackOverflowunsupportedOperationuntangle HardwareFaultInappropriateType InterruptedInvalidArgument OtherError ProtocolErrorResourceVanished SystemError TimeExpiredUnsatisfiedConstraintsUnsupportedOperationioe_description ioe_errnosortWithSystem.IO.ErroralreadyExistsErrorTypealreadyInUseErrorTypeannotateIOError catchIOErrordoesNotExistErrorType eofErrorType fullErrorTypeillegalOperationErrorTypeioeGetErrorStringioeGetErrorTypeioeGetFileName ioeGetHandleioeGetLocationioeSetErrorStringioeSetErrorTypeioeSetFileName ioeSetHandleioeSetLocationisAlreadyExistsErrorisAlreadyExistsErrorTypeisAlreadyInUseErrorisAlreadyInUseErrorTypeisDoesNotExistErrorisDoesNotExistErrorType isEOFErrorisEOFErrorType isFullErrorisFullErrorTypeisIllegalOperationisIllegalOperationErrorTypeisPermissionErrorisPermissionErrorType isUserErrorisUserErrorType mkIOError modifyIOErrorpermissionErrorType tryIOError userErrorType IOErrorTypeIOError UserErrorioe_type ioe_filename ioe_handle ioe_location AlreadyExists ResourceBusy NoSuchThingEOFResourceExhaustedIllegalOperationPermissionDenied GHC.IO.HandlehCloseunsafeInterleaveIOunsafePerformIOSystem.IO.Unsafe unsafeFixIO System.Exit exitSuccessexitWithExitCode ExitFailure ExitSuccess forkFinallyisCurrentThreadBoundmergeIOnmergeIOrtsSupportsBoundThreadsrunInBoundThreadrunInUnboundThreadthreadWaitReadthreadWaitWriteControl.Concurrent.ChandupChangetChanContents isEmptyChannewChanreadChan unGetChan writeChanwriteList2ChanControl.Concurrent.MVaraddMVarFinalizer mkWeakMVar modifyMVarmodifyMVarMaskedmodifyMVarMasked_ modifyMVar_readMVarswapMVarwithMVarControl.Concurrent.QSemnewQSem signalQSemwaitQSemControl.Concurrent.QSemNnewQSemN signalQSemN waitQSemNControl.Concurrent.SampleVaremptySampleVarisEmptySampleVarnewEmptySampleVar newSampleVar readSampleVarwriteSampleVar GHC.Conc.IO threadDelayforkIOforkIOUnmaskedgetNumCapabilities killThreadmkWeakThreadId myThreadIdsetNumCapabilitiesthreadCapabilityGHC.MVar isEmptyMVar newEmptyMVarnewMVarputMVartakeMVar tryPutMVar tryTakeMVarChanQSemQSemN SampleVarMVarControl.ExceptionallowInterruptControl.Exception.BasebracketbracketOnErrorbracket_ catchJustfinally mapException onExceptiontryblockblockedevaluategetMaskingStatemask_unblockuninterruptibleMask_HandlerNestedAtomically NoMethodErrorNonTerminationPatternMatchFail RecConError RecSelError RecUpdError GHC.ExceptionArithExceptionDenormal DivideByZeroLossOfPrecisionOverflowRatioZeroDenominator Underflow ErrorCall MaskingStateMaskedInterruptibleMaskedUninterruptibleUnmaskedArrayExceptionIndexOutOfBoundsUndefinedElementAssertionFailedAsyncException HeapOverflow StackOverflow ThreadKilled UserInterruptBlockedIndefinitelyOnMVarBlockedIndefinitelyOnSTMDeadlock Text.Read readEither readMaybe constrFields constrFixity constrIndex constrRep constrTypedataTypeConstrs dataTypeName dataTypeRep fromConstr fromConstrB fromConstrM indexConstr isAlgType isNorepTypemaxConstrIndex mkCharConstr mkCharTypemkConstr mkDataType mkFloatConstr mkFloatType mkIntConstr mkIntTypemkIntegralConstr mkNorepType mkRealConstrmkStringConstr mkStringType readConstr repConstr showConstr tyconModule tyconUQname Data.Typeablecastgcastgcast1gcast2mkTyCon typeRepKey funResultTymkAppTymkFunTymkTyCon3 mkTyConApp showsTypeRep splitTyConApp tyConStringtypeOf1DefaulttypeOf2DefaulttypeOf3DefaulttypeOf4DefaulttypeOf5DefaulttypeOf6Default typeOfDefault typeRepArgs typeRepTyConConIndex AlgConstr CharConstr FloatConstr IntConstr dataCast1 dataCast2 dataTypeOfgfoldlgmapMgmapMogmapMpgmapQgmapQigmapQlgmapQrgmapTgunfoldtoConstrDataRepAlgRepCharRepFloatRepIntRepNoRepFixityInfixPrefix TypeRepKey tyConModule tyConName tyConPackagetypeOftypeOf1typeOf2typeOf3typeOf4typeOf5typeOf6typeOf7inRangeindexrange rangeSize Data.Fixeddiv'divMod'mod' showFixedCentiDeciE0E1E12E2E3E6E9Fixed HasResolution resolutionMicroMilliNanoPicoUni ConstrRepDataTypeConstrTypeRepTyCon Data.RatioapproxRational% denominator numeratorData.OrdDownswapdeletedeleteBydeleteFirstsBy dropWhileEnd elemIndex elemIndices findIndex findIndicesfoldl1' genericDrop genericIndex genericLengthgenericReplicategenericSplitAt genericTakegroupgroupByinitsinsertinsertBy intercalate intersectBy intersperse isInfixOf isPrefixOf isSuffixOfnubnubBy partition permutationssortsortBy stripPrefix subsequencestails transposeunionByunzip4unzip5unzip6unzip7zip4zip5zip6zip7zipWith4zipWith5zipWith6zipWith7 Data.MaybefromJust fmapDefaultfoldMapDefaultforM mapAccumL mapAccumRmapM sequenceAallandanyasumconcat concatMapfindfoldlMfoldrMforM_for_mapM_ maximumByminimum minimumBymsumorproduct sequenceA_ sequence_sumtoList traverse_foldMapfoldl'foldl1foldrfoldr'foldr1<<^>>^^<<^>>leftAppreturnA&&&second ArrowApply ArrowChoice ArrowLoop ArrowMonadKleisli runKleisli<**>liftAliftA2liftA3optionalmanysome WrappedArrow WrapArrow unwrapArrow WrappedMonadZipList getZipList ArrowPlus<+> zeroArrow ArrowZerolinesunlinesunwordswordscurryasTypeOfuntilioError userErrorbreakcycledrop dropWhilelengthlookupnullrepeat replicatereversescanlscanl1scanrscanr1spansplitAttake takeWhileunzipunzip3zip3zipWithzipWith3subtractlex readParen^^^evengcdlcmoddshowChar showParen showStringshows appendFilegetChar getContentsgetLineinteractputCharputStrreadFilereadIOreadLn writeFilemaxBoundminBoundfromEnumpredsucctoEnum**acosacoshasinasinhatanatanhcoscoshexploglogBasesinsinhsqrttantanhatan2 decodeFloat encodeFloatexponent floatDigits floatRadix floatRangeisDenormalizedisIEEE isInfiniteisNaNisNegativeZero scaleFloat significand+abssignumreadListrecipdivdivModmodquotquotRemremceilingfloorproperFractionroundtruncateshowList showsPrecShowSText.ParserCombinators.ReadPReadS<>maxmin readsPrecuncurryPrelude$!unsafeDupablePerformIO text-1.2.0.0Data.Text.InternalTextthrowunfoldrGHC.IO.Handle.TypesHandleorElseretrySTMTVar writeTVarthrowSTM readTVarIOreadTVar newTVarIOnewTVarcatchSTM atomicallyalwaysSucceedsalways registerDelay stm-2.4.3Control.Concurrent.STM.TBQueueTBQueue newTBQueue newTBQueueIO writeTBQueue readTBQueuetryReadTBQueue peekTBQueuetryPeekTBQueue unGetTBQueueisEmptyTBQueue isFullTBQueueControl.Concurrent.STM.TQueueTQueue newTQueue newTQueueIO writeTQueue readTQueue tryReadTQueue peekTQueue tryPeekTQueue unGetTQueue isEmptyTQueueControl.Concurrent.STM.TChanTChannewTChan newTChanIOnewBroadcastTChannewBroadcastTChanIO writeTChan readTChan tryReadTChan peekTChan tryPeekTChandupTChan unGetTChan isEmptyTChan cloneTChanControl.Concurrent.STM.TMVarTMVarnewTMVar newTMVarIO newEmptyTMVarnewEmptyTMVarIO takeTMVar tryTakeTMVarputTMVar tryPutTMVar readTMVar tryReadTMVar swapTMVar isEmptyTMVarControl.Concurrent.STM.TVar modifyTVar modifyTVar'swapTVar mkWeakTVarControl.Concurrent.STM.TArrayTArrayfoldlData.IntMap.BaseIntMap Data.Map.BaseMap<|>showreads Unsafe.Coerce unsafeCoercetraversesequenceCategory mkNoRepTypetransformers-0.4.1.0Control.Monad.Trans.Writer.Lazy mapWriterT execWriterT mapWriter execWriter runWriterWriter runWriterTWriterTControl.Monad.Trans.Reader withReaderT mapReaderT withReader mapReader runReaderReader runReaderTReaderT mtl-2.2.1Control.Monad.Writer.Class MonadWriterwritertelllistenpasslistenscensorControl.Monad.Reader.Class MonadReaderasklocalreaderasksmplus zipWithM_zipWithMwhenvoidunless replicateM_ replicateMmfilter mapAndUnzipMliftM5liftM4liftM3liftM2foreverfoldM_foldMfilterMap Data.FunctionfixControl.Monad.IO.ClassliftIOMonadIOControl.Monad.Trans.Class MonadTrans mmorph-1.0.4Control.Monad.MorphMFunctorhoist>=><=<SThashable-1.2.2.0Data.Hashable.ClassHashable hashWithSalthashjoiniterate Alternativemaximumfold SomeException toException fromException ExceptionmaskuninterruptibleMaskcatchthrowIOhandle handleJustcatches errors-1.4.7 Data.EitherREitherRT runEitherRTEitherR runEitherRsucceedthrowEcatchEhandleEfmapLflipEsucceedTthrowTcatchThandleTfmapLTflipETControl.Error.UtilAnyErunAnyEAllErunAllEhushhushTnotenoteT hoistMaybe??!?failWith failWithMboolmaybeTjustnothingisJustT isNothingTisLeftisRightfmapRisLeftTisRightTfmapRTerrerrLntryIOsyncIOControl.Error.ScriptScript runScriptscriptIOControl.Error.Safe assertMayrightMaytailErrinitErrheadErrlastErr minimumErr maximumErr foldr1Err foldl1Err foldl1Err'atErrreadErr assertErrjustErrtryTailtryInittryHeadtryLast tryMinimum tryMaximum tryFoldr1 tryFoldl1 tryFoldl1'tryAttryRead tryAsserttryJusttryRighttailZinitZheadZlastZminimumZmaximumZfoldr1Zfoldl1Zfoldl1Z'atZreadZassertZjustZrightZMaybeControl.Monad.Trans.MaybeMaybeT fromMaybe IOException exitFailurelifttailinitheadlast!!readmzero safe-0.3.8Safe findJustDef lookupJustDefreadDefreadMayatDefatMay fromJustDef foldl1Def' foldr1Def foldl1May' foldr1May maximumDef minimumDef maximumMay minimumMaylastDefheadDeflastMayheadMayinitSafeinitDefinitMaytailSafetailDeftailMaymaybeliftPass liftListen liftCatch liftCallCC mapMaybeT runMaybeTrightspartitionEitherslefts maybeToListmapMaybe listToMaybe isNothingisJust catMaybes either-4.3.1Control.Monad.Trans.EitherEitherT runEitherTeitherTleftright bimapEitherT mapEitherT hoistEitherJustNothingcompare<$ArrowidData.Functor.Identity runIdentityIdentityAllgetAllgetAnyDualEndomconcatProduct getProductSumgetSumgetDualMonoidLastFirstgetLastgetFirst<>cereal-plus-0.4.0CerealPlus.Serializable deserialize serialize SerializableCerealPlus.Deserialize DeserializeCerealPlus.Serialize SerializeControl.Monad.Error.Class throwErrorControl.Monad.Trans.ErrorErrormonad-control-0.3.3.0Control.Monad.Trans.Control liftBaseOp_ liftBaseOp loch-th-0.2.1Debug.Trace.LocationTH checkTraceIO checkTracecheckIOcheckundeffailureassert __LOCATION__transformers-base-0.4.3Control.Monad.Base MonadBaseliftBaseDiscardcontroldefaultRestoreMdefaultLiftBaseWithdefaultRestoreTdefaultLiftWithrestoreTliftWithStTMonadTransControlRunrestoreM liftBaseWithStMMonadBaseControl RunInBase ComposeSt catchError MonadErrorControl.Monad.State.Classgetsmodify'modifystateputget MonadStateControl.Monad.Trans.State.LazyStateT runStateTrunState evalState execStatemapState withState evalStateT execStateT mapStateT withStateTErrorT runErrorTnoMsgstrMsg mapErrorT pipes-4.1.3Pipes<-<discardeveryeachnextrunListT>->cat~<>~await<~~>foryield enumerateSelectListTtoListT Enumerable Pipes.Core runEffectEffectProducerPipeConsumerEffect' Producer' Consumer'Pipes.InternalProxyXpipes-cereal-plus-0.4.0PipesCerealPlusserializingProducerdeserializingPipeplaceholders-0.1Development.PlaceholdersplaceholderNoWarning placeholdertodonotImplementedPlaceholderExceptionsystem-filepath-0.4.12Filesystem.Path.InternalFilePathliftBaseDefaultliftBaseW#System.Mem.StableName StableNamemakeStableNamehashStableName NoSpecConstrForceSpecConstrSpecConstrAnnotationuncheckedShiftRL64#uncheckedShiftL64# GHC.StackcurrentCallStackuncheckedIShiftRA64#uncheckedIShiftL64#the maxTupleSizeshiftRL#shiftL# iShiftRL# iShiftRA#iShiftL# utctDayTimeutctDaygetModJulianDate ModJulianDateData.Time.Clock.UTCDiff diffUTCTime addUTCTimesecondsToDiffTimepicosecondsToDiffTimeData.Time.ClockgetCurrentTimeInteractionFailureProtocolVersionResponseRequest UserRequest CloseSession KeepaliveHandshakeFailureversion!$fSerializablemInteractionFailure$fSerializablemRequest$fSerializablemHandshakeFailurewithLockLockStatus NotExists DirectoryFile getStatus getExistsgetTemporaryDirectoryremoveremoveIfExistsremoveTreeIfExistsmovecopy copyDirectoryresolve acquireLock releaseLocklistFilesByExtensionsystem-fileio-0.3.14 FilesystemappendTextFile writeTextFile readTextFile withTextFile openTextFilewithFileopenFilegetSize getModifiedcopyFilecopyPermissionscopyFileContentgetAppConfigDirectorygetAppCacheDirectorygetAppDataDirectorygetDocumentsDirectorygetDesktopDirectorygetHomeDirectorysetWorkingDirectorygetWorkingDirectory removeTreeremoveDirectory removeFile listDirectory createTreecreateDirectorycanonicalizePathrename isDirectoryisFile GHC.IO.IOModeIOMode AppendModeReadMode ReadWriteMode WriteModeFilesystem.Path.CurrentOS decodeString encodeStringdecodeencodesplitSearchPathStringsplitSearchPathvalidfromTexttoText currentOSFilesystem.PathsplitExtensionssplitExtensionreplaceExtensionsreplaceExtensiondropExtensions dropExtension<.> addExtensions addExtension hasExtension extensions extensionsplitDirectoriescollapse commonPrefixappendrelativeabsolutebasenamedirnamefilenameparent directoryrootSession CorruptDataSendTimeoutReachedReceiveTimeoutReached unSessionadaptIOExceptionadaptExceptionreceivesend$fMonadBaseControlIOSession$fMonadTransControlSession$fMonadBaseIOSession$fMonadTransSessionStMTunStMTunStTServerIsAvailableConnectionFailureSessionFailure runConnection handshakeKeepaliveTimeoutKeepaliveStateEnvunClient debuggingprefix liftSessionrunStackopenURLSocketIO stopKeepalive keepaliveLoop reduceTimeoutresetKeepalivecheckIn closeSessionadaptHandshakeFailureadaptInteractionFailureadaptSessionFailure$fMonadBaseControlIOClient$fMonadTransControlClient$fMonadBaseIOClient$fMonadTransClient CountSlotsWaitunServer$fMonadBaseControlIOServer$fMonadTransControlServer$fMonadBaseIOServer