úÎ?;¡5      !"#$%&'()*+,-./01234+Class of JSON escapable text. The solidus (/) is always escaped, as are @ all ASCII control characters. Non-ASCII control characters @Escapes an individual character for embedding in a JSON string. )A monomorphic JSON datatype, backed with 5 , strict 6  and 6 7.        Interpret a 8 as any JSON literal. ESplit out the first parseable JSON literal from the input, returning K the result of the attempt along with the remainder of the input or the 6 whole input if not parseable item was discovered. !Tries to parse any JSON literal. "Parse a JSON object (dictionary). Parse a JSON array. 0Parses a string literal, unescaping as it goes. Parses a numeric literal to a Rational. Parse a JSON Boolean literal. Parse a JSON null literal. Per RFC 4627, section 2  JSON Grammar#, only a limited set of whitespace < characters actually count as insignificant whitespace. 3Parse a JSON string literal and unescape it but don't wrap it in a string : constructor (we might wrap it as a dict key instead).  Turn a lazy 8 in to a strict 6.   GStyle of serialization. Compact is the only one that is implemented at  present. Encode  as a lazy 8. All strings are treated as O UTF-8; ASCII control characters are escaped and UTF-8 multi-char sequences  are simply passed through. Encode  as a strict 6$. All strings are treated as UTF-8; L ASCII control characters are escaped and UTF-8 multi-char sequences are  simply passed through.  Escape a 61 representing a JSON string and wrap it in quote  marks. BA well-ordered semigroup has a minimal element and an associative M operation. These are used to provide measures for schema. At present, we M allow three measures: whether there is one or more of a schema (measured  with '()'C), whether there is one or more than one of an item (measured with  .) and positive counts of items (measured with 9).  !"#$%&KThe type of JSON schemas. We treat the atomic types simply whereas objects & and arrays are treated specially. KObjects are treated as maps of keys to sets of schema types. Say a certain O type of object sometimes has a string at a certain key and sometimes has a O null at that key; we should merge them and say the schema of that key is a  union of string and null. FArrays admit measure in the sense of how many elements there are of a M certain kind. We support three measures at present: any, one or more and % individual counts. We expect the any% measure to prevail practice. Arrays O are also ordered; so one can distinguish an array that interleaves strings = and ints from one that is all strings and then all ints. '()*+,-+Determine a schema for one JSON data item. ./IDevelop a schema for a list of JSON data, collating schemas according to , the measure, a well-ordered semigroup. 0KCollate a list of counted schemas. Alike counted schemas that are adjacent G are replaced by a counted schema with an incremented counter. This ) operation is mutually recursive with 1, in order to merge comaptible ) object definitions before collating. 1GMerge two property sets. This operation is mutually recursive with our  0' and relies on polymorphic recusion in 0. 2 !"#$%&'()*+,-./012&,+*)('-./0$%12"#! ! !"##$%%&,+*)(''()*+,-./01234Provide a formatted 8 for the displayable. :*Warning -- does not work on empty tries. 34;<=>?@A34344  !&-/34  &-/! 34B      !"#$%&'()**++,-. /0123456789:;<=>?@AB=C?:DEFGHIJKLMN json-b-0.0.3Text.JSON.Escape Text.JSONbText.JSONb.SimpleText.JSONb.DecodeText.JSONb.EncodeText.JSONb.SchemaText.JSONb.Schema.DisplayEscapeescapeescescapedJSONNullBooleanNumberStringArrayObjectdecodebreakjsonobjectarraystringnumberbooleannull whitespacestring_literal strictifyStyleCompactencodeencode' stringifyCounterbottomplusOneManyManyOneElementsPropsSchemaArrObjBoolStrNumschemapropsschemascollatemergematchDisplaybytesbaseGHC.RealRationalbytestring-0.9.1.7Data.ByteString.Internal ByteStringbytestring-trie-0.2.2Data.Trie.InternalTrieData.ByteString.Lazy.InternalGHC.WordWord $fDisplay()lenmust_be_multilinebrokentoo_longdentspacelongest_key_len