!urs      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJK L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~        !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrSafe=?-  None4P flatAn exception during decodingflatA decoded valueflat Decoder stateflat Decoder monad  Safe+flat5Convert a 64 bit value in cpu endianess to big endian,flat5Convert a 32 bit value in cpu endianess to big endian-flat5Convert a 16 bit value in cpu endianess to big endian.flatFix issue with ghcjs@ (different order of 32 bit halves of 64 values with respect to ghc)*+,-.,+-*.NoneFHV0flat5Copy bytestring to given pointer, returns new pointersflatWrapper around copyByteArrayToAddr#, primop. Copied from the store-core packagetflatWrapper around copyAddrToByteArray# primop./01232310/None=? 4flat<A wrapper to encode/decode Text as UTF16 (faster but bigger)6flatAA wrapper to encode/decode Text as UTF8 (slower but more compact)8flatNumber of bitsuvwxyz{|}~4567886745None#%?flatA basic encoder@flatStrict encoder stateEflat7Calculate the size (in bits) of the encoding of a value8?@ADBCEE8?@ADBC Trustworthy>X&GflatReinterpret-casts a  to a }.HflatReinterpret-casts a  to a ~.doubleToWord (-0.15625)13818169556679524352IflatReinterpret-casts a } to a .JflatReinterpret-casts a ~ to a .GHIJGIHJ NoneX@KflatA special state, optimised for constructor decoding, consists of: The bits to parse, top bit being the first to parse (could use a Word16 instead, no difference in performance) The number of decoded bits Supports up to 512 constructors (9 bits)Mflat"Switch to constructor decoding {- INLINE consOpen -}Nflat"Switch back to normal decoding {- NOINLINE consClose -}OflatDecode a single bitPflatDecode from 1 to 3 bits This could read more bits that are available, but it doesn't matter, errors will be checked in consCloseflat5Ensure that the specified number of bits is availableQflat!Drop the specified number of bitsRflatDecode a booleanSflat7Return the n most significant bits (up to maximum of 8)oThe bits are returned right shifted: >>> unflatWith (dBEBits8 3) [0b11100001::Word8] == Right 0b00000111 TrueTflat^Return the n most significant bits (up to maximum of 16) The bits are returned right shifted.Uflat]Return the n most significant bits (up to maximum of 8) The bits are returned right shifted.Vflat]Return the n most significant bits (up to maximum of 8) The bits are returned right shifted.Wflat1Return the 8 most significant bits (same as dBE8)Xflat"Return the 8 most significant bitsYflat#Return the 16 most significant bitsZflat#Return the 32 most significant bits[flat#Return the 64 most significant bits\flatDecode a Float]flatDecode a Double^flatDecode a Lazy ByteString_flatDecode a ByteString`flat!Decode a ByteArray and its lengthaflatDecode an Array (a list of chunks up to 255 bytes long) returning the pointer to the first data byte and a list of chunk sizesKLMNOPQRSTUVWXYZ[\]^_`aRWXYZ[STUVQ\]a_^`KLMNOP SafeAbcdefghibcefghid NoneFPX`C9flatEncode up to 9 bitsflatEncode up to 8 bits. jklmnopqrstuvwxyz{|}~ jknvutsprqo}|{x~wmlyz NoneD NoneXFflatStrict encoderflatEncode as a ListflatEncode as Array99NoneH<8E<8ENoneJWWNoneK, KLMNOPQRSTUVWXYZ[\], \]RWXYZ[STUVQKLMNOP Trustworthy.8=>?@AHUVXUflat Calculate number of constructorsflatCalculate the number of bits required for the serialisation of a value Implemented as a function that adds the maximum size to a running totalflat*Class of types that can be encoded/decodedflatDCalculate the maximum size in bits of the serialisation of the valueflat]Data types with up to 512 constructors Uses a custom constructor decoding state instance {- OVERLAPPABLE I-} (GDecodeSum (a :+: b),GDecode a, GDecode b) => GDecode (a :+: b) wherehNone=>?SX\qflat&Calculate size of an instance of IsMapflat&Encode an instance of IsMap, as a listflat&Decode an instance of IsMap, as a listflat+Calculate size of an instance of IsSequenceflat-Encode an instance of IsSequence, as an array flat-Decode an instance of IsSequence, as an array  None79Xc)Dflat1A Pre aligned value, a value preceded by a fillerHflat2A Post aligned value, a value followed by a fillerLflatA meaningless sequence of 0 bits terminated with a 1 bit (easier to implement than the reverse) Useful to align an encoded value at byte/word boundaries.OflatLength of a filler in bitsPflatPost align a valueQflatPre align a valueSflat%Use a special encoding for the fillerDEFGHIJKLMNOPQRLMNODEFGQHIJKPRNone=>?@AgeflatEncode padded value.fflatDecode padded value.gflat9Decode padded value, using the provided unpadded decoder.hflatDecode unpadded value.iflat-Unflat unpadded value, using provided decoderjflatEncode unpadded valueefghijejfghiNone=?SXokflatA sequence of bitsnflatlThe sequence of bits corresponding to the serialization of the passed value (without any final byte padding)oflatWThe sequence of bits corresponding to the byte-padded serialization of the passed valuepflatFasBits (5::Word8) | > [False,False,False,False,False,True,False,True]qflat=Convert a sequence of bits to the corresponding list of bytesflat?Convert to the corresponding value (most significant bit first)flat,Split a list in groups of 8 elements or lessklmnopqklmnoqpNonep= 4567 DEFGHIJKLMNOPQRefghij6745  !"#$%&'()*+,-.//001233456789:;<=>?@ABCDEFGHIJKLMNOPQQRRSTUVWXYZ00[\2]@^_`a b b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~          !"#$%&'()*+,-./0123456789:;<=>?@ABCCDEFFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvuwuxuyrsz{|{}{~{{{{rsrs 0!flat-0.3.4-60ohbHvl7Mp5BT7ULdeWGkData.Flat.EncoderData.Flat.TypesData.Flat.MemoryData.ByteString.ConvertData.Flat.Decoder.TypesData.Flat.EndianData.Flat.Encoder.TypesData.FloatCastData.Flat.Decoder.Prim Data.ZigZagData.Flat.Encoder.PrimData.Flat.Encoder.SizeData.Flat.Encoder.StrictData.Flat.Decoder.StrictData.Flat.ClassData.Flat.InstancesData.Flat.Filler Data.Flat.RunData.Flat.BitsData.Flat.Decoder Data.FlatbaseGHC.Base<>mempty GHC.NaturalNaturalGHC.PtrminusPtrbytestring-0.10.8.2Data.ByteString.Short.InternalShortByteString(primitive-0.6.4.0-1mvPxVOk6Q6KOkWCZxqESfData.Primitive.ByteArray ByteArray text-1.2.3.1Data.Text.InternalText AsByteString toByteStringfromByteString$fAsByteString[]$fAsByteStringByteString$fAsByteStringByteString0DecodeExceptionDecoded GetResultScurrPtrusedBitsGetrunGet strictDecoderstrictDecoderPartnotEnoughSpace tooMuchSpace badEncoding $fMonadGet$fApplicativeGet $fShowGet $fNFDataGet $fFunctorGet$fExceptionDecodeException$fShowS$fEqS$fOrdS$fFunctorGetResult$fShowDecodeException$fEqDecodeException$fOrdDecodeException isBigEndiantoBE64toBE32toBE16fix64unsafeCreateUptoN'pokeByteString pokeByteArraychunksToByteStringchunksToByteArray UTF16TextUTF8TextNumBits $fEqUTF8Text $fOrdUTF8Text$fShowUTF8Text $fEqUTF16Text$fOrdUTF16Text$fShowUTF16TextPrimnextPtrcurrByteSize floatToWord doubleToWord wordToFloat wordToDouble ConsStateconsOpen consCloseconsBoolconsBitsdropBitsdBooldBEBits8 dBEBits16 dBEBits32 dBEBits64dWord8dBE8dBE16dBE32dBE64dFloatdDoubledLazyByteString_ dByteString_ dByteArray_ getChunksInfozzEncodezzEncodeIntegerzzDecode zzDecode8 zzDecode16 zzDecode32 zzDecode64zzDecodeIntegereFloatFeDoubleF eWord64BEF eWord32BEFeCharFeWordFeIntFeInt8FeInt16FeInt32FeInt64F eIntegerF eNaturalFw7leWord8FeWord32EeWord64EeWord16FeWord32FeWord64FvarWordFeUTF8FeUTF16F eLazyBytesF eShortBytesFeBytesFeBits16FeBitsFeBoolFeTrueFeFalseFeFillerF sFillerMaxsBoolsWord8sInt8sFloatsDoublesCharsCharMaxsWordsIntsInt16sInt32sInt64sWord16sWord32sWord64sIntegersNatural sIntegralsUTF8MaxsUTF16sBytes sLazyBytes sShortBytes textBytes bitsToBytesnumBlks arrayBits arrayChunksblobBits blkBitsBSblksBitsEncodingrun strictEncoder encodersSencodeListWithencodeArrayWitheChareUTF16eUTF8eBytes eLazyBytes eShortByteseNaturaleFloateDoubleeIntegereInt64eInt32eInt16eInt8eInteWord64eWord32eWord16eWord8eWordeBits16eBitseFillereBooleTrueeFalsevsizecsize$fMonoidEncoding$fSemigroupEncoding$fShowEncodingdecodeListWithdecodeArrayWithdNaturaldIntegerdWorddIntdInt8dInt16dInt32dInt64dWord16dWord32dWord64dChardUTF16dUTF8dLazyByteStringdShortByteStringdShortByteString_ dByteStringFlatencodedecodesizegetSize $fGEncode:*: $fGEncodeU1 $fGEncodeV1 $fGEncodeM1 $fGEncodeM10$fGEncodeSumM1$fGEncodeSum:+: $fGDecode:+: $fGDecode:*: $fGDecodeU1 $fGDecodeV1 $fGDecodeM1$fGDecodeSumM1$fGDecodeSum:+:$fGDecodeSum:+:0$fGDecodeSum:+:1 $fGSize:*: $fGSizeU1 $fGSizeV1 $fGSizeM1 $fGSizeK1 $fGDecodeK1 $fGEncodeK1 $fGSizeSumM1 $fGSizeSum:+: $fGSize:+: $fGDecode:+:0 $fGEncode:+:sizeMap encodeMap decodeMap sizeSequenceencodeSequencedecodeSequence $fFlatSeq $fFlatMap $fFlatChar $fFlatDouble $fFlatFloat $fFlatNatural $fFlatInteger $fFlatInt $fFlatInt64 $fFlatInt32 $fFlatInt16 $fFlatInt8 $fFlatWord $fFlatWord64 $fFlatWord32 $fFlatWord16 $fFlatWord8$fFlatUTF16Text$fFlatUTF8Text $fFlatText$fFlatShortByteString$fFlatByteString$fFlatByteString0$fFlat[] $fFlat[]0$fFlat(,,,,,,) $fFlat(,,,,,) $fFlat(,,,,) $fFlat(,,,) $fFlat(,,) $fFlat(,) $fFlatEither $fFlatMaybe $fFlatBool$fFlat() PreAligned preFillerpreValue PostAligned postValue postFillerFiller FillerBit FillerEnd fillerLength postAligned preAlignedpostAlignedDecoder $fFlatFiller $fShowFiller $fEqFiller $fOrdFiller$fGenericFiller$fNFDataFiller$fShowPostAligned$fEqPostAligned$fOrdPostAligned$fGenericPostAligned$fNFDataPostAligned$fFlatPostAligned$fShowPreAligned$fEqPreAligned$fOrdPreAligned$fGenericPreAligned$fNFDataPreAligned$fFlatPreAlignedflatunflat unflatWith unflatRaw unflatRawWithflatRawBitstoBools fromBoolsbits paddedBitsasBitsasBytes$fPrettyVectorcopyByteArrayToAddrcopyAddrToByteArrayghc-prim GHC.TypesIntGHC.IntInt8Int16Int32Int64WordGHC.WordWord8Word16Word32Word64 byteSwap64 byteSwap32 byteSwap16FloatDouble ensureBitsNumConstructorsGSize GHC.GenericsGenericRepfromtoGeneric1Rep1from1to1Datatype datatypeName moduleName packageName isNewtype ConstructorconName conFixity conIsRecordSelectorselNameselSourceUnpackednessselSourceStrictnessselDecidedStrictnessV1U1Par1unPar1Rec1unRec1K1unK1M1unM1:+:L1R1:*::.:Comp1unComp1RDCRec0D1C1S1URecUAddrUCharUDoubleUFloatUIntUWorduWord#uInt#uFloat#uDouble#uChar#uAddr#precFixityPrefixInfixFixityIPrefixIInfixI AssociativityLeftAssociativeRightAssociativeNotAssociativeSourceUnpackedness SourceUnpackSourceNoUnpackNoSourceUnpackednessSourceStrictness SourceLazy SourceStrictNoSourceStrictnessDecidedStrictness DecidedLazy DecidedStrict DecidedUnpackMetaMetaDataMetaConsMetaSelbyteValbytes