nb      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTU V W X Y 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 { | } ~  None!"$/9:;<=?ILOT[\fJSON/Yaml TH modifier. Each field of type "aoeuKek" turns into "kek". Placed here because it can't be defined near json TH deriving (ghc restriction).Drops n items from the end.Same as , but for localParses colour from format  '#rrggbb' or just rrggbbbGenerates a colour given salt and anything hashable. Doesn't return too dark or too light colors.*Maybe setter that does nothing on Nothing.Time formatter in form HH:MMNone!"$/9:;<=?ILOT[\f /Salt added when getting color out of task name. Include map legend? 3How many items to include in top day (under column) Column width in percent Column heightColor of background-Output of block type is text file, basically.,Parameters for block output. Stub (for now).4Some text (supposed to be single line or something). Parameters of the summary outputFormatting template.SVG timeline image.@For all non-default field values of RHS, override LHS with them.  !"#  !" !"   !"#None!"$/9:;<=?ILT[\f&9Things that reporters output an what we can do with them.'.Writes report to the disk, given path to file.&'()*&'&'&'()*None!"$/9:;<=?ILT[\f+ZRead-only arguments that inner application needs (in contrast to, say, logging severity).- Open report types using xdg-open.=Single output can be selected instead of running all of them./%Output directory for all ... outputs.+,-./0+,-./0+,-./0+,-./0None!"$/9:;<=?ILOT[\f2Main datatype of org AST. It may contain some metadata if needed (e.g. current node depth, children number etc). Content of headers is ignored.8Org clock representation -- a pair of time in UTC. Should be local time in fact, but we'll assume that UTC timestamps support in org will be added at some point. For now all tags are to be read in local time.F,Calculate total clocks duration in org tree.G.Remove subtrees that have zero total duration.I Functor-like  on field chosen by lens.J9Traverses node and subnodes, all recursively. Bottom-top.LGMerges task clocks that have less then 2m delta between them into one.23456789:;ABCDEFGHIJKL23456789:;ABCDEFGHIJKL89:;234567DCABEFGHIJKL23456789:;ABCDEFGHIJKLNone!"$/9:;<=?ILT[\fMMMMNone!"$/9:;<=?ILOT[\fsReturns if the label is to be shown. Second param is font-related heuristic constant, third is length of interval. Decides by  heuristicparam n depending on fontS, width of column and string, should it be truncated. And returns modified string.NNNNNone!"$/9:;<=?ILT[\fOPQRSOPQROPQROPQRS None!"$/59:;<=?ILOT[\f 'Errors related to modifiers application-Modifiers can't be applied together (del/sel)'Modifier doesn't support this parameterU5Modificicators of org tree. They remove some subtreesV!Turns all subtrees starting with path and then on depth d into leaves.W\Given text tag name, it leaves only those subtrees that have this tag (tags are inherited).XCStarting at node on path A and depth n, turn A into set of nodes Aa1a2...+an. Doesn't work/make sense for empty path.YLeaves only node at path, deletes all other subtrees.ZEPath in org AST is just a list of paths, head ~ closer to tree root.Lens to a org node at path.^-Checks if something is on that path in given 2.Applies modifier to org tree_;Generates an org to be processed by report generators from Scope.UVWXYZ[\]^_`a UVWXYZ[\]^_ Z[\]^UVWXY_ UVWXYZ[\]^_`a None!"$/9:;<=?ILT[\fcException type for everything bad that happens with config, starting from parsing to logic errors.5hijklmnopqrstuvwxyz{|}~*hikjlmnopqrstuvwxyz{|}~*wxyz{|}~qrstuvhijklmnophijklmnopqrstuvwxyz{|}~ None!"$/9:;<=?ILT[\f'All exceptions related to reading files%Failed to run some external app (gpg)bAttempts to read a file. If extension is ".gpg", asks a user to decrypt it first. Returns a pair (filename, content)H. It also takes a list of TODO-keywords to take header names correctly.Reads yaml config None!"$/9:;<=?ILT[\fRead-only app configuration.State component of application._Org files that were read. Elements are pairs of type (file basename, content). Keys are paths.Scope is just plain read files.IReport is a filtered (with scope modifiers and clock limitations) scope.  None!"$/9:;<=?ILT[\f#Converts config range to a pair of UTCTime, right bound not inclusive.eResolves org file: reads from path and puts into state or just gets out of state if was read before.Return scope with requested name or fail. It will be either constructed on the spot or taken from the state if it had been created previously.,Same as resolveScope but related to reports.None!"$/9:;<=?ILT[\f"Tokenizes summary template string.&Valid template name surrounded by two %Anything in between(Generates summary using provided params.None!"$/9:;<=?ILT[\f  !"&'MNNone!"$/9:;<=?ILT[\fMain application logic. !""##$$%%&''()*+,-./01234566789:;<<=>?@AABCDEFGHIJKLMNOPQRSTUVWWXYZ[ \ ] ^ _ ` a a b c d e f g h i j k l m n n o p q r s t u v v w x y z { { | } ~ ~   ' $ "                        $orgstat-0.1.0-Ee7u2aLDUwF8HmM1pyTeCo OrgStat.UtilOrgStat.Outputs.TypesOrgStat.Outputs.Class OrgStat.CLI OrgStat.AstOrgStat.Outputs.BlockOrgStat.Outputs.TimelineOrgStat.Parser OrgStat.ScopeOrgStat.Config OrgStat.IOOrgStat.WorkMonadOrgStat.HelpersOrgStat.Outputs.Summary OrgStat.LogicOrgStat.OutputsdropLowerOptions fromJustMdropEnd addLocalTime parseColour hashColour??~timeFTimelineParams _tpColorSalt _tpLegend _tpTopDay_tpColumnWidth_tpColumnHeight _tpBackground$fDefaultTimelineParams$fShowTimelineParams BlockOutput BlockParams SummaryOutput SummaryParams spTemplateTimelineOutput tpBackground tpColorSalttpColumnHeight tpColumnWidthtpLegendtpTopDay$fMonoidTimelineParams$fShowSummaryParams$fShowBlockParams ReportOutput writeReport$fReportOutputBlockOutput$fReportOutputSummaryOutput$fReportOutputTimelineOutput CommonArgsxdgOpen selectOutput outputDirparseCommonArgs$fShowCommonArgsOrg _orgTitle_orgTags _orgClocks _orgSubtreesClockcFromcTo $fShowClock $fEqClock $fOrdClock $fShowOrg$fEqOrg orgClocks orgSubtreesorgTagsorgTitle clockDurationorgTotalDurationfilterHasClock cutFromTo fmapOrgLens traverseTreeatDepth mergeClocksgenBlockOutputprocessTimelineParsingExceptionparseOrg runParser$fExceptionParsingException$fShowParsingException ScopeModifierModPruneSubtree ModFilterTag ModSquashModSelectSubtreeAstPath getAstPath isSubPath existsPathapplyModifiers$fExceptionModifierError $fShowAstPath $fEqAstPath $fOrdAstPath$fShowScopeModifier$fEqScopeModifier$fOrdScopeModifier$fShowModifierError OrgStatConfig confScopes confReports confOutputsconfBaseTimelineParamsconfTodoKeywords confOutputDir confColorSalt ConfReportcrNamecrScopecrRange crModifiers ConfOutputcoTypecoName ConfScopecsNamecsPathsConfOutputTypetoParamstoReportboParamsboReport ConfRange ConfFromTo ConfBlockWeek ConfBlockDayConfBlockMonthConfDateConfNow ConfLocalConfigExceptionConfigParseExceptionConfigLogicException$fFromJSONOrgStatConfig$fFromJSONConfReport$fFromJSONConfScope$fFromJSONConfOutput$fFromJSONConfOutputType$fFromJSONTimelineParams$fFromJSONConfRange$fFromJSONConfDate$fFromJSONScopeModifier$fFromJSONAstPath$fExceptionConfigException$fShowConfigException$fShowConfDate$fShowConfRange$fShowConfOutputType$fShowConfScope$fShowConfOutput$fShowConfReport$fShowOrgStatConfig readOrgFile readConfig$fExceptionOrgIOException$fShowOrgIOException WorkConfig _wcConfig _wcCommonArgsWorkData wcCommonArgswcConfigWorkMgetWorkM wdReadFileswdResolvedReportswdResolvedScopesrunWorkM$fHasLoggerNameWorkM$fDefaultWorkData$fFunctorWorkM$fApplicativeWorkM $fMonadWorkM$fMonadIOWorkM$fMonadReaderWorkM$fMonadStateWorkM $fCanLogWorkM$fMonadThrowWorkM$fMonadCatchWorkM convertRangeresolveInputOrg resolveScope resolveReport resolveOutputgenSummaryOutput$fShowInputToken runOrgStat time-1.6.0.1Data.Time.Clock.UTCDiff addUTCTime mergeParamsbaseGHC.BasefmapfitLabelHeight fitLabelWidth allClocks selectDays totalTimes orgToListdiffTimeSecondsdiffTimeMinutes labelColour timelineDay timelineDaystaskListtimelineReport ModifierError MEConflicting MEWrongParamatPath applyModifierOrgIOExceptionExternalException _wdReadFiles_wdResolvedScopes_wdResolvedReports InputTokenReportTemplate OtherInfotokenize