h&%!`      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ Safe-Inferred Safe-Inferred toml-reader=Annotates each element with the history of all past elements.zipHistory ["a", "b", "c"]9[(["a"], "a"), (["a", "b"], "b"), (["a", "b", "c"], "c")] Safe-Inferred%&2 toml-reader8For a non-empty list of keys, iterate through the given  and return the possibly missing value at the path and a function to set the value at the given path and return the modified input . let obj = undefined -- { "a": { "b": { "c": 1 } } } (mValue, setValue) <- getPathLens doRecurse ["a", "b", "c"] obj print mValue -- Just 1 print (setValue 2) -- { "a": { "b": { "c": 2 } } }  toml-readerSame as , except without the setter. toml-readerHow to get and set the next Map from the possibly missing value. Passes in the path taken so far. Safe-Inferred" toml-reader%Render a Value in pseudo-JSON format.     Safe-Inferred"%&  toml-reader!When a key is defined twice, e.g. name = First name = Second  toml-reader%When a section is defined twice, e.g. [foo] a = 1 [foo] b = 2  toml-reader.When a key attempts to extend an invalid table .a = {} [a.b] b = {} b.a = 1 c.x.x = 1 [c.a]  toml-readerWhen a section attempts to extend a table within an inline array a = [{ b = 1 }] [a.c]  toml-readerWhen a key is already defined, but attempting to create an implicit array at the same key, e.g. !list = [1, 2, 3] [[list]] a = 1 ! toml-reader?When a non-table value is already defined in a nested key, e.g. a.b = 1 a.b.c.d = 2 " toml-readerWhen a non-table value is already defined in a nested implicit array, e.g. a.b = 1 [[a.b.c]] d = 2  !"#$%&'()*+-,.*+-, !"#$%&'(). Safe-Inferred "%&P toml-readerAn inline table, e.g. "a.b" in: a.b = { c = 1 }  toml-reader:A table created implicitly from a nested key, e.g. "a" in: a.b = 1  toml-readerAn explicitly named section, e.g. "a.b.c" and "a.b" but not "a" in: [a.b.c] [a.b]  toml-reader+An implicitly created section, e.g. "a" in: [a.b] /Can later be converted into an explicit section toml-readerAn annotated, normalized Value toml-reader#An unannotated, unnormalized value. toml-readerA string in double quotes. toml-readerA string in single quotes. toml-reader,A multiline string with three double quotes. toml-reader,A multiline string with three single quotes. toml-readerParse the multiline delimiter (" in """ quotes, or ' in ''' quotes), unless the delimiter indicates the end of the multiline string.i.e. parse 1 or 2 delimiters, or 4 or 5, which is 1 or 2 delimiters at the end of a multiline string (then backtrack 3 to mark the end). toml-readerImplementation for makeMidPathNotTableError for NonTableInNestedKeyError toml-reader?Convert a RawTable into a Table, for use in errors + debugging. toml-reader?Convert a RawValue into a Value, for use in errors + debugging. toml-reader :https://github.com/toml-lang/toml/blob/1.0.0/toml.abnf#L38 toml-reader 2https://unicode.org/glossary/#unicode_scalar_value toml-readerReturns "", "-", or "+" toml-reader5Parse trailing whitespace/trailing comments + newline toml-reader$Parse spaces, newlines, and comments toml-reader+TOML does not support bare 'r' without 'n'. toml-readerAssumes string satisfies  all isDigit. toml-readerAssumes string satisfies  all isDigit. toml-readerAssumes string satisfies all isHexDigit. toml-readerAssumes string satisfies all isOctDigit. toml-readerAssumes string satisfies all ( "01").8 toml-reader!Name of file (for error messages) toml-readerInput88 Safe-Inferred " z= toml-reader$A type class containing the default B for the given type.See the docs for B for examples.? toml-readerThe underlying decoding monad that either returns a value of type a or returns an error.B toml-readerA  Decoder a represents a function for decoding a TOML value to a value of type a.(Generally, you'd only need to chain the  getField* functions together, like decoder = MyConfig <$> getField "a" <*> getField "b" <*> getField "c" or use interfaces like  and : decoder = do cfgType <- getField "type" case cfgType of "int" -> MyIntValue <$> (getField "int" <|> getField "integer") "bool" -> MyBoolValue <$> getField "bool" _ -> fail $ "Invalid type: " <> cfgType &but you can also manually implement a B with E.E toml-readerManually implement a B with the given function.F toml-readerRun a B with the given . makeDecoder $ \v -> do a <- runDecoder decoder1 v b <- runDecoder decoder2 v return (a, b)  Satisfies makeDecoder . runDecoder === id runDecoder . makeDecoder === id G toml-reader)Throw an error indicating that the given  is invalid. makeDecoder $ \v -> case v of Integer 42 -> invalidValue "We don't like this number" v _ -> runDecoder tomlDecoder v -- or alternatively, tomlDecoder >>= case 42 -> makeDecoder $ invalidValue "We don't like this number" v -> pure v H toml-reader)Throw an error indicating that the given ! isn't the correct type of value. makeDecoder $ \v -> case v of String s -> ... _ -> typeMismatch v I toml-reader Throw a generic failure message.J toml-readerThrow the given *.L toml-readerDecode the given TOML input.M toml-reader,Decode the given TOML input using the given B.O toml-reader*Decode a TOML file at the given file path.P toml-reader/Decode a field in a TOML Value. Equivalent to U with a single-element list.  a = 1 b = asdf -- MyConfig 1 "asdf" MyConfig <$> getField "a" <*> getField "b" Q toml-readerDecode a field in a TOML Value or succeed with a default value when the field is missing. a = 1 # b is missing -- MyConfig 1 "asdf" MyConfig <$> getFieldOr 42 "a" <*> getFieldOr "asdf" "b" R toml-readerSame as P, except with the given B.S toml-readerDecode a field in a TOML Value, or Nothing if the field doesn't exist. Equivalent to W with a single-element list. a = 1 -- MyConfig (Just 1) Nothing MyConfig <$> getFieldOpt "a" <*> getFieldOpt "b" T toml-readerSame as S, except with the given B.U toml-reader&Decode a nested field in a TOML Value. a.b = 1 0-- MyConfig 1 MyConfig <$> getFields ["a", "b"] V toml-readerSame as U, except with the given B.W toml-reader*Decode a nested field in a TOML Value, or " if any of the fields don't exist. a.b = 1 -- MyConfig (Just 1) Nothing Nothing MyConfig <$> getFieldsOpt ["a", "b"] <*> getFieldsOpt ["a", "c"] <*> getFieldsOpt ["b", "c"] X toml-readerSame as W, except with the given B.Y toml-reader(Decode a list of values using the given B. [[a]] b = 1 [[a]] b = 2 -- MyConfig [1, 2] MyConfig <$> getFieldWith (getArrayOf (getField "b")) "a" w toml-readerSince TOML doesn't support literal NULLs, this will only ever return &. To get the absence of a field, use S or one of its variants.=>?@ABCDEFGHIJKLMNOPQRSTUVWXYLMNO=>BCDPQUSWRVTXY?@AEFKGHIJ Safe-Inferred   !"#$%&'()*+-,.=>?BEFGHILMOPQRSTUVWXYLMO=>BPQUSWRVTXY?EFGHI *+-, !"#$%&'().       !"#$%&'()*+,-./0123#456789:;<=>?@ABCDEEFGGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~*toml-reader-0.2.1.0-JZopdhZbJdT6bpoGSoFkrZTOML.Utils.NonEmptyTOML.Utils.Map TOML.Value TOML.Error TOML.Parser TOML.DecodePaths_toml_readerTOML zipHistory getPathLensgetPathValueTableArrayStringIntegerFloatBooleanOffsetDateTime LocalDateTime LocalDate LocalTime renderValue $fShowValue $fEqValue DecodeError MissingField InvalidValue TypeMismatchOtherDecodeError ContextItemKeyIndex DecodeContextNormalizeErrorDuplicateKeyErrorDuplicateSectionErrorExtendTableErrorExtendTableInInlineArrayErrorImplicitArrayForDefinedKeyErrorNonTableInNestedKeyError"NonTableInNestedImplicitArrayError_path_existingValue _valueToSet _sectionKey _originalKey _tableSection_originalValue TOMLError ParseErrorrenderTOMLError$fExceptionTOMLError$fShowTOMLError $fEqTOMLError$fShowDecodeError$fEqDecodeError$fShowContextItem$fEqContextItem$fShowNormalizeError$fEqNormalizeError parseTOML$fMonadNormalizeM$fApplicativeNormalizeM$fFunctorNormalizeM $fEqTableType DecodeTOML tomlDecoderDecodeM unDecodeMDecoder unDecoder makeDecoder runDecoder invalidValue typeMismatch decodeFail decodeErroraddContextItemdecode decodeWithdecodeWithOpts decodeFilegetField getFieldOr getFieldWith getFieldOptgetFieldOptWith getFields getFieldsWith getFieldsOptgetFieldsOptWith getArrayOf$fMonadFailDecodeM$fAlternativeDecodeM$fMonadDecodeM$fApplicativeDecodeM$fFunctorDecodeM$fMonadFailDecoder$fAlternativeDecoder$fMonadDecoder$fApplicativeDecoder$fFunctorDecoder$fDecodeTOML(,,,)$fDecodeTOML(,,)$fDecodeTOML(,)$fDecodeTOML()$fDecodeTOMLSeq$fDecodeTOMLIntMap$fDecodeTOMLSet$fDecodeTOMLIntSet$fDecodeTOMLNonEmpty$fDecodeTOMLMap$fDecodeTOML[]$fDecodeTOMLDual$fDecodeTOMLMin$fDecodeTOMLMax$fDecodeTOMLLast$fDecodeTOMLFirst$fDecodeTOMLLast0$fDecodeTOMLFirst0$fDecodeTOMLEither$fDecodeTOMLMaybe$fDecodeTOMLConst$fDecodeTOMLProxy$fDecodeTOMLIdentity$fDecodeTOMLOrdering$fDecodeTOMLVersion$fDecodeTOMLCalendarDiffDays$fDecodeTOMLCalendarDiffTime$fDecodeTOMLNominalDiffTime$fDecodeTOMLDiffTime$fDecodeTOMLDayOfWeek$fDecodeTOMLTimeOfDay$fDecodeTOMLDay$fDecodeTOMLLocalTime$fDecodeTOMLSystemTime$fDecodeTOMLUTCTime$fDecodeTOMLZonedTime$fDecodeTOMLText$fDecodeTOMLText0$fDecodeTOML[]0$fDecodeTOMLChar$fDecodeTOMLFixed$fDecodeTOMLRatio$fDecodeTOMLFloat$fDecodeTOMLDouble$fDecodeTOMLNatural$fDecodeTOMLWord64$fDecodeTOMLWord32$fDecodeTOMLWord16$fDecodeTOMLWord8$fDecodeTOMLWord$fDecodeTOMLInt64$fDecodeTOMLInt32$fDecodeTOMLInt16$fDecodeTOMLInt8$fDecodeTOMLInt$fDecodeTOMLInteger$fDecodeTOMLBool$fDecodeTOMLVoid$fDecodeTOMLValueversiongetDataFileName getBinDir getLibDir getDynLibDir getDataDir getLibexecDir getSysconfDircontainers-0.6.5.1Data.Map.InternalMap InlineTable ImplicitKeyExplicitSectionImplicitSectionAnnValueRawValueparseBasicStringparseLiteralStringparseMultilineBasicStringparseMultilineLiteralStringparseMultilineDelimiternonTableInNestedKeyErrorrawTableToApproxTablerawValueToApproxValue isNonAsciiisUnicodeScalar parseSignRaw endOfLine emptyLines parseSpace readFloatreadDecreadHexreadOctreadBinbase Data.FoldableelemGHC.BaseMonad Alternative GHC.MaybeNothingJust