anchor.diff:  			throw(price_not_found)
   	end;
   rate2(Protocol, Service, Buckets, Timestamp, Address,
  -		Direction, #offer{specification = ProdSpec, price = Prices},
  +		Direction, #offer{specification = ProdSpec, price = Prices} = Offer,
   		Flag, DebitAmounts, ReserveAmounts, State)
   		when ProdSpec == "5"; ProdSpec == "9" ->
   	F = fun(#price{type = tariff, units = seconds}) ->
  
positive.code: 		State#state{rated = #rated{product = OfferName}}).
  %% @hidden
  rate2(Protocol, Service, Buckets, Timestamp, Address,
  		Direction, #offer{specification = ProdSpec, price = Prices},
  		Flag, DebitAmounts, ReserveAmounts, State)
  		when ProdSpec == "10"; ProdSpec == "11" ->
  	F = fun(#price{type = usage, units = messages}) ->
  
negative.code: 				{_, _, _Description, TabPrefix} ->
  						Table2 = list_to_existing_atom(TabPrefix ++ "-" ++ TariffTable),
  						case catch ocs_gtt:lookup_last(Table2, Address) of
  							{Description1, Amount, _} when is_integer(Amount)->
  								case Amount of
  									N when N >= 0 ->
  										rate5(Protocol, Service, Buckets,
  