anchor.diff:  	acct_query4(Attributes, T);
   acct_query4(_Attributes, []) ->
   	true.
  +%% @hidden
  +acct_query5([H | T], MatchSpec, Acc) when is_list(MatchSpec) ->
  +	case erlang:match_spec_test(element(7, H), MatchSpec, table) of
  +		{ok, #'3gpp_ro_CCR'{}, [], []} ->
  +			acct_query5(T, MatchSpec, [H | Acc]);
  +		{ok, false , [], []}->
  +			acct_query5(T, MatchSpec, Acc);
  +		{error, Reason} ->
  +			{error, Reason}
  +	end;
  +acct_query5([], _AttrsMatch, Acc) ->
  +	lists:reverse(Acc).
   
   -spec ipdr_query(Continuation, MatchSpec) -> Result
   	when
  
positive.code: 				| {regex, term()} | {like, [term()]} | {notlike, [term()]}
  				| {in, [term()]} | {notin, [term()]} | {contains, [term()]}
  				| {notcontain, [term()]} | {containsall, [term()]} | '_',
  		Result :: {Continuation2, Events} | {error, Reason},
  		Continuation2 :: eof | disk_log:continuation(),
  		Events :: [acct_event()],
  
negative.code: %%
  %% 	All attribute filters must match or the event will be ignored.
  %%
  %% 	`Protocol', `Types', or `MatchSpec' may be '_' which matches any value.
  %%
  %% 	Returns a new `Continuation' and a list of matching accounting events.
  %% 	Successive calls use the new `Continuation' to read more events.
  %%
  acct_query(Continuation, Start, End, Protocol, Types, MatchSpec) ->
  	MFA = {?MODULE, acct_query, [Protocol, Types, MatchSpec]},
  	query_log(Continuation, Start, End, log_name(acct_log_name), MFA).
  
  -spec auth_open() -> Result
  