úÎ#²?     3portable (should run where the package binary runs) experimentalkolmodin@gmail.com Safe-Inferred Put a 1 bit . Put the n lower bits of a . Put the n lower bits of a . Put the n lower bits of a  . Put the n lower bits of a !. Put a ". Run a # inside .. Any partially written bytes will be flushed  before #$ executes to ensure byte alignment. Run the  monad inside #. $%&'()*+,  $%&'()*+,3portable (should run where the package binary runs) experimentalkolmodin@gmail.comNone  , is a monad, applicative and a functor. See    for how to run it. IA block that will be read with only one boundry check. Needs to know the  number of bits in advance. =Get a block. Will be read with one single boundry check, and 7 therefore requires a statically known number of bits.  Build blocks using , , , , ,   and -. .make_mask 3 = 00000111 Run a   within the Binary packages / monad. If a byte has 3 been partially consumed it will be discarded once   is finished. 0Make sure there are at least n bits. Get 1 bit as a . Get n bits as a . n must be within [0..8]. Get n bits as a . n must be within [0..16]. Get n bits as a  . n must be within [0..32]. Get n bits as a !. n must be within [0..64]. Get n bytes as a ".  Read a 1 bit . Read n bits as a . n must be within [0..8]. Read n bits as a . n must be within [0..16]. Read n bits as a  . n must be within [0..32]. Read n bits as a !. n must be within [0..64]. Read n bytes as a ". 4 12 345 6.789:;<=>?@ ABCD0 EFGHIJKLMNOPQ   0 12 345 6.789:;<=>?@ ABCD0 EFGHIJKLMNOPQ3portable (should run where the package binary runs) experimentalkolmodin@gmail.comNoneRSTUVRSTUVW      !"#$%&$%'$%($%)*+,-./00112345$678-9:;<=00>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_binary-bits-0.3Data.Binary.Bits.PutData.Binary.Bits.GetData.Binary.BitsBitPutputBoolputWord8 putWord16be putWord32be putWord64be putByteStringjoinPut runBitPutBitGetBlockblock runBitGetgetBoolgetWord8 getWord16be getWord32be getWord64be getByteStringgetLazyByteStringboolword8word16beword32beword64be byteString BinaryBitputBitsgetBitsghc-prim GHC.TypesBoolbaseGHC.WordWord8Word16Word32Word64bytestring-0.10.0.2Data.ByteString.Internal ByteStringbinary-0.7.0.1Data.Binary.PutPutSPairSrunflushflushIncomplete $fMonadBitPutControl.Applicative Applicative make_maskData.Binary.Get.InternalGet ensureBitsBrunStateincS bit_offset byte_offsetreadBool readWord8 readWord16be readWord32be readWord64bereadByteStringreadWithoutOffsetreadWithOffset mkInitState putBackStategetStateputState shiftl_w8 shiftl_w16 shiftl_w32 shiftr_w8 shiftr_w16 shiftr_w32 shiftl_w64 shiftr_w64$fApplicativeBitGet$fFunctorBitGet $fMonadBitGet$fApplicativeBlock$fFunctorBlock$fBinaryBitWord64$fBinaryBitWord32$fBinaryBitWord16$fBinaryBitWord8$fBinaryBitBool