anchor.diff:  userOK(_User, {show, _SessionId, _Env, _Input}, _WUser)           -> true;
   userOK(_User, {showTimeReport, _SessionId, _Env, _Input}, _WUser) -> true;
   userOK(_User, {link, _SessionId, _Env, _Input}, _WUser)           -> true;
  -userOK(User, {_Msg, _SessionId, _Env, _Input}, User)               -> true;
  +userOK(User, {_Msg, _SessionId, _Env, _Input}, User)              -> true;
   userOK(_User, {_Msg, _SessionId, _Env, _Input}, _WUser)           -> false.
   
   %%--------------------------------------------------------------------
  
positive.code:     base64:encode_to_string(Binary2).
  
  getUser(Env, Key) ->
      Cookie  = default(getCookie("eSessionId", Env), createCookie(Env, "", Key)),
      Binary1 = base64:decode(Cookie),
      Binary2 = decrypt(Key, Binary1),
      case catch binary_to_term(Binary2) of
          {'EXIT', _} ->
              "";
          SessionInfo ->
              Host = getHost(Env),
              case maps:get(host, SessionInfo) of
                  Host ->
                      maps:get(user, SessionInfo, "");
                  _ ->
                      ""
              end
      end.
  
  encrypt({Key, IV}, Binary) ->
  
negative.code:                 true ->
                      handle_call(Message, From, State3);
                  false ->
                      HtmlPage = removeCookie("eSessionId", redirect("login", Env)),
                      {reply, HtmlPage, State}
              end;
          {true, Pid, State3} ->
              Headers2 = getHeaders(SessionId, State3),
  