h*#q!S      1.4.7.0  Trustworthy !"#$%&'()*+Safe ,-./012345 Trustworthyl6hashableMix hash is inspired by how xxh3 works on small (<=16byte) inputs.76 Trustworthy ( 8hashableMutable XXH3 state.9hashableHash :;hashableHash <.=hashableHash (part of) >.?hashableHash ..@hashableHash /.AhashableCreate 8.BhashableReset 8 with a seed.ChashableReturn a hash value from a 8.Doesn't mutate given state, so you can update, digest and update again.DhashableUpdate 8 with <.EhashableUpdate 8 with (part of) >FhashableUpdate 8 with ..GhashableUpdate 8 with /.Hhashablesizehashable alignment 9;=?@8ABCDEFG  Trustworthy Ihashable-A default salt used in the implementation of hash.JhashableHash K2. First argument is a salt, second argument is an K'. The result is new salt / hash value.hashableCompute a hash value for the content of this pointer, using an initial salt.This function can for example be used to hash non-contiguous segments of memory as if they were one contiguous segment, by using the output of one hash as the salt for the next.hashable-Compute a hash value for the content of this L, using an initial salt.This function can for example be used to hash non-contiguous segments of memory as if they were one contiguous segment, by using the output of one hash as the salt for the next.hashablepointer to the data to hashhashablelength, in byteshashablesalthashable hash valuehashable data to hashhashableoffset, in byteshashablelength, in byteshashablesalthashable hash value7IJMN (c) Milan Straka 2010 (c) Johan Tibell 2011 (c) Bryan O'Sullivan 2011, 2012 BSD-3-Clausejohan.tibell@gmail.com provisionalportable Trustworthy 06=.hashable.A hashable value along with the result of the  function.hashable required that if two values are unequal according to the O method, then applying the   method on each of the two values must produce distinct integer results. However, the programmer should be aware that producing distinct integer results for unequal values may improve the performance of hashing-based data structures.This method can be used to compute different hash values for the same input by providing a different salt in each application of the method. This implies that any instance that defines   must0 make use of the salt in its implementation.  may return negative K values.hashableLike  8, but no salt is used. The default implementation uses   with some default salt. Instances might want to implement this method to provide a more efficient implementation than the default implementation.hashableGeneric  .hashableGeneric .hashable Lift the  ' function through the type constructor. -hashWithSalt1 = liftHashWithSalt hashWithSalthashable Lift the  ' function through the type constructor. ;hashWithSalt2 = liftHashWithSalt2 hashWithSalt hashWithSalthashable Lift the   function halfway through the type constructor. This function makes a suitable default implementation of #, given that the type constructor t in question can unify with f a.hashable-Since we support a generic implementation of   we cannot also provide a default implementation for that method for the non-generic instance use case. Instead we provide defaultHashWith.hashableDefault implementation of  based on  .hashableTransform a value into a  > value, then hash the transformed value using the given salt.This is a useful shorthand in cases where a type can easily be mapped to another type that is already an instance of   . Example: data Foo = Foo | Bar deriving (Enum) instance Hashable Foo where hashWithSalt = hashUsing fromEnumPhashableA value with bit pattern (01)* (or 5* in hexa), for any size of Int. It is used as data constructor distinguisher. GHC computes its value during compilation.hashable5Compute a hash value for the content of this pointer.hashable-Compute a hash value for the content of this L, beginning at the specified offset, using specified number of bytes.hashable#Wrap a hashable value, caching the  function result.hashableUnwrap hashed value.hashable has Q requirement.hashable cannot be Rhashable cannot be SThashableUhashableVhashableWhashableXhashableYhashableZhashable;This instance was available since 1.4.1.0 only for GHC-9.4+[hashableNote : Prior to hashable-1.3.0.06 the hash computation included the second argument of Arg" which wasn't consistent with its Q instance.\hashable]hashableNote : prior to hashable-1.3.0.0, hash 0.0 /= hash (-0.0)The  of NaN is not well defined.^hashableNote : prior to hashable-1.3.0.0, hash 0.0 /= hash (-0.0)The  of NaN is not well defined._hashable`hashableahashablebhashablechashabledhashable In general, hash (Compose x) D hash x . However,  hashWithSalt, satisfies its variant of this equivalence.ehashablefhashableghashable1Uses precomputed hash to detect inequality fasterhhashableihashablejhashablehashableTransformation function.hashableSalt.hashableValue to transform.hashablepointer to the data to hashhashablelength, in byteshashable hash valuehashable data to hashhashableoffset, in byteshashablelength, in byteshashable hash value     0(c) Milan Straka 2010 (c) Johan Tibell 2011 (c) Bryan O'Sullivan 2011, 2012 BSD-3-Clausejohan.tibell@gmail.com provisionalportableSafe} (c) Bryan O'Sullivan 2012 BSD-3-Clausebos@serpentine.com provisional GHC >= 7.4 Trustworthy)*  BSD-3-Clause provisional GHC >= 7.4Safe Y    (c) Milan Straka 2010 (c) Johan Tibell 2011 (c) Bryan O'Sullivan 2011, 2012 BSD-3-Clausejohan.tibell@gmail.com provisionalportableSafe7!/                       ! " # $ % & ' ( ) * +,-./0123456789:89;8<=8<>8?@8?A8?B8?C8?D8?EFGHI8JKLMNOP8QRSTUVWXYZ[\ ] ^_`a_bc d e_fg h_fi8jk8lm n o p q r s t u v w x y z { | } ~      'hashable-1.4.7.0-IGWJczRs20XJ818XiOFPjK Data.HashableData.Hashable.LiftedData.Hashable.GenerichashableData.Hashable.FFIData.Hashable.ImportsData.Hashable.MixData.Hashable.XXH3Data.Hashable.LowLevelData.Hashable.ClassData.Hashable.Generic.InstanceshashPtrWithSalthashByteArrayWithSaltHashed Hashable2liftHashWithSalt2 Hashable1liftHashWithSalt GHashable ghashWithSaltHashArgsOneZeroHashable hashWithSalthash HashArgs1 HashArgs0genericHashWithSaltgenericLiftHashWithSalt hashWithSalt1 hashWithSalt2defaultLiftHashWithSaltdefaultHashWithSalt defaultHash hashUsinghashPtr hashByteArrayhashedunhashed hashedHash mapHashedtraverseHashedunsafe_xxh3_64bit_withSeed_ptrunsafe_xxh3_64bit_withSeed_baunsafe_xxh3_64bit_withSeed_u64unsafe_xxh3_64bit_withSeed_u32unsafe_xxh3_sizeof_stateunsafe_xxh3_initState unsafe_xxh3_64bit_reset_withSeedunsafe_xxh3_64bit_digestunsafe_xxh3_64bit_update_ptrunsafe_xxh3_64bit_update_baunsafe_xxh3_64bit_update_u64unsafe_xxh3_64bit_update_u32baseGHC.IntInt64Int32GHC.WordWord64Word32GHC.BitsxorshiftRshiftL unsafeShiftL unsafeShiftR.&.mixHashSalt XXH3_Statexxh3_64bit_withSeed_ptrGHC.PtrPtrxxh3_64bit_withSeed_bsbytestring-0.11.5.2Data.ByteString.Internal.Type ByteStringxxh3_64bit_withSeed_baData.Array.Byte ByteArrayxxh3_64bit_withSeed_w64xxh3_64bit_withSeed_w32xxh3_64bit_createStatexxh3_64bit_reset_withSeedxxh3_64bit_digestxxh3_64bit_update_bsxxh3_64bit_update_baxxh3_64bit_update_w64xxh3_64bit_update_w32newAlignedPinnedByteArray defaultSalthashIntghc-prim GHC.TypesIntGHC.Prim ByteArray# hashInt64 hashWord64 GHC.Classes== distinguisherEqGHC.BaseFunctorData.Traversable Traversable$fHashableTree $fHashableSeq$fHashableIntSet $fHashableSet$fHashableIntMap $fHashableMap$fHashableByteArray $fHashableArg$fHashableFingerprint$fHashableDouble$fHashableFloat$fHashable1Tree$fHashable1Seq$fHashable1Set$fHashable1IntMap$fHashable1Map$fHashableCompose$fHashable1NonEmpty$fHashable2Map $fEqHashed$fHashableOsString$fHashableWindowsString$fHashablePosixString