anchor.diff:  	  end,
       fix_tags(Ret).
   
  +fix_tags(undefined) -> undefined;
  +fix_tags(List) -> lists:usort(p6str:to_lower_list(List)).
  +
   merge_tags(undefined,undefined) -> undefined;
   merge_tags(undefined,List) -> List;
   merge_tags(List,undefined) -> List;
  
positive.code: normalize(S=#service{tags=undefined}) -> normalize(S#service{tags=default_tags()});
  normalize(S=#service{pid=undefined}) -> normalize(S#service{pid=self(),node=node()});
  normalize(S=#service{name=Name}) when is_atom(Name) -> normalize(S#service{name=p6str:to_lower_bin(Name)});
  normalize(S) -> S.
  
  regGlobal(Service=#service{pid=Pid}) ->
      S = normalize(Service),
  
negative.code: -compile([export_all]).
  
  -define(SERVER, ?MODULE).
  -define(P6DMAP,service_map).
  
  -record(state, {known=sets:new(), chans=channel_mgr:new()}).
  
  default_tags() -> p6props:getApp(mmd_core,force_tags,[]).
  
  get_tags(Tags) ->
      Ret = case application:get_env(mmd_core,force_tags) of
  