anchor.diff:  	error_logger:error_report([Trunc, {module, ?MODULE},
   			{log, log_name(acct_log_name)}, {error, Reason}]),
   	ipdr_log4(IpdrLog, 0);
  -ipdr_log1(IpdrLog, _Start, _End, eof) ->
  -	ipdr_log4(IpdrLog, 0);
  +%ipdr_log1(IpdrLog, _Start, _End, eof) ->
  +%	ipdr_log4(IpdrLog, 0);
   ipdr_log1(IpdrLog, Start, End, Cont) ->
   	ipdr_log2(IpdrLog, Start, End, [], disk_log:chunk(log_name(acct_log_name), Cont)).
   %% @hidden
  
positive.code: file_chunk1(Log, IoDevice, Type, Cont, []) ->
  	file_chunk(Log, IoDevice, Type, Cont).
  
  -spec start_binary_tree(Log, Start, End) -> Result
  	when
  		Log :: disk_log:log(),
  		Start :: pos_integer(),
  		End :: pos_integer(),
  		Result :: eof | disk_log:continuation() | {error, Reason},
  		Reason :: term().
  %% @doc Binary tree search of multi file wrap disk_log.
  %% @private
  %% @hidden
  start_binary_tree(Log, Start, _End) ->
  	InfoList = disk_log:info(Log),
  	{size, {_MaxBytes, MaxFiles}} = lists:keyfind(size, 1, InfoList),
  	StartStep = MaxFiles div 2,
  	start_binary_tree(Log, Start, MaxFiles, start, 0, StartStep, StartStep).
  %% @hidden
  start_binary_tree(Log, Start, NumFiles,
  		LastCont, _LastStep, _StepSize, NumFiles) ->
  %	LastCont;
  	{1, [Event]} = last(Log, 1),
  	TimeStamp = element(1, Event),
  	case TimeStamp >= Start of
  		true ->
  			LastCont;
  		false ->
  			eof
  	end;
  start_binary_tree(_Log, _Start, _NumFiles,
  		LastCont, _LastStep, _StepSize, -1) ->
  %	eof;
  	LastCont;
  start_binary_tree(Log, Start, NumFiles, LastCont, LastStep, StepSize, Step) ->
  	case disk_log:chunk_step(Log, start, Step) of
  		{ok, NewCont} ->
  			start_binary_tree(Log, Start, NumFiles, LastCont, LastStep,
  					StepSize, Step, NewCont, disk_log:chunk(Log, NewCont, 1));
  		{error, end_of_log} ->
  %			eof;
  			LastCont;
  		{error, Reason} ->
  			{error, Reason}
  	end.
  %% @hidden
  start_binary_tree(_Log, Start, _NumFiles, _LastCont, LastStep, 1,
  		Step, NewCont, {_, [R]}) when element(1, R) < Start,
  		LastStep == (Step + 1) ->
  	NewCont;
  start_binary_tree(Log, Start, NumFiles, _LastCont, _LastStep, 1,
  		Step, NewCont, {_, [R]}) when element(1, R) < Start ->
  	start_binary_tree(Log, Start, NumFiles, NewCont, Step, 1, Step + 1);
  start_binary_tree(Log, Start, NumFiles, _LastCont, _LastStep, StepSize,
  		Step, NewCont, {_, [R]}) when element(1, R) < Start ->
  	NewStepSize = StepSize div 2,
  	start_binary_tree(Log, Start, NumFiles, NewCont, Step,
  			NewStepSize, Step + NewStepSize);
  start_binary_tree(_Log, Start, _NumFiles, LastCont, LastStep, 1,
  		Step, _NewCont, {_, [R]}) when element(1, R) >= Start,
  		LastStep == (Step - 1) ->
  	LastCont;
  start_binary_tree(Log, Start, NumFiles, _LastCont, _LastStep, 1,
  		Step, NewCont, {_, [R]}) when element(1, R) >= Start ->
  	start_binary_tree(Log, Start, NumFiles, NewCont, Step, 1, Step - 1);
  start_binary_tree(Log, Start, NumFiles, _LastCont, _LastStep, StepSize,
  		Step, NewCont, {_, [R]}) when element(1, R) >= Start ->
  	NewStepSize = StepSize div 2,
  	start_binary_tree(Log, Start, NumFiles, NewCont, Step,
  			NewStepSize, Step - NewStepSize);
  start_binary_tree(_, _, _, _, _, _, _, _, {error, Reason}) ->
  	{error, Reason}.
  
  -spec get_range(Log, Start, End, Cont) -> Result
  
negative.code: 			http_file/2, date/1, iso8601/1]).
  -export([http_query/8]).
  -export([log_name/1]).
  -export([start_binary_tree/2]).
  
  %% exported the private function
  -export([acct_query/4, ipdr_query/2, auth_query/5, abmf_query/6]).
  