úÎ1(+     None246=add a trailing slash to ensure the path indicates a directoryVbugfix older version of canonicalizePath (system-fileio <= 0.3.7) loses trailing slashNone24BT[The pattern entity holds a name and pattern that is compiled when the rules are evaluated ,TODO maybe change this to have the timestamp!Set the " field#Set the modify field$Set the delete field% Set both the " and & field to the same value' Set the name()*+,"&- ./!#$%'01234567()*+,"&- ./!#$%'012345()*+,"&- ./!#$%'01234567!#$%'NoneT84A sum type for the various issues that can be logged9"logged every time an rule is fired:#logged every time an event is fired;%Configuration to run the file watcher<A logger for the issues =The directories to watch>config for the file watcher?A name for debugging mostly@5The test to determine if the rule actions should fireA"The action to run on Modify eventsBThe action to run on Add eventsC"The action to run on Delete eventsD*The test function to determine if a event E should get firedE7The actions that are run when file events are triggeredF!Retrieve the filePath of an EventGRetrieve the time of an EventH1Run the Rule action associated with the an event I/Test to see if the rule should fire and fire itJ4Start watching a directory, and run the rules on it.K2Setup all of the directory watches using the rules89:;L<=>MN?@ABCDEOFGHIJKPQRS89:;L<=>MN?@ABCDEOFGHIJK8:9;L<=>MN?@ABCDEOFGHIJKPQRSNone24BT GThis is the key type of the package, it is where rules are accumulated.A polymorphic %. Exported for completeness, ignore. Add a 'add' callbackAdd a 'modify' callbackAdd a 'delete' callback<Add the same callback for the 'add' and the 'modify' events.qSet the name of a rule. Useful for debugging when logging is enabled. Rules names default to the glob pattern.Add a 'add' callbackAdd a 'modify' callback Add a 'delete' callback <Add the same callback for the 'add' and the 'modify' events. qSet the name of a rule. Useful for debugging when logging is enabled. Rules names default to the glob pattern.TUVWXY ZTUVWXY TUVWXY ZNone [\] [\] [\]NoneT^A logger for the issues _The directories to watch`Debounce configurationa poll intervalbconfig for the file watch ”Simplest way to create a file watcher app. Set your main equal to defaultMain and you are good to go. See the module documentation for examples.cdefghi^_jk`ablmnopqrstu vcdefghi^_jk`ablmnopqrstu  cfedg hi^_jk`ablmponqrstu vNone   w      !"#$%&'(    )*'+,-./0123456789:;<=>?@ABCDE9FFGHIJK LMNOPQRSTU;VWXYZ[\]]:^_`abcdefghijktwitch-0.1.2.2Twitch Twitch.Path Twitch.RuleTwitch.InternalRuleTwitch.Internal Twitch.Run Twitch.MainDepDepM|+|%|-|>|#addmodifydelete addModifynamerun defaultMainaddTrailingSlashcanonicalizePathConvertFilePathfpgetDirectoryContentsPathfileDirContents findAllFilesfindImmediateFilesfindImmediateDirs findAllDirs findFilesfindDirscanonicalizeDirPath!$fConvertFilePathFilePathFilePath$fConvertFilePath[][]$fConvertFilePath[]FilePath$fConvertFilePathFilePath[]Rule RuleAction RuleIssuePatternCompliationFailedpattern PatternTextNameaddFmodifyFdeleteFnameF addModifyFcompilePattern$fIsStringRule $fDefaultRuleIssue IRuleFiredIEventConfiglog dirsToWatch watchConfigfileTestFileTestActionfilePathtimefireRuletestAndFireRulesetupRuleForDir setupRules InternalRuletoInternalRule$fDefaultConfig $fShowConfig$fShowInternalRule$fDefaultInternalRuleunDepMrunDeprunDepWithStateaddRule modHeadRule$fIsStringDepM runWithConfigdepToRulesWithCurrentDir depToRuleslogFiledebounceAmount pollInterval usePolling DebounceType NoDebounceDebounceDebounceDefaultOptionsrecurseThroughDirectoriesdebounce currentDir LoggerTypeNoLogger LogToFile LogToStdout concatMapMtoLoggerpOptionstoDBoptionsToConfig$fDefaultOptions