anchor.diff:  			PWE, ScalarP, ElementP) of
   		{'EXIT', _Reason} ->
   			radius:response(RadiusFsm, {error, ignore}),
  -			{next_state, wait_for_commit, StateData, ?TIMEOUT};
  +			{next_state, commit, StateData, ?TIMEOUT};
   		Ks ->
   			Ciphersuite = <<GroupDesc:16, RandFunc, PRF>>,
   			Input = [Ks, ElementS, ScalarS, ElementP, ScalarP, Ciphersuite],
  
positive.code: 	ExpectedSize = size(<<ElementS/binary, ScalarS/binary>>),
  	case size(BodyData) of 
  		ExpectedSize ->
  			wait_for_commit2(RadiusFsm, AccessRequest, StateData);
  		_ ->
  			send_response(failure, EapID, <<>>, ?AccessReject,
  					RadiusID, [], RequestAuthenticator, Secret, RadiusFsm),
  			{stop, {shutdown, SessionID}, StateData}
  	end.
  %% @hidden
  wait_for_commit2(RadiusFsm, #radius{id = RadiusID,
  		authenticator = RequestAuthenticator} = AccessRequest,
  		#statedata{element_p = ElementP, scalar_p = ScalarP,
  		scalar_s = ScalarS, element_s = ElementS, secret = Secret,
  
negative.code: 					RadiusID, [], RequestAuthenticator, Secret, RadiusFsm),
  			{stop, {shutdown, SessionID}, StateData};
  		_ ->
  			commit3(RadiusFsm, AccessRequest, StateData)
  	end.
  %% @hidden
  commit3(RadiusFsm, #radius{id = RadiusID,
  		authenticator = RequestAuthenticator} = AccessRequest,
  		#statedata{scalar_p = ScalarP, secret = Secret,
  		eap_id = EapID, session_id = SessionID} = StateData)->
  	case ScalarP of
  		<<ScalarP_Valid:256>> when 1 < ScalarP_Valid, ScalarP_Valid < ?R ->
  			commit4(RadiusFsm, AccessRequest, StateData);
  		_ScalarP_Out_of_Range ->
  			send_response(failure, EapID, <<>>, ?AccessReject, RadiusID,
  					[], RequestAuthenticator, Secret, RadiusFsm),
  			{stop, {shutdown, SessionID}, StateData}
  	end.
  %% @hidden
  commit4(RadiusFsm, #radius{id = RadiusID,
  		authenticator = RequestAuthenticator} = _AccessRequest,
  		#statedata{eap_id = EapID, secret = Secret,
  		scalar_p = ScalarP, element_p = ElementP,
  