IF)      !"#$%&'((c) Jost Berthold, 2010-2015,BSD3jost.berthold@gmail.com experimentalno (depends on GHC internals)None+; Packing exception codes, matching error codes implemented in the runtime system or describing errors which can occur within Haskell.,Haskell: Packet data encodes unexpected type)Haskell: Executable binaries do not match(Haskell: Packet data could not be parsed'RTS: corrupted data for deserialisation7RTS: impossible case (stack frame, message,...RTS bug!)?RTS: contains unsupported closure type (implementation missing)9RTS: contains closure which cannot be packed (MVar, TVar)RTS: buffer too small DRTS: packing hit a blackhole. Used internally, not passed to users. =no error, ==0. Internal code, should never be seen by users.  decodes an ) to a &. Magic constants are read from file cbits/Errors.h. -internal: checks if the given code indicates   *+     *+(c) Jost Berthold, 2010-2015,BSD3'Jost Berthold <jost.berthold@gmail.com> experimentalno (depends on GHC internals)None;M NThe target word size is the size of a machine word on the platform we run on.XThis type is only used in Binary, Read and Show instances, where packets are stored as UArrays of  .nActually, GHC uses machine word size (as Haskell 2010 spec. does not fix it) so we could just use Word. See khttp://www.haskell.org/ghc/docs/7.8.3/html/users_guide/bugs-and-infelicities.html#haskell-98-2010-undefined[The module uses a custom GHC fingerprint type with its two Word64 fields, to be able to read fingerprints*The type of Serialized data. Phantom type a3 ensures that we unpack data as the expected type.>Helper to show a serialized structure as a packet (Word Array)1Packet Parser, reads the format generated by the Read instance. Could also consume other formats of the array (not implemented). Returns: (data size in words, type fingerprint, array values)Mchecks whether the type of the given expression matches the given Fingerprint creates an  from a GHC  Fingerprint-returns the type fingerprint of an expressionTo check that the program (executable) is identical when packing and unpacking, the fingerprint type from above is used (Read/Show instances required). An y fingerprint of the executable is computed once, by unsafePerformIO inside this CAF (safe to inline, just inefficient). [Binary instance for fingerprint data (encoding TypeRep and executable in binary-encoded  Serialized a)!The binary format of  a data includes FingerPrint hash values for type and executable binary, which are checked when reading Serialized data back in using get.""Reads the format generated by the ,{ instance, checks hash values for executable and type and parses exactly as much as the included data size announces.#*prints packet as Word array in 4 columns (Wordt meaning the machine word size), and additionally includes Fingerprint hash values for executable binary and type.  !"# #"!    !"#(c) Jost Berthold, 2010-2015,BSD3jost.berthold@gmail.com experimentalno (depends on GHC internals)None ;-gserialisation primitive, implemented in C. Returns: a status/error code and size used inside the array$Serialises its argument (in current evaluation state, as a thunk). May block if the argument captures (blackhole'd) data under evaluation, may throw Es to signal errors. This version uses a default buffer of 10MB (see %+ for a version with flexible buffer size)..(default buffer size used by trySerialize%Extended serialisation interface: Allocates a buffer of given size (in bytes), serialises data into it, then truncates the buffer to the required size before returning it (as  a)/Score routine. Packs x into mutable byte array buf, returns size of packed x in buf0Acalls primitive, decodes/throws errors + wraps Int# size into Int&$Deserialisation function. May throw   1-$.%/02&3$%&$%& 1-$.%/02&3(c) Jost Berthold, 2010-2015,BSD3jost.berthold@gmail.com experimentalno (depends on GHC internals)NoneM';Write serialised binary data directly to a file. May throw s.(=Directly read binary serialised data from a file. May throw Ks (catches I/O and Binary exceptions from decoding the file and re-throws )'( $%&'($%& '('(4      !"#$%&'()*+,-./0123456789:; packman-0.3.0GHC.Packing.PackExceptionGHC.Packing.TypeGHC.Packing.Core GHC.Packing PackExceptionP_TypeMismatchP_BinaryMismatch P_ParseError P_GARBLED P_IMPOSSIBLE P_UNSUPPORTED P_CANNOTPACK P_NOBUFFER P_BLACKHOLE P_SUCCESSdecodeExisBHExc TargetWordFP Serialized packetData showWArrayparsePdigitcolontabSpacenewlinehexNummatchestypeRepFingerprinttoFPtypeFPprgHash hexWordFmt $fBinaryFP$fBinarySerialized$fReadSerialized$fShowSerialized trySerializetrySerializeWith deserialize encodeToFiledecodeFromFileghc-primGHC.PrimInt#$fExceptionPackException$fShowPackExceptionbaseGHC.ShowShowtryPack#defaultBufSizetrySerializeIntotryPackunpack# truncate'deser