anchor.diff:    total: Int64;
   begin
     //HashCode should be the same if we swap From and To
  -  Int64Rec(total).Words[0] := (FromP.X + ToP.X);
  -  Int64Rec(total).Words[1] := Abs(FromP.X - ToP.X);
  -  Int64Rec(total).Words[2] := FromP.Y + ToP.Y;
  -  Int64Rec(total).Words[3] := Abs(FromP.Y - ToP.Y);
  +  Int64Rec(total).Words[0] := (FromP.X + ToP.X);    // values range is 0..MAX_MAP_SIZE*2 (0..512)
  +  Int64Rec(total).Words[1] := Abs(FromP.X - ToP.X); // (0..256)
  +  Int64Rec(total).Words[2] := FromP.Y + ToP.Y;      // (0..512)
  +  Int64Rec(total).Words[3] := Abs(FromP.Y - ToP.Y); // (0..256)
  +  //GetHashValue(Integer/Cardinal) is even faster, but we can't fit our 34 bits there
     Result := THashBobJenkins.GetHashValue(total, SizeOf(Int64), 0);
   end;
   
  +
  +{ TKMDeliveryBid }
  +function TKMDeliveryBid.GetTTL: Integer;
  +begin
  +  Result := 0;
  +  case Kind of
  +    dbkSerfToOffer:   Result := SERF_OFFER_CACHED_BID_TTL;
  +    dbkOfferToDemand: Result := OFFER_DEMAND_CACHED_BID_TTL;
  +  end;
  +end;
  +
  +
  +function TKMDeliveryBid.IsExpired(aTick: Integer): Boolean;
  +begin
  +  Result := aTick - CreatedAt > GetTTL;
  +end;
  +
  +
   end.
  
positive.code: 
        for key in cacheKeyArray do
        begin
          SaveStream.Write(key.FromP);
          SaveStream.Write(key.ToP);
          bid := fBidsCache[key];
          SaveStream.Write(bid.Value);
          SaveStream.Write(bid.TimeToLive);
        end;
      end;
  
  
negative.code: 
  
  { TKMDeliveryCache }
  procedure TKMDeliveryCache.Add(const aKey: TKMDeliveryBidKey; const aValue: Single; const aKind: TKMDeliveryBidKind); //; const aTimeToLive: Word);
  var
    bid: TKMDeliveryBid;
  begin
    if not CACHE_DELIVERY_BIDS then Exit;
  
    bid.Value := aValue;
    bid.Kind := aKind;
    bid.CreatedAt := gGame.GameTick;
    inherited Add(aKey, bid);
  end;
  
  
  procedure TKMDeliveryCache.Add(const FromP: TKMPoint; ToP: TKMPoint; const aValue: Single; const aKind: TKMDeliveryBidKind);//; const aTimeToLive: Word);
  var
    key: TKMDeliveryBidKey;
    bid: TKMDeliveryBid;
  