anchor.diff:        begin
          // je loko uz na nejakem nerootovskem (!) ovladaci -> odmitnout
          for i := 0 to HV.state.regulators.Count-1 do
  +        begin
            if (not HV.state.regulators[i].root) then
             begin
              PanelServer.SendLn(Sender, '-;LOK;'+parsed[2]+';AUTH;not;Loko je otevřené v jiném regulátoru');
              Exit();
             end;
  +        end;
   
          if (parsed.Count < 5) then
           begin
  
positive.code:    HV.StateFunctionsToSlotFunctions(TTrakce.Callback(PanelLOKResponseOK, LokResponseData),
                                     TTrakce.Callback(PanelLOKResponseErr, LokResponseData),
                                     Sender);
    end
  
   else if (parsed[3] = 'STOP') then
    begin
     GetMem(LokResponseData, SizeOf(TLokResponseData));
     TLokResponseData(LokResponseData^).addr := HV.addr;
  
negative.code:    Exit();
    end;
  
   if (parsed[3] = 'EXPECTED-SPEED') then
    begin
     Self.SendExpectedSpeed(Sender, HV);
     Exit();
    end;
  
   if (parsed[3] = 'NAV') then
    begin
     Self.SendPredictedSignal(Sender, HV);
     Exit();
    end;
  
   if (HV.stolen) then
    begin
     PanelServer.SendLn(Sender, '-;LOK;'+parsed[2]+';RESP;err;Loko '+parsed[2]+' ukradeno, nenastavuji');
     Exit();
    end;
  
   // ---- Unstolen loco is required for commands below ----
  
   if (parsed[3] = 'F') then
    begin
     data := TStringList.Create();
     try
  