úÎ!YûPE      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ None$'-.14;FHSX_`ak ÷ bytesmithA non-resumable parser. bytesmith%Fail with the provided error message. bytesmith"Combines the error messages using  when both parsers fail. bytesmith Error message‘’“”•–—˜™š›œžŸ ¡¢£¤¥ None46; bytesmithÿ:Slicing metadata (an offset and a length) accompanied by a value. This does not represent a slice into the value. This type is intended to be used as the result of an executed parser. In this context the slicing metadata describe a slice into to the array (or byte array) that from which the value was parsed. It is often useful to check the lengthl when a parser succeeds since a non-zero length indicates that there was additional unconsumed input. The offset4 is only ever needed to construct a new slice (via Bytes or  SmallVector) from the remaining input.¦ bytesmithOffset into the array.§ bytesmithLength of the slice.¨ bytesmith1The structured data that was successfully parsed. bytesmithThe result of running a parser. bytesmith,An error message indicating what went wrong. bytesmithDThe parsed value and the number of bytes remaining in parsed slice. §¨¦None"$'-.14;FHSX_`adk$¿  bytesmithpGet the current offset into the chunk. Using this makes it possible to observe the internal difference between ©. that refer to equivalent slices. Be careful.  bytesmith×Return the byte array being parsed. This includes bytes that preceed the current offset and may include bytes that go beyond the length. This is somewhat dangerous, so only use this is you know what you're doing.  bytesmithMove the cursor back by nB bytes. Precondition: you must have previously consumed at least n bytes.  bytesmith|Set the position to the given index. Precondition: the index must be valid. It should be the result of an earlier call to  .  None'-.14;FHSX_`akuÞ  bytesmithaParse a byte sequence. This can succeed even if the entire slice was not consumed by the parser. bytesmith Variant of 8 that discards the error message on failure. Just like H, this does not impose any checks on the length of the remaining input. bytesmith Variant of   that discards the new offset and the remaining length. This does not, however, require the remaining length to be zero. Use # to accomplish that. bytesmith Variant of   that accepts an unsliced ª. bytesmith Variant of  L that allows the parser to be run as part of an existing effectful context. bytesmith,Lift an effectful computation into a parser. bytesmithInfix version of . bytesmithFAnnotate a parser. If the parser fails, the error will be returned. bytesmithRConsumes and returns the next byte in the input. Fails if no characters are left. bytesmith.Match any byte, to perform lookahead. Returns «A if end of input has been reached. Does not consume any input.NoteO: Because this parser does not fail, do not use it with combinators such as many, because such as manyl, because such parsers loop until a failure occurs. Careless use will thus result in an infinite loop. bytesmithtMatch any byte, to perform lookahead. Does not consume any input, but will fail if end of input has been reached. bytesmithÑA stateful scanner. The predicate consumes and transforms a state argument, and each transformed state is passed to successive invocations of the predicate on each byte of the input until one returns « or the input ends.XThis parser does not fail. It will return the initial state if the predicate returns « on the first byte of input.NoteN: Because this parser does not fail, do not use it with combinators such a manyi, because such parsers loop until a failure occurs. Careless use will thus result in an infinite loop. bytesmith<Take while the predicate is matched. This is always inlined. bytesmithªTake bytes until the specified byte is encountered. Consumes the matched byte as well. Fails if the byte is not present. Visually, the cursor advancement and resulting Bytes for takeTrailedBy 0x19 look like this: ‹ 0x10 0x13 0x08 0x15 0x19 0x23 0x17 | input |---->---->---->---->----| | cursor {----*----*----*----} | result bytes bytesmithlSkip all characters until the character from the is encountered and then consume the matching byte as well. bytesmithPTake the given number of bytes. Fails if there is not enough remaining input. bytesmith)Consume all remaining bytes in the input.  bytesmith<Skip while the predicate is matched. This is always inlined.! bytesmith The parser  satisfy p2 succeeds for any byte for which the predicate p returns ¬.. Returns the byte that is actually parsed." bytesmith The parser satisfyWith f p5 transforms a byte, and succeeds if the predicate p returns ¬V on the transformed value. The parser returns the transformed byte that was parsed.# bytesmith-Fails if there is still more input remaining.$ bytesmith`Returns true if there are no more bytes in the input. Returns false otherwise. Always succeeds.% bytesmith Convert a ­ parser to a ® parser.& bytesmith Convert a  (Int,Int) parser to a ( Int, Int ) parser.' bytesmith Convert a ® parser to a ­T parser. Precondition: the argument parser only returns words less than 4294967296.( bytesmith Convert a ( Int, Int ) parser to a  (Int,Int) parser.) bytesmith#There is a law-abiding instance of  Alternative for J. However, it is not terribly useful since error messages seldom have a ¯) instance. This function is a variant of <|>J that is right-biased in its treatment of error messages. Consequently, orElse lacks an identity. See  ,https://github.com/bos/attoparsec/issues/122attoparsec issue #122$ for more discussion of this topic.3 bytesmithOAugment a parser with the number of bytes that were consume while it executed.4 bytesmithÐRun a parser in a delimited context, failing if the requested number of bytes are not available or if the delimited parser does not consume all input. This combinator can be understood as a composition of , , , and #ü. It is provided as a single combinator because for convenience and because it is easy to make mistakes when manually assembling the aforementioned parsers. The pattern of prefixing an encoding with its length is common. This is discussed more in  ,https://github.com/bos/attoparsec/issues/129attoparsec issue #129. 'delimit e1 e2 n remaining === take e1 n5 bytesmithReplicate a parser n5 times, writing the results into an array of length n. For Array and  SmallArray, this is lazy in the elements, so be sure the they result of the parser is evaluated appropriately to avoid unwanted thunks.4 bytesmith/Error message when not enough bytes are present bytesmith>Error message when delimited parser does not consume all input bytesmith=Exact number of bytes delimited parser is expected to consume bytesmith&Parser to execute in delimited context5 bytesmith!Number of times to run the parser bytesmithParser0  !"#$%&'()*+,-./0123450  !"#$)543'(%&*-,.+/0120)3None'-.14;FHSX_`ak”‹6 bytesmithUnsigned 8-bit word.7 bytesmithwArray of little-endian unsigned 16-bit words. If the host is little-endian, the implementation is optimized to simply memcpya bytes into the result array. The result array always has elements in native-endian byte order.8 bytesmith6Parse an array of little-endian unsigned 32-bit words.9 bytesmith6Parse an array of little-endian unsigned 64-bit words.: bytesmith7Parse an array of little-endian unsigned 128-bit words.; bytesmith7Parse an array of little-endian unsigned 256-bit words.< bytesmith4Parse an array of little-endian signed 64-bit words.= bytesmithUnsigned 16-bit word.> bytesmithUnsigned 32-bit word.? bytesmithUnsigned 64-bit word.@ bytesmithUnsigned 256-bit word.A bytesmithUnsigned 128-bit word.B bytesmithSigned 8-bit integer.C bytesmithSigned 16-bit integer.D bytesmithSigned 32-bit integer.E bytesmithSigned 64-bit integer.7 bytesmith-Error message if not enough bytes are present bytesmith.Number of little-endian 16-bit words to expect bytesmithNative-endian elements8 bytesmith-Error message if not enough bytes are present bytesmith/Number of little-endian 32-bit words to consume bytesmithNative-endian elements9 bytesmith-Error message if not enough bytes are present bytesmith/Number of little-endian 64-bit words to consume bytesmithNative-endian elements: bytesmith-Error message if not enough bytes are present bytesmith0Number of little-endian 128-bit words to consume bytesmithNative-endian elements; bytesmith-Error message if not enough bytes are present bytesmith0Number of little-endian 256-bit words to consume bytesmithNative-endian elements< bytesmith-Error message if not enough bytes are present bytesmith.Number of little-endian 64-bit words to expect bytesmithNative-endian elements6789:;<=>?@ABCDE6=>?A@BCDE789:;<None'-.14;FHSX_`ak£-F bytesmithªRuns the predicate on the next character in the input. If the predicate is matched, this consumes the character. Otherwise, the character is not consumed. This returns False= if the end of the input has been reached. This never fails.G bytesmithORuns the function on the next character in the input. If the function returns Justi, this consumes the character and then runs the parser on the remaining input. If the function returns Nothingã, this does not consume the tested character, and it runs the default parser on the input (which includes the tested character). If there is no input remaining, this also runs the default parser. This combinator never fails.H bytesmithjConsume the next character, failing if it does not match the expected value or if there is no more input.I bytesmithSConsume the next two characters, failing if they do not match the expected values. $char2 e a b === char e a *> char e bJ bytesmithLConsume three characters, failing if they do not match the expected values. 2char3 e a b c === char e a *> char e b *> char e cK bytesmithKConsume four characters, failing if they do not match the expected values. @char4 e a b c d === char e a *> char e b *> char e c *> char e dL bytesmithKConsume five characters, failing if they do not match the expected values.M bytesmithJConsume six characters, failing if they do not match the expected values.N bytesmithLConsume seven characters, failing if they do not match the expected values.O bytesmithLConsume eight characters, failing if they do not match the expected values.P bytesmithKConsume nine characters, failing if they do not match the expected values.Q bytesmithJConsume ten characters, failing if they do not match the expected values.R bytesmithJConsume ten characters, failing if they do not match the expected values.S bytesmith5Consumes and returns the next character in the input.T bytesmith-Consume a character from the input or return Nothingt if end of the stream has been reached. Since ISO 8859-1 maps every bytes to a character, this parser never fails.U bytesmith Variant of opt with unboxed result.V bytesmith Variant of W1 that requires at least one digit to be present.W bytesmithSkip the characters 0-9> until a non-digit is encountered. This parser does not fail.X bytesmith]Skip the character any number of times. This succeeds even if the character was not present.Y bytesmith\Skip the character any number of times. It must occur at least once or else this will fail.Z bytesmithYParse a decimal-encoded 8-bit word. If the number is larger than 255, this parser fails.[ bytesmith£Parse a hexadecimal-encoded 8-bit word. If the number is larger than 255, this parser fails. This allows leading zeroes and is insensitive to case. For example, 00A, 0a and A+ would all be accepted as the same number.\ bytesmith¦Parse a hexadecimal-encoded 16-bit word. If the number is larger than 65535, this parser fails. This allows leading zeroes and is insensitive to case. For example, 0100a and 100A, would both be accepted as the same number.] bytesmith\Parse a decimal-encoded 16-bit word. If the number is larger than 65535, this parser fails.^ bytesmithaParse a decimal-encoded 32-bit word. If the number is larger than 4294967295, this parser fails._ bytesmith¸Parse a decimal-encoded number. If the number is too large to be represented by a machine word, this fails with the provided error message. This accepts any number of leading zeroes.` bytesmithÁParse a decimal-encoded unsigned number. If the number is too large to be represented by a 64-bit word, this fails with the provided error message. This accepts any number of leading zeroes.a bytesmithÿParse a decimal-encoded number. If the number is too large to be represented by a machine integer, this fails with the provided error message. This rejects input with that is preceeded by plus or minus. Consequently, it does not parse negative numbers. Use f or c) for that purpose. On a 64-bit platform _4 will successfully parse 9223372036854775808 (i.e. 2 ^ 63), but a/ will fail. This parser allows leading zeroes.b bytesmith Variant of a with an unboxed result.c bytesmithÿ;Parse a decimal-encoded number. If the number is too large to be represented by a machine integer, this fails with the provided error message. This allows the number to optionally be prefixed by plus or minus. If the sign prefix is not present, the number is interpreted as positive. This allows leading zeroes.d bytesmith Variant of aÿ that lets the caller supply a leading digit. This is useful when parsing formats like JSON where integers with leading zeroes are considered invalid. The calling context must consume the first digit before calling this parser. Results are always positive numbers.f bytesmithÿJParse a decimal-encoded number. If the number is too large to be represented by a machine integer, this fails with the provided error message. This allows the number to optionally be prefixed by minus. If the minus prefix is not present, the number is interpreted as positive. The disallows a leading plus sign. For example, f rejects +42, but c allows it.g bytesmith Variant of hÿ that lets the caller supply a leading digit. This is useful when parsing formats like JSON where integers with leading zeroes are considered invalid. The calling context must consume the first digit before calling this parser. Results are always positive numbers.h bytesmithwParse a decimal-encoded positive integer of arbitrary size. This rejects input that begins with a plus or minus sign.i bytesmith¦Parse a decimal-encoded integer of arbitrary size. This accepts input that begins with a plus or minus sign. Input without a sign prefix is interpreted as positive.j bytesmithuSkip all characters until the terminator is encountered and then consume the matching character as well. Visually, skipTrailedBy 'C' advances the cursor like this:  A Z B Y C X C W |->->->->-|NThis fails if it reaches the end of input without encountering the character.k bytesmithjSkip all characters until the terminator is encountered. This does not consume the terminator. Visually,  skipUntil 'C' advances the cursor like this:  A Z B Y C X C W |->->->-|fThis succeeds if it reaches the end of the input without encountering the terminator. It never fails.l bytesmithœParse exactly eight ASCII-encoded characters, interpreting them as the hexadecimal encoding of a 32-bit number. Note that this rejects a sequence such as BC5A9 , requiring 000BC5A9& instead. This is insensitive to case.m bytesmith™Parse exactly 16 ASCII-encoded characters, interpreting them as the hexadecimal encoding of a 64-bit number. Note that this rejects a sequence such as BC5A9 , requiring 00000000000BC5A9' instead. This is insensitive to case.n bytesmith›Parse exactly four ASCII-encoded characters, interpreting them as the hexadecimal encoding of a 16-bit number. Note that this rejects a sequence such as 5A9 , requiring 05A9µ instead. This is insensitive to case. This is particularly useful when parsing escape sequences in C or JSON, which allow encoding characters in the Basic Multilingual Plane as \uhhhh.o bytesmithšParse exactly two ASCII-encoded characters, interpretting them as the hexadecimal encoding of a 8-bit number. Note that this rejects a sequence such as A , requiring 0A' instead. This is insensitive to case.p bytesmith„Consume a single character that is the lowercase hexadecimal encoding of a 4-bit word. Fails if the character is not in the class [a-f0-9].q bytesmith‹Consume a single character that is the case-insensitive hexadecimal encoding of a 4-bit word. Fails if the character is not in the class  [a-fA-F0-9].r bytesmith`Consume a single character that is the lowercase hexadecimal encoding of a 4-bit word. Returns Nothing< without consuming the character if it is not in the class [a-f0-9]. The parser never fails.s bytesmithgConsume a single character that is the case-insensitive hexadecimal encoding of a 4-bit word. Returns Nothing< without consuming the character if it is not in the class  [a-fA-F0-9]. This parser never fails.G bytesmithDefault parser. Runs on Nothing or end of input. bytesmithParser-selecting predicated bytesmith Error message bytesmith!Leading digit, should be between 0 and 9.g bytesmith!Leading digit, should be between 0 and 9..FGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrs.HIJKLMNOPQRFGSTUWVXYjk_Z]^`abcfdeihg[\onlmprqsNone'-.14;FHSX_`ak1M t bytesmith¥Consume input until the trailer is found. Then, consume the trailer as well. This fails if the trailer is not found or if any non-ASCII characters are encountered.u bytesmith†Consume characters matching the predicate. The stops when it encounters a non-matching character or when it encounters a byte above 0x7F. This never fails.v bytesmithˆConsume input through the next occurrence of the target character and return the consumed input, excluding the target character, as a °/. This fails if it encounters any bytes above 0x7F.w bytesmith5Consumes and returns the next character in the input.x bytesmith Variant of w with unboxed result.y bytesmithyExamine the next byte without consuming it, interpret it as an ASCII-encoded character. This fails if the byte is above 0x7F* or if the end of input has been reached.z bytesmithbConsume the next byte, interpreting it as an ASCII-encoded character. Fails if the byte is above 0x7F . Returns Nothing+ if the end of the input has been reached.{ bytesmith†Consume characters matching the predicate. The stops when it encounters a non-matching character or when it encounters a byte above 0x7F. This never fails.| bytesmithQSkip uppercase and lowercase letters until a non-alpha character is encountered.} bytesmithQSkip uppercase and lowercase letters until a non-alpha character is encountered.HIJKVWXYZ]^_tuvwxyz{|}HIJKwxyzvuWVXY|}t{_Z]^None'-.14;FHSX_`akKC~ bytesmithUnsigned 8-bit word. bytesmithzParse an array of big-endian unsigned 16-bit words. If the host is big-endian, the implementation is optimized to simply memcpya bytes into the result array. The result array always has elements in native-endian byte order.€ bytesmith3Parse an array of big-endian unsigned 32-bit words. bytesmith3Parse an array of big-endian unsigned 64-bit words.‚ bytesmith4Parse an array of big-endian unsigned 256-bit words.ƒ bytesmith4Parse an array of big-endian unsigned 128-bit words.„ bytesmithUnsigned 16-bit word.… bytesmithUnsigned 32-bit word.† bytesmithUnsigned 64-bit word.‡ bytesmithUnsigned 128-bit word.ˆ bytesmithUnsigned 256-bit word.‰ bytesmithSigned 8-bit integer.Š bytesmithSigned 16-bit integer.‹ bytesmithSigned 32-bit integer.Œ bytesmithSigned 64-bit integer. bytesmith-Error message if not enough bytes are present bytesmith+Number of big-endian 16-bit words to expect bytesmithNative-endian elements€ bytesmith-Error message if not enough bytes are present bytesmith+Number of big-endian 32-bit words to expect bytesmithNative-endian elements bytesmith-Error message if not enough bytes are present bytesmith,Number of big-endian 64-bit words to consume bytesmithNative-endian elements‚ bytesmith-Error message if not enough bytes are present bytesmith-Number of big-endian 256-bit words to consume bytesmithNative-endian elementsƒ bytesmith-Error message if not enough bytes are present bytesmith-Number of big-endian 128-bit words to consume bytesmithNative-endian elements~€‚ƒ„…†‡ˆ‰Š‹Œ~„…†‡ˆ‰Š‹Œ€ƒ‚None'-.14;FHSX_`akP1 bytesmith‰Interpret the next one to four bytes as a UTF-8-encoded character. Fails if the decoded codepoint is in the range U+D800 through U+DFFF.Ž bytesmithLConsume input that matches the argument. Fails if the input does not match.Žޱ         !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnop%qrstuvwxy%z{| [(}~>?@ACBEFGIHJKLM|€‚ƒ„…†‡‡ˆ‰Š‹ŒŽ‘’“”•–— ˜ ™ š›œžŸ ¡¢£¤¥¦§£¨©‚ª«¬­®(bytesmith-0.3.5.0-8IjsgzUpcgTLwWER11Z36rData.Bytes.Parser.UnsafeData.Bytes.ParserData.Bytes.Parser.LittleEndianData.Bytes.Parser.LatinData.Bytes.Parser.AsciiData.Bytes.Parser.BigEndianData.Bytes.Parser.Utf8Data.Bytes.Parser.InternalData.Bytes.Parser.TypesParser runParserfailSliceResultFailureSuccesscursorexpose unconsumejump parseBytesparseBytesMaybeparseBytesEitherparseByteArrayparseBytesEffectfullyeffect byteArraybytesannotateanypeekpeek'scan takeWhile takeTrailedBy skipTrailedBytake remaining skipWhilesatisfy satisfyWith endOfInput isEndOfInput unboxWord32 unboxIntPair boxWord32 boxIntPairorElsebindFromCharToLiftedbindFromCharToIntPairbindFromLiftedToIntbindFromLiftedToIntPairbindFromIntToIntPairbindFromMaybeCharToIntPairbindFromMaybeCharToLifted pureIntPair failIntPairmeasuredelimit replicateword8 word16Array word32Array word64Array word128Array word256Array int64Arrayword16word32word64word256word128int8int16int32int64 trySatisfytrySatisfyThencharchar2char3char4char5char6char7char8char9char10char11optopt# skipDigits1 skipDigitsskipChar skipChar1decWord8hexWord8 hexWord16 decWord16 decWord32decWord decWord64decUnsignedIntdecUnsignedInt# decSignedIntdecTrailingIntdecTrailingInt#decStandardIntdecTrailingIntegerdecUnsignedIntegerdecSignedInteger skipUntilhexFixedWord32hexFixedWord64hexFixedWord16 hexFixedWord8hexNibbleLower hexNibbletryHexNibbleLower tryHexNibbletakeShortWhileshortTrailedByany# skipAlpha skipAlpha1 shortText$fAlternativeParserbaseGHC.Base<>Result#ST#Bytes# InternalStepInternalResultInternalFailureInternalSuccess uneffectful unfailingboxBytes unboxBytes unboxResultindexLatinCharArray uneffectful#upcastUnitSuccess swapArray16 swapArray32 swapArray64 swapArray128 swapArray256offsetlengthvalue(byteslice-0.2.1.0-8uZ37kpQuAg3ovWuth40l5Data.Bytes.TypesBytes(primitive-0.7.0.0-9xMM76CsovTEGnXCHiCdRJData.Primitive.ByteArray ByteArray GHC.MaybeNothingghc-prim GHC.TypesTrueGHC.WordWord32GHC.PrimWord#Monoid'text-short-0.1.3-6s9Vn5x19Vb5f1556qmx0oData.Text.Short.Internal ShortText