úÎ!JWAdž      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€‚ƒ„… 5(c) 2016-present, Facebook, Inc. All rights reserved.BSD3bos@serpentine.com experimentalGHCNoneEXkzstd€A streaming buffer type. The type parameter statically indicates whether the buffer is used to track an input or output buffer.zstdmPointer to the start of the buffer. This can be set once by the caller, and read by the streaming function.zstdkSize of the buffer (in bytes). This can be set once by the caller, and is read by the streaming function.zstd‰Current offset into the buffer (in bytes). This must be initially set to zero by the caller, and is updated by the streaming function.zstdA tag type to indicate that a  is used for tracking output.zstdA tag type to indicate that a  is used for tracking input.zstd:An opaque pre-digested decompression dictionary structure.zstd8An opaque pre-digested compression dictionary structure. zstd*An opaque decompression context structure. zstd(An opaque compression context structure.†zstd Read the  value from a .‡zstd Write to the  value in a .ˆzstd Read the  value from a .‰zstd Write to the  value in a .Šzstd Read the  value from a .‹zstd Write to the  value in a . †‡ˆ‰Š‹5(c) 2016-present, Facebook, Inc. All rights reserved.BSD3 bryano@fb.com experimentalGHCNoneF€|0 zstd&A context for streaming decompression. zstd$A context for streaming compression. zstdFree a pre-digested dictionary.zstdFree a pre-digested dictionary.zstd#Allocate a pre-digested dictionary.zstdFree a pre-digested dictionary.zstdFree a pre-digested dictionary.zstd#Allocate a pre-digested dictionary.zstdSReturn the identifier for the given dictionary, or zero if not a valid dictionary.zstdfTrain a dictionary from a collection of samples. Returns the number size of the resulting dictionary.zstdFree a   value. For use by a finalizer.zstdFree a   value.zstd Consume part or all of an input.zstd.Begin a new streaming decompression operation.zstdECreate a streaming decompression context. This must be freed using  , or if using a finalizer, with .zstd#Recommended size for output buffer.zstd"Recommended size for input buffer.zstdMEnd a compression stream. This performs a flush and writes a frame epilogue.zstd Consume part or all of an input.zstd"Begin a new compression operation.zstdFree a   value. For use by a finalizer. zstdFree a   value.!zstdCCreate a streaming compression context. This must be freed using   , or if using a finalizer, with ."zstd#Recommended size for output buffer.#zstd"Recommended size for input buffer.$zstdHDecompress a buffer. The destination buffer must be already allocated.vReturns the number of bytes written into destination buffer, or an error code if it fails (which can be tested using 6).%zstd6Free a decompression context. For use by a finalizer.&zstdFree a decompression context.'zstd!Allocate a decompression context.(zstdsDecompress a buffer, using a pre-built, pre-digested dictionary. The destination buffer must be already allocated.vReturns the number of bytes written into destination buffer, or an error code if it fails (which can be tested using 6).)zstdeDecompress a buffer, using a prebuilt dictionary. The destination buffer must be already allocated.vReturns the number of bytes written into destination buffer, or an error code if it fails (which can be tested using 6).*zstd›Compress bytes from source buffer into destination buffer, using a pre-built, pre-digested dictionary. The destination buffer must be already allocated.vReturns the number of bytes written into destination buffer, or an error code if it fails (which can be tested using 6).+zstdŒCompress bytes from source buffer into destination buffer, using a prebuilt dictionary. The destination buffer must be already allocated.vReturns the number of bytes written into destination buffer, or an error code if it fails (which can be tested using 6).,zstdmCompress bytes from source buffer into destination buffer. The destination buffer must be already allocated.vReturns the number of bytes written into destination buffer, or an error code if it fails (which can be tested using 6).-zstd4Free a compression context. For use by a finalizer..zstdFree a compression context./zstdAllocate a compression context.0zstdMReturns the decompressed size of a compressed payload if known, 0 otherwise.9To discover precisely why a result is 0, follow up with getFrameParams.1zstdHDecompress a buffer. The destination buffer must be already allocated.vReturns the number of bytes written into destination buffer, or an error code if it fails (which can be tested using 6).Œzstd4Gives the description associated with an error code.4Always returns a valid pointer to a constant string.2zstd;Compute the maximum compressed size of given source buffer.3zstd?Returns the maximum compression level supported by the library.4zstdmCompress bytes from source buffer into destination buffer. The destination buffer must be already allocated.vReturns the number of bytes written into destination buffer, or an error code if it fails (which can be tested using 6).5zstd7The maximum compression level supported by the library.6zstd2Indicates whether a return value is an error code.7zstd4Gives the description associated with an error code.8zstdJCheck that an allocating operation is successful. If it fails, throw an .9zstdCheck whether a ŽP has an error encoded in it (yuck!), and report success or failure more safely.zstd Dictionary.zstdSize of dictionary.zstd Dictionary.zstdSize of dictionary.zstdCompression level.zstd Dictionary.zstdSize of dictionary.zstdPreallocated dictionary buffer.zstdCapacity of dictionary buffer.zstdConcatenated samples.zstdArray of sizes of samples.zstdNumber of samples.zstdCompression level.$zstdDecompression context.zstdDestination buffer.zstdCapacity of destination buffer.zstdSource buffer.zstdSize of compressed input. This must be exact, so for example supplying the size of a buffer that is larger than the compressed input will cause a failure.(zstdDecompression context.zstdDestination buffer.zstdCapacity of destination buffer.zstdSource buffer.zstdSize of compressed input. This must be exact, so for example supplying the size of a buffer that is larger than the compressed input will cause a failure.zstd Dictionary.)zstdDecompression context.zstdDestination buffer.zstdCapacity of destination buffer.zstdSource buffer.zstdSize of compressed input. This must be exact, so for example supplying the size of a buffer that is larger than the compressed input will cause a failure.zstd Dictionary.zstdSize of dictionary.*zstdCompression context.zstdDestination buffer.zstdCapacity of destination buffer.zstdSource buffer.zstdSize of source buffer.zstd Dictionary.+zstdCompression context.zstdDestination buffer.zstdCapacity of destination buffer.zstdSource buffer.zstdSize of source buffer.zstd Dictionary.zstdSize of dictionary.zstdCompression level.,zstdCompression context.zstdDestination buffer.zstdCapacity of destination buffer.zstdSource buffer.zstdSize of source buffer.zstdCompression level.1zstdDestination buffer.zstdCapacity of destination buffer.zstdSource buffer.zstdSize of compressed input. This must be exact, so for example supplying the size of a buffer that is larger than the compressed input will cause a failure.2zstdSize of input.4zstdDestination buffer.zstdCapacity of destination buffer.zstdSource buffer.zstdSize of source buffer.zstdCompression level.:  !"#$%&'()*+,-./0123456789:42510 /.-, '&%$6798 #"! +)* (3 5(c) 2016-present, Facebook, Inc. All rights reserved.BSD3 bryano@fb.com experimentalGHCNone…G:zstd(A pre-digested decompression dictionary.;zstd&A pre-digested compression dictionary.:;5(c) 2016-present, Facebook, Inc. All rights reserved.BSD3 bryano@fb.com experimentalGHCNoneص<zstd&A context for streaming decompression.=zstd$A context for streaming compression.>zstdmCompress bytes from source buffer into destination buffer. The destination buffer must be already allocated.bReturns the number of bytes written into destination buffer, or an error description if it fails.?zstd7The maximum compression level supported by the library.@zstdHDecompress a buffer. The destination buffer must be already allocated.bReturns the number of bytes written into destination buffer, or an error description if it fails.Azstd?Returns the decompressed size of a compressed payload if known.ATo discover precisely why a result is not known, follow up with  .Bzstd{Allocate a compression context, run an action that may reuse the context as many times as it needs, then free the context.CzstdmCompress bytes from source buffer into destination buffer. The destination buffer must be already allocated.bReturns the number of bytes written into destination buffer, or an error description if it fails.Dzstd}Allocate a decompression context, run an action that may reuse the context as many times as it needs, then free the context.EzstdHDecompress a buffer. The destination buffer must be already allocated.bReturns the number of bytes written into destination buffer, or an error description if it fails.Fzstd"Recommended size for input buffer.Gzstd#Recommended size for output buffer.Hzstd Create a =C value. After use, this will eventually be freed via a finalizer.Izstd,Begin a new streaming compression operation.Jzstd Consume part or all of an input.KzstdMEnd a compression stream. This performs a flush and writes a frame epilogue.Lzstd"Recommended size for input buffer.Mzstd#Recommended size for output buffer.NzstdeCreate a streaming decompression context. After use, this will eventually be freed via a finalizer.Ozstd.Begin a new streaming decompression operation.Pzstd Consume part or all of an input.QzstdfTrain a dictionary from a collection of samples. Returns the number size of the resulting dictionary.Rzstd3Return the identifier for the given dictionary, or ‘ if not a valid dictionary.SzstdmCompress bytes from source buffer into destination buffer. The destination buffer must be already allocated.bReturns the number of bytes written into destination buffer, or an error description if it fails.TzstdHDecompress a buffer. The destination buffer must be already allocated.bReturns the number of bytes written into destination buffer, or an error description if it fails.UzstdiCreate a pre-digested compression dictionary. After use, this will eventually be freed via a finalizer.VzstdCompress bytes from source buffer into destination buffer, using a pre-digested dictionary. The destination buffer must be already allocated.bReturns the number of bytes written into destination buffer, or an error description if it fails.WzstdkCreate a pre-digested decompression dictionary. After use, this will eventually be freed via a finalizer.Xzstd’Decompress bytes from source buffer into destination buffer, using a pre-digested dictionary. The destination buffer must be already allocated.bReturns the number of bytes written into destination buffer, or an error description if it fails. >zstdDestination buffer.zstdCapacity of destination buffer.zstdSource buffer.zstdSize of source buffer.zstdCompression level.@zstdDestination buffer.zstdCapacity of destination buffer.zstdSource buffer.zstdSize of compressed input. This must be exact, so for example supplying the size of a buffer that is larger than the compressed input will cause a failure.CzstdCompression context.zstdDestination buffer.zstdCapacity of destination buffer.zstdSource buffer.zstdSize of source buffer.zstdCompression level.EzstdDecompression context.zstdDestination buffer.zstdCapacity of destination buffer.zstdSource buffer.zstdSize of compressed input. This must be exact, so for example supplying the size of a buffer that is larger than the compressed input will cause a failure.IzstdCompression level.QzstdPreallocated dictionary buffer.zstdCapacity of dictionary buffer.zstdConcatenated samples.zstdArray of sizes of samples.zstdNumber of samples.SzstdDestination buffer.zstdCapacity of destination buffer.zstdSource buffer.zstdSize of source buffer.zstd Dictionary.zstdSize of dictionary.zstdCompression level.TzstdDestination buffer.zstdCapacity of destination buffer.zstdSource buffer.zstdSize of compressed input. This must be exact, so for example supplying the size of a buffer that is larger than the compressed input will cause a failure.zstd Dictionary.zstdSize of dictionary.Uzstd Dictionary.zstdSize of dictionary.zstdCompression level.VzstdCompression context.zstdDestination buffer.zstdCapacity of destination buffer.zstdSource buffer.zstdSize of source buffer.zstd Dictionary.Wzstd Dictionary.zstdSize of dictionary.XzstdCompression context.zstdDestination buffer.zstdCapacity of destination buffer.zstdSource buffer.zstdSize of source buffer.zstd Dictionary.( :;<=>?@ABCDEFGHIJKLMNOPQRSTUVWX(>?@A BC DE=<FGHIJKLMNOPQRST;UV:WX5(c) 2016-present, Facebook, Inc. All rights reserved.BSD3 bryano@fb.com experimentalGHCNone`ì‡Yzstd<The result of a streaming compression or decompression step.ZzstdÂA single frame of transformed data, and an action that when executed will yield the next step in the streaming operation. The action is ephemeral; you should discard it as soon as you use it.[zstd¼Provide the function with more input for the streaming operation to continue. This function is ephemeral. You should call it exactly once, and discard it immediately after you call it.1To signal the end of a stream of data, supply an ’ input.\zstdTAn error has occurred. If an error occurs, the streaming operation cannot continue.]zstdeThe streaming operation has ended. This payload may be empty. If it is not, it must be written out.yA non-empty payload consists of a frame epilogue, possibly preceded by any data left over from the final streaming step.^zstd(Begin a streaming compression operation.%The initial result will be either an \ or a [._zstd*Begin a streaming decompression operation.%The initial result will be either an \ or a [.^zstd'Compression level. Must be >= 1 and <= 5.5Y]Z[\^_Y]Z[\^_55(c) 2016-present, Facebook, Inc. All rights reserved.BSD3 bryano@fb.com experimentalGHCNone`ö:azstddCompress a payload. The input will be consumed lazily, and the compressed result generated lazily.Note:M if any error occurs, compression will fail part-way through with a call to “.bzstdhDecompress a payload. The input will be consumed lazily, and the decompressed result generated lazily.Note:O if any error occurs, decompression will fail part-way through with a call to “.azstd'Compression level. Must be >= 1 and <= 5.zstd3Payload to compress. This will be consumed lazily.5abab55(c) 2016-present, Facebook, Inc. All rights reserved.BSD3 bryano@fb.com experimentalGHCSafeüiczstdCompression dictionary.fzstd(The result of a decompression operation.gzstdlEither the compressed frame was empty, or it was compressed in streaming mode and so its size is not known.hzstdAn error occurred.izstd*The payload was successfully decompressed.jzstdSmart constructor.cdefihgjfihgcdej 5(c) 2016-present, Facebook, Inc. All rights reserved.BSD3 bryano@fb.com experimentalGHCNone2szstdDecompression context.tzstdCompression context.uzstdYReturn the decompressed size of a compressed payload, as stored in the payload's header.The returned value will be ‘ƒ if it is either not known (probably because the payload was compressed using a streaming API), empty, or too large to fit in an ”.Note:K this value should not be trusted, as it can be controlled by an attacker.vzstd{Allocate a compression context, run an action that may reuse the context as many times as it needs, then free the context.wzstd}Allocate a decompression context, run an action that may reuse the context as many times as it needs, then free the context.xzstdHCreate and train a compression dictionary from a collection of samples.VTo create a well-trained dictionary, here are some useful guidelines to keep in mind:šA reasonable dictionary size is in the region of 100 KB. (Trying to specify a dictionary size of less than a few hundred bytes will probably fail.)VTo train the dictionary well, it is best to supply a few thousand training samples.pThe combined size of all training samples should be 100 or more times larger than the size of the dictionary.yzstd3Return the identifier for the given dictionary, or ‘ if not a valid dictionary.xzstdfMaximum size of the compression dictionary to create. The actual dictionary returned may be smaller.zstdSamples to train with.s•–t—˜™ušvw›xy5(c) 2016-present, Facebook, Inc. All rights reserved.BSD3 bryano@fb.com experimentalGHCNone0ïzzstd:Compress the given data as a single zstd compressed frame.{zstdmDecompress a single-frame payload of known size. Typically this will be a payload that was compressed with compress.Note:n This function is not capable of decompressing a payload generated by the streaming or lazy compression APIs.|zstdXCompress the given data as a single zstd compressed frame, using a prebuilt dictionary.}zstd‹Decompress a single-frame payload of known size, using a prebuilt dictionary. Typically this will be a payload that was compressed with |.Note:n This function is not capable of decompressing a payload generated by the streaming or lazy compression APIs.~zstd-Create a pre-digested compression dictionary.zstdgCompress the given data as a single zstd compressed frame, using a pre-built, pre-digested dictionary.€zstd-Create a pre-digested compression dictionary.zstdšDecompress a single-frame payload of known size, using a pre-built, pre-digested dictionary. Typically this will be a payload that was compressed with .Note:n This function is not capable of decompressing a payload generated by the streaming or lazy compression APIs.zzstdCompression context.zstd'Compression level. Must be >= 1 and <= 5.zstdPayload to compress.{zstdDecompression context.zstdCompressed payload.|zstdCompression dictionary.zstd'Compression level. Must be >= 1 and <= 5.zstdPayload to compress.}zstd Dictionary.zstdPayload to decompress.~zstdCompression level.zstd Dictionary.zstdCompression context.zstdCompression dictionary.zstdPayload to compress.€zstd Dictionary.zstdDecompression context.zstdDecompression dictionary.zstdPayload to compress.5:;cefihgjstuvwxyz{|}~€fihgu5tvzsw{cjexy|};~:€5(c) 2016-present, Facebook, Inc. All rights reserved.BSD3 bryano@fb.com experimentalGHCNoneAK‚zstd:Compress the given data as a single zstd compressed frame.ƒzstdmDecompress a single-frame payload of known size. Typically this will be a payload that was compressed with ‚.Note:n This function is not capable of decompressing a payload generated by the streaming or lazy compression APIs.„zstdXCompress the given data as a single zstd compressed frame, using a prebuilt dictionary.…zstd‹Decompress a single-frame payload of known size, using a prebuilt dictionary. Typically this will be a payload that was compressed with „.Note:n This function is not capable of decompressing a payload generated by the streaming or lazy compression APIs.‚zstd'Compression level. Must be >= 1 and <= 5.zstdPayload to compress.„zstdCompression dictionary.zstd'Compression level. Must be >= 1 and <= 5.zstdPayload to compress.…zstd Dictionary.zstdPayload to decompress.5cefihgjuxy‚ƒ„…‚fihguƒ5cjexy„…œ   !"#$%&'()*+,-./0123456789:;<=>?@ABCDE  @A=<F8G0/.-*)('&%$# 7564HIJKL@=M@=NNOPQKPRSTUVWXYZ   [ F G \ 807564@=75]^_`abcdefdgh i jdklmnodpqrst  u  v w x yz#zstd-0.1.2.0-A0YtAjXbH9SJmX5cl2D9IYCodec.Compression.Zstd.FFICodec.Compression.Zstd.Base Codec.Compression.Zstd.StreamingCodec.Compression.Zstd.LazyCodec.Compression.Zstd.Types Codec.Compression.Zstd.EfficientCodec.Compression.Zstd Codec.Compression.Zstd.FFI.Types!Codec.Compression.Zstd.Base.TypesFFIgetFrameParamsCodec.Compression.Zstd.InternalBufferbufPtrbufSizebufPosOutInDDictCDictDCtxCCtxDStreamCStream p_freeDDict freeDDict createDDict p_freeCDict freeCDict createCDict getDictIDtrainFromBuffer p_freeDStream freeDStreamdecompressStream initDStream createDStreamdstreamOutSize dstreamInSize endStreamcompressStream initCStream p_freeCStream freeCStream createCStreamcstreamOutSize cstreamInSizedecompressDCtx p_freeDCtxfreeDCtx createDCtxdecompressUsingDDictdecompressUsingDictcompressUsingCDictcompressUsingDict compressCCtx p_freeCCtxfreeCCtx createCCtxgetDecompressedSize decompress compressBound c_maxCLevelcompress maxCLevelisError getErrorName checkAlloc checkErrorwithCCtxwithDCtxResultProduceConsumeErrorDone $fShowResultDictfromDict DecompressSkipmkDict $fNFDataDict $fReadDict $fShowDict$fEqDecompress$fReadDecompress$fShowDecompress$fEqDict $fOrdDictdecompressedSizetrainFromSamplespeekPtrpokePtrpeekSizepokeSizepeekPospokePosc_getErrorNamebaseGHC.IO.ExceptionIOErrorForeign.C.TypesCSizeDDCD GHC.MaybeNothingbytestring-0.10.8.2Data.ByteStringemptyGHC.Errerrorghc-prim GHC.TypesIntgetDCtxgetCCtx compressWithdecompressWithwithDict