anchor.diff:  
    if Instance.OnePassNFAReady then begin
     OnePassNFA:=TFLREOnePassNFA.Create(self);
  - end;
  -
  - BitStateNFACountVisited:=0;
  - BitStateNFAJobs:=nil;
  - BitStateNFACountJobs:=0;
  - BitStateNFAMaxJob:=0;
  - BitStateNFAWorkSubMatches:=nil;
  - BitStateNFAMatchSubMatches:=nil;
  + end else begin
  +  OnePassNFA:=nil;
  + end;
   
    if Instance.BitStateNFAReady then begin
  -  SetLength(BitStateNFAWorkSubMatches,Instance.CountSubMatches);
  -  SetLength(BitStateNFAMatchSubMatches,Instance.CountSubMatches);
  +  BitStateNFA:=TFLREBitStateNFA.Create(self);
  + end else begin
  +  BitStateNFA:=nil;
    end;
   
    DFAStackInstructions:=nil;
  
positive.code:   if (Condition and sfCapMask)<>0 then begin
     for Counter:=0 to CountSubMatches-1 do begin
      if (Condition and ((1 shl sfCapShift) shl Counter))<>0 then begin
       OnePassNFAWorkSubMatches[Counter]:=CurrentPosition;
      end;
     end;
    end;
  
negative.code:   result:=ThreadLocalStorageInstance.OnePassNFA.SearchMatch(Captures,StartPosition,UntilExcludingPosition);
   end else begin
    if false and BitStateNFAReady then begin
     case ThreadLocalStorageInstance.BitStateNFA.SearchMatch(Captures,StartPosition,UntilExcludingPosition,UnanchoredStart) of
      BitStateNFAFail:begin
       result:=false;
       exit;
  