anchor.diff:  
   -compile(export_all).
   
  +%-include_lib("lager/include/log.hrl").
  +-define(debug(Fmt, Args), ok).
  +-define(error(Fmt, Args), error_logger:format(Fmt, Args)).
  +
   -record(data, {
   	  id,
   	  chal,
  
positive.code: 
  -define(TIMEOUT, 10000).
  
  -define(dbg(Fmt,A), io:fwrite("~p-~p: " ++ Fmt,[?MODULE,?LINE|A])).
  
  authenticate(Socket, Role, Opts) ->
      try
  	?dbg("authenticate, client side~n", []),
  	%% St = init(ID, MyKey, TheirKey),
  	St = init(Opts),
  	if Role == client ->
  
negative.code: 	end
      catch
  	error:E ->
  	    ?error("~p: ERROR: ~p~n~p~n",
  		   [?MODULE, E, erlang:get_stacktrace()])
      end.
  %% authenticate(Socket, {server, ID, {M,F}}) ->
  %%     ?debug("authenticate, server side dynamic~n", []),
  %%     St = init(ID, undefined, {M,F}),
  %%     await_first_challenge(Socket, St);
  %% authenticate(Socket, {server, ID, MyKey, TheirKey}) ->
  %%     ?debug("authenticate, server side~n", []),
  %%     St = init(ID, MyKey, TheirKey),
  %%     await_first_challenge(Socket, St).
  
  