q_      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^None"#1D,bBufferBuilder is the type of a monadic action that appends to an implicit, growable buffer. Use ' to extract the resulting buffer as a _.Run a sequence of 0 actions and extract the resulting buffer as a _.Run a sequence of 0 actions and extract the resulting buffer as a _+. Also returns the BufferBuilder's result. Given a BufferBuilder, calculate its length. This runs every BufferBuilder action in a mode that simply accumulates the number of bytes without copying any data into an output buffer. Reads current length of BufferBuilder. If memory allocation has failed at any point, this returns zero. In the future, currentLength may throw an exception upon memory allocation failure. Append a single byte to the output buffer. To append multiple bytes in sequence and avoid redundant bounds checks, consider using  , , or . FAppends a character to the buffer, truncating it to the bottom 8 bits.  Appends a _ to the buffer. When appending constant, hardcoded strings, to avoid a CAF and the costs of its associated tag check and indirect jump, use  or  instead.Appends a lazy `@ to the buffer. This function operates by traversing the lazy ` chunks, appending each in turn.SAppends a zero-terminated MagicHash string literal. Use this function instead of  $ for string constants. For example: appendLiteral "true"#7If the length of the string literal is known, calling  is faster, as I avoids a strlen operation which has nontrivial cost in some benchmarks.{Appends a MagicHash string literal with a known length. Use this when the string literal's length is known. For example: unsafeAppendLiteralN 4 "true"#Per byte, this is the fastest append function. It amounts to a C function call with two constant arguments. The C function checks to see if it needs to grow the buffer and then it simply calls memcpy.WARNINGU: passing an incorrect length value is likely to cause an access violation or worse.Appends a UTF-8-encoded a to the buffer.Appends a UTF-8-encoded bE to the buffer. The best way to improve performance here is to use _ or c instead of b.>Appends a decimal integer, just like calling printf("%d", ...)=Appends a decimal double, just like calling printf("%f", ...)Append a percent-encoded ByteString. All characters except for alphanumerics, -, ., _, and ~ will be encoded. The string produced by URL encoding is guaranteed ASCII-7 and thus valid UTF-8. Moreover, it is not required to be JSON-escaped.  defNoneDKE$Run a sequence of #3 actions and extracting the resulting buffer as a _.%Encodes the given c& in UTF-8, appending it to the buffer.&Encodes the given b& in UTF-8, appending it to the buffer.'Encodes a single a& in UTF-8, appending it to the buffer.(2Appends the bottom 7 bits of a byte to the buffer.)Appends the bottom 7 bits of a a to the buffer.*SAppends the given ByteString to the buffer, taking the bottom 7 bits of each byte.+sAppends the zero-terminated byte string at the given address to the buffer, taking the bottom 7 bits of each byte.,Directly calls I. The output from URL percent-encoding is guaranteed to be valid UTF-8.2yDirectly append a BufferBuilder into the UTF-8 code stream. Incorrect use of this function can result in invalid UTF-8.3pDirectly append a byte into the UTF-8 code stream. Incorrect use of this function can result in invalid UTF-8.4Directly append the bottom 8 bits of the given character to the UTF-8 code stream. Incorrect use of this function can result in invalid UTF-8.5Directly append the zero-terminated byte sequence pointed to by the given address. Be careful that the referenced byte sequence contains valid UTF-8.6Directly append the given byte sequence pointed to by the given address. Be careful that the referenced byte sequence contains valid UTF-8.WARNINGU: passing an incorrect length value is likely to cause an access violation or worse.7Directly append the given _7 to the output buffer. Be careful that the referenced _ contains valid UTF-8.#$%&'()*+,-./01234567#$%&'()*+,-.0/1234567#ghNone;<=DK ;Builds a JSON object.An ;U builds one or more key-value pairs of a JSON object. They are constructed with the E operator and combined with . To turn an ; into a A , use its ? class instance.  data Friend = Friend { fId :: !Int , fName :: !Text } deriving (Eq, Show) instance ToJson Friend where toJson friend = toJson $ "id" .= fId friend <> "name" .= fName friend WARNING: ; does not check uniqueness of object keys. If two keys with the same value are inserted, then the resulting JSON document will be illegal.<The class of types that can be converted to JSON strings. Any type that provides ToJsonString also provides ToJson, and thus can be used as JSON values.>Represents a JSON string.??The class of types that can be converted to JSON values. See ; for an example of writing a ?" instance for a custom data type.?[ instances are provided for many common types. For example, to create a JSON array, call @ on a list or i!. To create a JSON object, call @ on a j.ARepresents a JSON value.As are built up from either ?$ instances or from primitives like C, G, and k.UIn special cases, or when performance is of utmost importance, the unsafe functions L are available.lInternally, Value encodes an action or sequence of actions that append JSON-encoded text to the underlying #.BEncode a value into a _T containing valid UTF-8-encoded JSON. The argument value must have a corresponding ? instance.WARNING,: There are three cases where the resulting _ may not contain legal JSON:3An unsafe function was used to encode a JSON value.MThe root value is not an object or array, as the JSON specification requires.MAn object has multiple keys with the same value. For maximum efficiency, ;g does not check key names for uniqueness, so it's possible to construct objects with duplicate keys.CA A that produces the empty object.DZCreate an ObjectBuilder from an arbitrary key and value. The key can be any type with a < instance.E Create an ; from a key and a value.F Create an ;M from a key and a value. The key is an ASCII-7, unescaped, zero-terminated l.WARNING: This function is unsafe. If the key is NOT zero-terminated, then an access violation might result. If the key is not a sequence of unescaped ASCII characters, the resulting JSON document will be illegal.This function is provided for maximum performance in the common case that object keys are ASCII-7. It achieves performance by avoiding the CAF for a Text literal and avoiding the need to transcode UTF-16 to UTF-8 and escape.YTo use this function, the calling source file must have the MagicHash extension enabled.  data Friend = Friend { fId :: !Int , fName :: !Text } deriving (Eq, Show) instance ToJson Friend where toJson friend = toJson $ "id"# .=# fId friend <> "name"# .=# fName friend GSerialize any mC as a JSON array. This is generally slower than directly calling @ on a list or i, but it will convert any m type into an array.HRepresents a JSON "null".IUnsafely convert a #p into a JSON value. This function does not escape, quote, or decorate the string in any way. This function is unsafe; because you can trivially use it to generate illegal JSON.JUnsafely convert a #q into a JSON string. This function does not escape, quote, or decorate the string in any way. This function is unsafe; because you can trivially use it to generate illegal JSON.;<=>?@ABCDEFGHIJKLA?@B><=;CEFDGHIJLK;no<=>pq?@ArsD8E8F8t      !"#$%&'()*+," !-./0123456789:;<=>?@ABCD1EFGHIJKLMNOPQRSTUVWXYZX[Z\]^_`abcdeef(ghijklm_no\pq_nrst8u;vw-buffer-builder-0.2.4.5-75d5kcRXFlV2EiPZnS7xVMData.BufferBuilderData.BufferBuilder.Utf8Data.BufferBuilder.Json Data.Monoid<>OptionsinitialCapacitytrimFinalBuffer BufferBuilderrunBufferBuilderrunBufferBuilder'runBufferBuilderWithOptionsrunBufferBuilderWithOptions'calculateLength currentLength appendByte appendChar8appendBS appendLBS appendLiteralunsafeAppendLiteralN appendByte7 appendChar7 appendBS7appendLiteral7unsafeAppendLiteralN7appendCharUtf8appendStringUtf8appendDecimalSignedIntappendDecimalDoubleappendEscapedJsonappendEscapedJsonLiteralappendEscapedJsonTextappendUrlEncoded$fMonadBufferBuilder$fApplicativeBufferBuilder$fFunctorBufferBuilder!$fExceptionBufferOutOfMemoryError$fShowBufferOutOfMemoryError Utf8BuilderrunUtf8Builder appendText appendString appendCharunsafeAppendBufferBuilderunsafeAppendByteunsafeAppendChar8unsafeAppendLiteralunsafeAppendBS$fFunctorUtf8Builder$fApplicativeUtf8Builder$fMonadUtf8Builder ObjectBuilder ToJsonString toJsonString JsonStringToJsontoJsonValue encodeJson emptyObjectrow.=.=#array nullValueunsafeValueUtf8BuilderunsafeStringUtf8BuilderunsafeAppendUtf8Builder $fToJsonInt$fToJsonDouble $fToJsonText $fToJsonMaybe $fToJsonBool $fToJsonValue$fToJsonVector$fToJsonVector0$fToJsonVector1$fToJsonVector2 $fToJson[]$fToJsonJsonString$fToJsonStringText$fToJsonStringJsonString$fToJsonHashMap$fToJsonObjectBuilder$fMonoidObjectBuilder$fSemigroupObjectBuilderbytestring-0.10.8.2Data.ByteString.Internal ByteStringData.ByteString.Lazy.Internalghc-prim GHC.TypesCharbaseGHC.BaseString#text-1.2.2.2-EakMpasry3jA6OIwSZhq9MData.Text.InternalTextBufferOutOfMemoryErrorBB unBuilder&vector-0.12.0.1-LflPw1fguMb6as60UrZpxN Data.VectorVector3unordered-containers-0.2.8.0-3iSQJVS3Sio885UUC852ojData.HashMap.BaseHashMap Data.FoldablenullGHC.PrimAddr#FoldableNoPairPair unJsonString utf8Builder