anchor.diff:  encode_binary(<<>>, A) ->
       A;
   encode_binary(<<B1:8>>, A) ->
  -    <<A/binary,(b64e(B1 bsr 2)):8,(b64e((B1 band 3) bsl 4)):8,$=:8,$=:8>>;
  +    <<A/bits,(b64e(B1 bsr 2)):8,(b64e((B1 band 3) bsl 4)):8,$=:8,$=:8>>;
   encode_binary(<<B1:8, B2:8>>, A) ->
  -    <<A/binary,(b64e(B1 bsr 2)):8,
  +    <<A/bits,(b64e(B1 bsr 2)):8,
         (b64e(((B1 band 3) bsl 4) bor (B2 bsr 4))):8,
         (b64e((B2 band 15) bsl 2)):8, $=:8>>;
   encode_binary(<<B1:8, B2:8, B3:8, Ls/bits>>, A) ->
       BB = (B1 bsl 16) bor (B2 bsl 8) bor B3,
       encode_binary(Ls,
  -                  <<A/binary,(b64e(BB bsr 18)):8,
  +                  <<A/bits,(b64e(BB bsr 18)):8,
                       (b64e((BB bsr 12) band 63)):8,
                       (b64e((BB bsr 6) band 63)):8,
                       (b64e(BB band 63)):8>>).
  
positive.code: encode_list([], A) ->
      A;
  encode_list([B1], A) ->
      <<A/binary,(b64e(B1 bsr 2)):8,(b64e((B1 band 3) bsl 4)):8,$=:8,$=:8>>;
  encode_list([B1,B2], A) ->
      <<A/binary,(b64e(B1 bsr 2)):8,
        (b64e(((B1 band 3) bsl 4) bor (B2 bsr 4))):8,
        (b64e((B2 band 15) bsl 2)):8, $=:8>>;
  encode_list([B1,B2,B3|Ls], A) ->
      BB = (B1 bsl 16) bor (B2 bsl 8) bor B3,
      encode_list(Ls,
                  <<A/binary,(b64e(BB bsr 18)):8,
                    (b64e((BB bsr 12) band 63)):8,
                    (b64e((BB bsr 6) band 63)):8,
                    (b64e(BB band 63)):8>>).
  
negative.code:         _ -> mime_decode_binary_after_eq(Cs, A, B1, B2, B3)
      end;
  mime_decode_binary_after_eq(<<>>, A, B1, B2, eq) ->
      <<A/bits,B1:6,(B2 bsr 4):2>>;
  mime_decode_binary_after_eq(<<>>, A, B1, B2, B3) ->
      <<A/bits,B1:6,B2:6,(B3 bsr 2):4>>.
  
  mime_decode_list_to_string([0 | Cs]) ->
      mime_decode_list_to_string(Cs);
  