ct      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklm n o p q r s tuvwxyz{|/*An option value from a command-line flag.   ! Command-line options we accept. "AParse the command-line arguments into options, command name, and G command arguments. Any dates in the options are converted to explicit  YYYYMM%DD format based on the current time. #EConvert any fuzzy dates within these option values to explicit ones,  based on today's date. $CFigure out the overall date span we should report on, based on any  beginend:period options provided. If there is a period option, the  others are ignored. %EFigure out the reporting interval, if any, specified by the options. 6 If there is a period option, the others are ignored. &2Get the value of the (last) depth option, if any. '>Get the value of the (last) drop option, if any, otherwise 0. (4Get the value of the (last) display option, if any. )4Get the value of the (last) baseurl option, if any. *1Get the value of the (last) port option, if any. +1Get a maybe boolean representing the last cleared/uncleared option if any. Were we invoked as "hours" ? ,NGet the journal file path from options, an environment variable, or a default -FGather filter pattern arguments into a list of account patterns and a A list of description patterns. We interpret pattern arguments as  follows: those prefixed with desc: are description patterns, all : others are account patterns; also patterns prefixed with not: are 9 negated. not: should come after desc: if both are used. .*Convert application options to the library' s generic filter specification. 6  }~!"#$%&'()*+,-.7!  "#$%&'()*+,-./(    !"#$%&'()*+,-. /Parse the user'6s specified journal file and run a hledger command on  it, or throw an error. 0DGet a journal from the given string and options, or throw an error. 1ARe-read a journal from its data file, or return an error string. 2BRe-read a journal from its data file mostly, only if the file has D changed since last read (or if there is no file, ie data read from F stdin). The provided options are mostly ignored. Return a journal or F the error message while reading it, and a flag indicating whether it  was re-read or not. 3Has the journal'(s data file changed since last parsed ? 4)Get the last modified time of the journal's data file (or if there is no  file, the current time). 5?Attempt to open a web browser on the given url, all platforms. 6=Back up this file with a (incrementing) numbered suffix then I overwrite it with this new text, or give an error, but only if the text @ is different from the current file contents, and return a flag % indicating whether we did anything. 7>Back up this file with a (incrementing) numbered suffix, then 4 overwrite it with this new text, or give an error. KBack up this file with a (incrementing) numbered suffix, or give an error. VDoes the second file represent a backup of the first, and if so which version is it ? /01234567 /01234576 /01234567 8Print a register report. 9KGenerate the register report, which is a list of postings with transaction  info and a running balance. DConvert a list of postings into summary postings, one per interval. KDate-sort and split a list of postings into three spans - postings matched L by the given display expression, and the preceding and following postings. BDoes this display expression allow this posting to be displayed ? . Raises an error if the display expression can' t be parsed. EParse a hledger display expression, which is a simple date test like  d>[DATE] or  d<=[DATE], and return a Posting-matching predicate. DGiven a date span (representing a reporting interval) and a list of E postings within it: aggregate the postings so there is only one per  account, and adjust their date/%description so that they will render ! as a summary for this interval. DAs usual with date spans the end date is exclusive, but for display = purposes we show the previous day as end date, like ledger. BWhen a depth argument is present, postings to accounts of greater & depth are aggregated where possible. =The showempty flag forces the display of a zero-posting span 1 and also zero-posting accounts within the span. KShow postings one per line, plus transaction info for the first posting of -each transaction, and a running balance. Eg:  Rdate (10) description (20) account (22) amount (11) balance (12) QDDDDDDDDDD dddddddddddddddddddd aaaaaaaaaaaaaaaaaaaaaa AAAAAAAAAAA AAAAAAAAAAAA Q aaaaaaaaaaaaaaaaaaaaaa AAAAAAAAAAA AAAAAAAAAAAA :HShow one posting and running balance, with or without transaction info. ;89:;89:;89:; <?Read transactions from the terminal, prompting for each field, K and append them to the journal file. If the journal came from stdin, this  command has no effect. =@Read a number of transactions from the command line, prompting, F validating, displaying and appending them to the journal file, until H end of input (then raise an EOF exception). Any command-line arguments " are used as the first transaction's description. >HRead a transaction from the command line, with history-aware prompting. ?BRead postings from the command line until . is entered, using the : provided historical postings, if any, to guess defaults. @DPrompt for and read a string value, optionally with a default value D and a validator. A validator causes the prompt to repeat until the J input is valid. May also raise an EOF exception if control-d is pressed. A&Append this transaction to the journal's file. Also, to the journal's  transaction list, but we don'*t bother updating the other fields - this @ is enough to include new transactions in the history matching. BAppend data to the journal'(s file, ensuring proper separation from & any existing data; or if the file is -, dump it to stdout. C9Convert a string of journal data into a register report. D;Return a similarity measure, from 0 to 1, for two strings.  This is Simon White's letter pairs algorithm from  http:www.catalysoft.comarticlesStrikeAMatch.html ( with a modification for short strings. EF <=>?@ABCDEF <=>?@ABCDEF <=>?@ABCDEFGPrint a balance report. HGGenerate a balance report with the specified options for this journal. IODisplay one line of the balance report with appropriate indenting and eliding. JK;Is the named account considered interesting for this ledger's balance report ? LMGHIJKLMGHIJKLMGHIJKLMNOPQFA set of data definitions and account-matching patterns sufficient to Tconvert a particular CSV data file into meaningful journal transactions. See above. RSTUVWXYZ[\RRead the CSV file named as an argument and print equivalent journal transactions,  using/creating a .rules file. ]:The highest (0-based) field index referenced in the field . definitions, or -1 if no fields are defined. ^_`abcNReal independent parser choice, even when alternative matches share a prefix. defg4Convert some date string with unknown format to YYYYMMDD. hDApply account matching rules to a transaction description to obtain 5 the most appropriate account and a new description. -NOPQRSTUVWXYZ[\]^_`abcdefghQRSTUVWXYZ[PON\]^_`abcdefghNOPQ RSTUVWXYZ[RSTUVWXYZ[\]^_`abcdefghiDPrint a histogram of some statistic per reporting interval, such as  number of postings per day. jijijijk/Print journal transactions in standard format. lklklkl m*Print various statistics for the journal. nmnmnmn O89:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnoo pRun unit tests. qFunit tests, augmenting the ones defined in each module. Where that is E inconvenient due to import cycles or whatever, we define them here. r pqrpqrpqr ssss !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^__`abcdefghijklmnopqrstuvwxy z { | } ~   hledger-0.11Hledger.Cli.OptionsHledger.Cli.UtilsHledger.Cli.Commands.RegisterHledger.Cli.Commands.AddHledger.Cli.Commands.BalanceHledger.Cli.Commands.ConvertHledger.Cli.Commands.HistogramHledger.Cli.Commands.PrintHledger.Cli.Commands.StatsHledger.Cli.Commands.AllHledger.Cli.TestsHledger.Cli.MainHledger.Cli.VersionOptDebugVtyDebugBinaryFilenameVersionVerboseHelpAll HelpOptionsHelpPortBaseUrl YearlyOpt QuarterlyOpt MonthlyOpt WeeklyOptSubTotalNoTotalDropFlatRealEmpty EffectiveDisplayDepth CostBasis UnClearedClearedPeriodEndBegin NoNewAcctsFilevalueoptionsparseArguments fixOptDatesdateSpanFromOptsintervalFromOpts depthFromOpts dropFromOptsdisplayExprFromOptsbaseUrlFromOpts portFromOptsusingTimeProgramNamejournalFilePathFromOptsparsePatternArgsoptsToFilterSpec withJournalDoreadJournalWithOpts journalReloadjournalReloadIfChangedjournalFileIsNewerjournalFileModificationTime openBrowserOnwriteFileWithBackupIfChangedwriteFileWithBackupregistershowRegisterReportshowPostingWithBalancetests_RegisteraddgetAndAddTransactionsgetTransaction getPostingsaskForjournalAddTransactionappendToJournalFileregisterFromStringcompareStringscompareDescriptionstransactionsSimilarTobalanceshowBalanceReportshowInterestingAccountexclusiveBalance isInterestingisInterestingFlatisInterestingIndented CsvRecord AccountRule FieldPositionCsvRules dateField statusField codeFielddescriptionField amountField currencyField baseCurrency baseAccount accountRulesconvert maxFieldIndex rulesFileForinitialRulesFileContentparseCsvRulesFile parseCsvRules csvrulesfile definitions accountruleprintTxntransactionFromCsvRecord normaliseDateidentify histogram showHistogramprint'showTransactionsstatsshowLedgerStatstests_Hledger_CommandsrunteststestsjournalWithAmountsmainversion patchlevelprogname timeprogname buildversionbinaryfilename versionstr versionmsg configflagshelp1help2optsWithConstructoroptsWithConstructorsoptValuesForConstructoroptValuesForConstructorsclearedValueFromOpts backUpFilesafeGetDirectoryContents backupNumbersummarisePostingspostingsMatchingDisplayExprdisplayExprMatchesdatedisplayexprsummarisePostingsInDateSpanshowPostingsWithBalancewordLetterPairs letterPairs nullruleschoice' datefield codefield statusfielddescriptionfield amountfield currencyfield basecurrency baseaccount blanklines blankline commentchar commentlineblankorcommentlinematchreplacepatterncaseinsensitive tests_Convertbarchar printDayWithcountBardate1t1 samplejournalsamplejournalwithoptssample_journal_strdefaultyear_journal_strwrite_sample_journal entry2_str entry3_strperiodic_entry1_strperiodic_entry2_strperiodic_entry3_str journal1_str journal2_str journal3_str journal4_str journal5_str journal6_str journal7_strjournal7ledger7 journal8_strtimelogentry1_str timelogentry1timelogentry2_str timelogentry2a1a2a3