anchor.diff:  %% -------------------------------------------------------------------
   alloc_entry(Db, CacheDb, TM) ->
       CurSize = ets:info(CacheDb, size),
  -    case ets:lookup(Db, cache_size) of
  -	[{cache_size, Size}] when Size =< CurSize, Size > 0 ->
  +    case ets:lookup_element(Db, cache_size, 2) of
  +	Size when Size =< CurSize, Size > 0 ->
   	    alloc_entry(CacheDb, CurSize, TM, trunc(Size * 0.1) + 1);
  -	[{cache_size, Size}] when Size =< 0 ->
  +	Size when Size =< 0 ->
   	    false;
  -	_ ->
  +	_Size ->
   	    true
       end.
   
  
positive.code: do_del_host(Byname, Byaddr, IP) ->
      Fam = inet_family(IP),
      Key = {Fam, IP},
      case ets:lookup(Byaddr, Key) of
          [{_Key, Names}] ->
              %% Delete IP address from byname entries
              del_ip_bynms(
                Byname, Fam, IP,
                [tolower(Name) || Name <- Names]),
              %% Delete from byaddr table
              true = ets:delete(Byaddr, Key),
              ok;
          [] ->
              ok
      end.
  
  
negative.code: 	    {reply, ok, State};
  
  	{add_socks_methods, Ls} -> 
  	    As = ets:lookup_element(Db, socks5_methods, 2),
  	    As1 = lists_subtract(As, Ls),
  	    ets:insert(Db, {socks5_methods, As1 ++ Ls}),
  	    {reply, ok, State};
  	    
  	{del_socks_methods, Ls} ->
  	    As = ets:lookup_element(Db, socks5_methods, 2),
  	    As1 = lists_subtract(As, Ls),
  	    case lists:member(none, As1) of
  		false -> ets:insert(Db, {socks5_methods, As1 ++ [none]});
  