úÎ"öZ      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXY Z[\ ]       !^_`ab !  !  !"#$% "#$%"#$%"#$%&'()*+,c-./0def123&'()*+,-./012345)*+,&('-./045123&(''()*+,*+,-./01236789:;<=>?@ZThe main class which abstracts over delivery of datatype to somewhere in the file system. a It also abstracts over construction. Due to some weirdity w.r.t. Hint, this, and all instancing b datatypes, must derive Typeable. A bit of boilerplate, but deriving generally handles it easily. ABCD6789:;<=>?@ABCD@AB<=>?:;89C67D677899:;;<=>?=>?@ABABCDE_A simple type to contain the email context. May become bigger, to store configuration details,  etc. FGaA type mostly used in Hackmain.hs, stores some information about paths. Only here to avoid nasty Y mutually recursive modules. (TODO: Move this and associated functions another module?) HIJKLMNOPghijklR; "#$%&'()*+,-./012345EFGHIJKLMNOPQRLMNOPQGHIJKEFR EFFGHIJKHIJKLMNOPMNOPR ’mnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ Ą˘Ł¤ĽŚ§¨ ^_`ab !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHJLMNOPQR ŠŞŤŹ­STUVWXY SŽŻ°TUVWXąYSUTVWXYSTUVWXY˛    !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwuvxuvyuvzu{|uv}uv~u{u€u€‚uƒ„u€…u€†u€‡u€ˆu€‰u€Šu€‹u€Œu€u€Žu€u€u€‘u€’u€“u€”u€•u€–u€—u€˜u€™u€šu€›u€œu€u€žu€Ÿu€ u€Ąu€˘uv٤ĽŚ¤§¨¤§ФĽŞŤŹ­ŤŹŽŤŹŻŤŹ°¤ą˛¤ą˛¤ął¤ą´¤ąľ¤ąś¤ąˇ¤ą¸¤ąš¤ąş ť ź ˝ ž żŔÁÂĂÄHackMail-0.0.1HackMail.Control.ChecksumHackMail.Data.ParseEmailHackMail.Control.MiscHackMail.Data.EmailHackMail.Data.PathHackMail.Data.DeliverableHackMail.Data.MainTypesHackMail.HackmainHackMail.Data.FilterConfHackMail.Control.DaemonModechecksum HeaderTokXFIELDKEYWORDSSUBJECT REFERENCES INREPLYTO MESSAGEIDBCCCCREPLYTOSENDERFROMDATETOHeaderSTOPHDRBodyEmail parseEmailparseEmailFromFilematchHdr pairToListbothdoubleappBoth appDouble maybeToBoolmaybeAndmaybeOrmaybeIf writeEmail emailChecksumgrabTokValUnsafe grabTokValVPathRoot:/:PathP virtualPathrelativeparseparseVsplitOn+/+ pathExistsmkDeliverablePath toFilePath liftToPath1 liftToPath2 ToDeliveryWrap MaildirEmailMD FlatEmailFlatDEMailDEemailpath Deliverable deliverIO constructgetDeliveryPathdeliveryFilterConfigConfinboxLoc filterMainLoc filterMainOptionsOpt daemonModeincomingMailLoc altFMainLocgetOpts runFilterconfigFolderPathIO daemon_mode pipe_mode buildConfgetFilterMainStuffgetExtrunUnsafeInterpreter makeReadabletoChr testChecksummatchif'^|^dupe^&^copyFileName catVPathstoListfromListSortOptRegOptEqOpt optNormalForm parseOptsfindOptbaseGHC.Basefail>>=>>returnControl.Monad.FixmfixMonadFunctorMonadFix Control.Monad MonadPlusfoldM Data.FunctionfixapliftM5liftM4liftM3liftM2liftMunlesswhen replicateM_ replicateMfoldM_ zipWithM_zipWithM mapAndUnzipMjoinforever<=<>=>msumforM_forMfilterMguardmapM_mapM sequence_sequence=<<mplusmzerofmaptransformers-0.2.2.0Control.Monad.IO.ClassliftIOControl.Monad.Trans.Classlift MonadTransMonadIO mtl-2.0.1.0Control.Monad.Reader.Classaskslocalask MonadReaderControl.Monad.Trans.ReaderReaderT runReaderTReaderreader runReader mapReader withReader mapReaderT withReaderT runDaemon poll_and_sortpollsortunpack debugBooldebugmainnoConfFolderError