!eGC      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~                                  ! " # $ % &'()*+,-./0123456789:;<=>?@ABNone avro&Dynamically enforced monomorphic type. avro%Dynamically enforced monomorphic type avroGSet of union options, schema for selected option, and the actual value.avroMAn enum is a set of the possible symbols (the schema) and the selected symbol        None "#$%;=>?NB^ #avrolAvro types are considered either primitive (string, int, etc) or complex/declared (structures, unions etc).@avroAn Avro schema is either * A "JSON object in the form `{"type":"typeName" ...` * A "JSON string, naming a defined type" (basic type wo free variables.names) * A "JSON array, representing a union"N.B. It is possible to create a Haskell value (of Schema type) that is not a valid Avro schema by violating one of the above or one of the conditions called out in G.Aavro'mkEnum name aliases namespace docs syms Constructs an C schema using the enumeration type's name, aliases (if any), namespace, documentation, and list of symbols that inhabit the enumeration.BavromkUnion subTypes Defines a union of the provided subTypes. N.B. it is invalid Avro to include another union or to have more than one of the same type as a direct member of the union. No check is done for this condition!CavrogGet the name of the type. In the case of unions, get the name of the first value in the union schema.DavroField defaults are in the normal Avro JSON format except for unions. Default values for unions are specified as JSON encodings of the first type in the union.DavroParse JSON-encoded avro data.EavroParses a string literal into a bytestring in the format expected for bytes and fixed values. Will fail if every character does not have a codepoint between 0 and 255.FavroTurn a  ByteString into a E that matches the format Avro expects from bytes and fixed literals in JSON. Each byte is mapped to a single Unicode codepoint between 0 and 255.GavroPlaceholder NO-OP function!Validates a schema to ensure:All types are defined+Unions do not directly contain other unionsUnions are not ambiguous (may not contain more than one schema with the same type except for named types of record, fixed and enum)UDefault values for unions can be cast as the type indicated by the first structure.2Default values can be cast/de-serialize correctly.Named types are resolvableHavrobuildTypeEnvironment schema builds a function mapping type names to the types declared in the traversed schema. Notice this function does not currently handle namespaces in a correct manner, possibly allowing for bad environment lookups when used on complex schemas.IavroIChecks that two schemas match. This is like equality of schemas, except  NamedTypes match against other types with the same name.|This extends recursively: two records match if they have the same name, the same number of fields and the fields all match.DavroHow to handle unions. The way unions are formatted in JSON depends on whether we're parsing a normal Avro object or we're parsing a default declaration in a schema.'This function will only ever be passed 1 schemas. It shouldE error out if this is not the case it represents a bug in this code.9 !"#,+$-&)(021%'*/.?5346789:;<=>@ABCDEFGHI9@#,+$-&)(021%'*/.?5346789:;<=> !"ABGCHIEFDNone$JFavrocExtracts all the records from the schema (flattens the schema) Named types get resolved when needed to include at least one "inlined" schema in each record and to make each record self-contained. Note: Namespaces are not really supported in this version. All the namespaces (including inlined into full names) will be ignored during names resolution.FGHNone+;=VJopqropqrNone+;=VJNoneNNpavrodeconflict writer reader valy will convert a value that was encoded/decoded with the writer's schema into the form specified by the reader's schema.avro Writer schemaavro Reader schemaSafeFTNSafeONone "#;=NV^SavroDecode bytes into a Value as described by Schema.Iavro1Get a 32-bit int (zigzag encoded, max of 5 bytes)Javro2Get a 64 bit int (zigzag encoded, max of 10 bytes)KavroGGet an zigzag encoded integral value consuming bytes till the msb is 0. SafeFTT  SafeVTi None "#;=FTVY-avrobEncode chunks of objects into a container, using 16 random bytes for the synchronization markers.avroiEncode chunks of objects into a container, using the provided ByteString as the synchronization markers.avro+Maybe is modeled as a sum type `{null, a}`. None+;=V^Y      None+;=V^kavro<Decode a lazy bytestring using a Schema for the return type.avro/Decode a lazy bytestring with a provided schemaavrogDecode a container and de-conflict the writer schema with a reader schema for a return type. Like in % exceptions are thrown instead of a Q type to allow this function to be read lazy (to be done in some later version).avrovDecode a container and de-conflict the writer schema with a given reader-schema. Exceptions are thrown instead of a Q type to allow this function to be read lazy (to be done in some later version). avro$Encodes a value to a lazy ByteString!avrobEncode chunks of objects into a container, using 16 random bytes for the synchronization markers."avrohEncode chunks of objects into a container, using the provided ByteString as the synchronization markers#avroLike b but returns the avro-encoded bytes for each object in the container instead of the Haskell type.This is particularly useful when slicing up containers into one or more smaller files. By extracting the original bytestring it is possible to avoid re-encoding data.opq    !"#$% op $% # !"qNoneVuH'avro Convert a Lb into a type that has an Avro schema. The schema is used to validate the JSON and will return an K if the JSON object is not encoded correctly or does not match the schema.(avroParse a MD as JSON and convert it to a type with an Avro schema. Will return X if the input is not valid JSON or the JSON does not convert with the specified schema.)avro@Convert an object with an Avro schema to JSON using that schema.We always need the schema to encodeN to JSON because representing unions requires using the names of named types.&'()&'()None "#%6]4*avro\Derives Avro from a given schema file. Generates data types, FromAvro and ToAvro instances.,avro1How to build field names for generated data types-avro7Determines field representation of generated data types.avro{Describes the representation of a field for a derived data type. The field will be derived as if it were written with an {- UNPACK -} pragma.1avrovDescribes the strictness of a field for a derived data type. The field will be derived as if it were written with a !.4avroDefault deriving options defaultDeriveOptions = * { fieldNameBuilder = 5 , fieldStrictness = 6 } 5avro;Generates a field name that is prefixed with the type name.(For example, if the schema defines type Person that has a field  firstName/, then the generated Haskell type will be like #Person { personFirstName :: Text } 6avro:Marks any field as non-strict in the generated data types.7avroMake a field strict and unpacked if it has a primitive representation. Primitive types are types which GHC has either a static or an unlifted representation: `()`, %, N, O, P, Q.8avrouGenerates a field name that matches the field name in schema (sanitised for Haskell, so first letter is lower cased)(For example, if the schema defines type Person that has a field  firstName/, then the generated Haskell type will be like Person { firstName :: Text } You may want to enable R if you want to use this method.9avroGenerates Haskell classes and  and & instances given the Avro schema file:avroGenerates Haskell classes and  and ! instances given the Avro schema;avroVDerives "read only" Avro from a given schema file. Generates data types and FromAvro.<avroSame as 9 but uses 4 %deriveAvro' = deriveAvroWithOptions' 4 =avroSame as : but uses 4 deriveAvro' = : 4 >avroVDerives "read only" Avro from a given schema file. Generates data types and FromAvro.?avroGenerates the value of type @! that it can later be used with = or :. EmySchema :: Schema mySchema = $(makeSchema "schemas/my-schema.avsc") SavroA hack around TemplateHaskell limitation: It is currently not possible to splice variable name in QQ. This function allows to replace hardcoded name into the specified one.Tavro base name avrocount *+,-./0123456789:;<=>?*+,-123./045867?9:;<=>Safe"UVWXYZ[\] !"#$%&'()**+,-./012345 6789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~                                      ! " # $ %&'()**+,-./0123456789:;<=>?@ABC DEFGHIJKLMNOPQRBSTBSUVWVWXYZ[\]^_`abcde#avro-0.3.3.1-KS9xIBNy0JqHUU0t6s5PHrData.Avro.TypesData.Avro.SchemaData.Avro.HasAvroSchemaData.Avro.ToAvroData.Avro.Deconflict Data.Avro.ZagData.Avro.DecodeRawData.Avro.Decode Data.Avro.ZigData.Avro.EncodeRawData.Avro.EncodeData.Avro.FromAvro Data.AvroData.Avro.JSONData.Avro.DerivingData.Avro.Deriving.NormSchema Paths_avroValueNullBooleanIntLongFloatDoubleBytesStringArrayMapRecordUnionFixedEnum $fEqValue $fShowValueResultSuccessErrorOrder Ascending DescendingIgnoreFieldfldName fldAliasesfldDocfldOrderfldType fldDefaultTypeNameTNunTNType NamedTypeitemvaluesname namespacealiasesdocorderfieldssymbols symbolLookupoptions unionLookupsizeSchemamkEnummkUniontypeName parseAvroJSON parseBytesserializeBytesvalidateSchemabuildTypeEnvironmentmatches$fFromJSONTypeName$fToJSONTypeName$fHashableTypeName$fIsStringTypeName$fMonoidTypeName$fSemigroupTypeName$fShowTypeName$fFromJSONOrder $fToJSONOrder $fToJSONValue $fToJSONField $fToJSONType$fFromJSONType$fEqType$fTraversableResult$fFoldableResult$fMonoidResult$fSemigroupResult$fMonadPlusResult$fAlternativeResult$fApplicativeResult$fMonadError[]Result$fMonadFailResult$fFunctorResult $fMonadResult$fFromJSONField $fEqTypeName $fOrdTypeName $fEqOrder $fOrdOrder $fShowOrder $fShowType $fEqField $fShowField $fEqResult $fOrdResult $fShowResult HasAvroSchemaschemaschemaOfwrapTag$fHasAvroSchemaSet$fHasAvroSchemaVector$fHasAvroSchemaVector0$fHasAvroSchemaArray$fHasAvroSchema[]$fHasAvroSchemaMaybe$fHasAvroSchemaHashMap$fHasAvroSchemaMap$fHasAvroSchemaHashMap0$fHasAvroSchemaMap0$fHasAvroSchemaHashMap1$fHasAvroSchemaMap1$fHasAvroSchemaEither$fHasAvroSchemaByteString$fHasAvroSchemaByteString0$fHasAvroSchemaText$fHasAvroSchemaText0$fHasAvroSchemaFloat$fHasAvroSchemaDouble$fHasAvroSchemaInt64$fHasAvroSchemaInt32$fHasAvroSchemaInt16$fHasAvroSchemaInt8$fHasAvroSchemaInt$fHasAvroSchema()$fHasAvroSchemaBool$fHasAvroSchemaWord64$fHasAvroSchemaWord32$fHasAvroSchemaWord16$fHasAvroSchemaWord8ToAvrotoAvro.= $fToAvro[] $fToAvroMaybe$fToAvroHashMap $fToAvroMap$fToAvroHashMap0 $fToAvroMap0$fToAvroHashMap1 $fToAvroMap1$fToAvroEither$fToAvroByteString$fToAvroByteString0 $fToAvroText $fToAvroText0 $fToAvroFloat$fToAvroDouble $fToAvroInt64 $fToAvroInt32 $fToAvroInt $fToAvro() $fToAvroBool deconflictZagZaggedzag $fZagWord $fZagWord64 $fZagWord32 $fZagWord16 $fZagWord8 DecodeRaw decodeRaw$fDecodeRawInt64$fDecodeRawInt32$fDecodeRawInt16$fDecodeRawInt8$fDecodeRawInt$fDecodeRawWord64$fDecodeRawWord32$fDecodeRawWord16$fDecodeRawWord8$fDecodeRawWordGetAvrogetAvro decodeAvrodecodeContainerdecodeContainerWith getAvroOf $fGetAvroSet$fGetAvroVector$fGetAvroArray$fGetAvroMaybe $fGetAvro[] $fGetAvro[]0$fGetAvroDouble$fGetAvroFloat $fGetAvroText$fGetAvroByteString$fGetAvroByteString0$fGetAvroInt64$fGetAvroInt32 $fGetAvroBool $fGetAvroMap$fGetAvroContainerHeaderZigZiggedzig$fZigInt $fZigInt64 $fZigInt32 $fZigInt16 $fZigInt8 EncodeRaw encodeRaw$fEncodeRawInt64$fEncodeRawInt32$fEncodeRawInt16$fEncodeRawInt8$fEncodeRawInt$fEncodeRawWord64$fEncodeRawWord32$fEncodeRawWord16$fEncodeRawWord8$fEncodeRawWord EncodeAvroavro encodeAvroencodeContainerencodeContainerWithSyncputAvro getSchema$fEncodeAvroValue$fEncodeAvroBool$fEncodeAvro()$fEncodeAvroMaybe$fEncodeAvroHashMap$fEncodeAvroSet$fEncodeAvroVector$fEncodeAvroVector0$fEncodeAvroArray$fEncodeAvro[]$fEncodeAvroFloat$fEncodeAvroDouble$fEncodeAvro[]0$fEncodeAvroByteString$fEncodeAvroByteString0$fEncodeAvroText$fEncodeAvroText0$fEncodeAvroWord64$fEncodeAvroWord32$fEncodeAvroWord16$fEncodeAvroWord8$fEncodeAvroInt64$fEncodeAvroInt32$fEncodeAvroInt16$fEncodeAvroInt8$fEncodeAvroIntFromAvrofromAvro.:badValue$fFromAvroHashMap $fFromAvroMap$fFromAvroText$fFromAvroText0 $fFromAvro[]$fFromAvroMaybe$fFromAvroFloat$fFromAvroDouble$fFromAvroInt64$fFromAvroInt32 $fFromAvroInt$fFromAvroByteString$fFromAvroByteString0$fFromAvroBool$fFromAvroEitherAvrodecodedecodeWithSchemadecodeContainerWithSchemaencodedecodeContainerBytesrecordfixeddecodeAvroJSONfromJSON parseJSONtoJSON DeriveOptionsfieldNameBuilderfieldRepresentationFieldUnpackedness UnpackedFieldNonUnpackedFieldFieldStrictness StrictField LazyFielddefaultDeriveOptionsmkPrefixedFieldName mkLazyFieldmkStrictPrimitiveFieldmkAsIsFieldNamederiveAvroWithOptionsderiveAvroWithOptions'deriveFromAvroWithOptions deriveAvro deriveAvro'deriveFromAvro makeSchema$fGenericFieldStrictness$fGenericFieldUnpackedness$fGenericDeriveOptionsbaseGHC.EnumparseFieldDefault text-1.2.3.0Data.Text.InternalTextextractDerivablesgetTypes normSchemagetIntgetLong getZigZag$aeson-1.4.0.0-LIOMjdhUbDoEPhbHMMZ6tyData.Aeson.Types.Internalbytestring-0.10.8.2Data.ByteString.Lazy.Internal ByteStringGHC.IntInt32Int64ghc-prim GHC.Typesghc-boot-th-8.4.3GHC.LanguageExtensions.TypeDuplicateRecordFieldssetNamenewNamesversion getBinDir getLibDir getDynLibDir getDataDir getLibexecDir getSysconfDirgetDataFileName