anchor.diff:   OnePassNFAMatchCaptures:=nil;
   
    if Instance.OnePassNFAReady then begin
  -  SetLength(OnePassNFAWorkCaptures,Instance.CountCaptures*2);
  -  SetLength(OnePassNFAMatchCaptures,Instance.CountCaptures*2);
  +  SetLength(OnePassNFAWorkCaptures,Instance.CountSubMatches);
  +  SetLength(OnePassNFAMatchCaptures,Instance.CountSubMatches);
    end;
   
    BitStateNFACountVisited:=0;
  
positive.code:     Instruction:PFLREInstruction;
      CurrentChar:ansichar;
      Capture:PFLRECapture;
      BitState:longword;
      LocalInput:pansichar;
  begin
   result:=false;
  
negative.code:    pop ebx
    end;
  {$else}
    if (result^.SubMatchesBitMask and longword($80000000))=0 then begin
     SubMatchesBitMask:=result^.SubMatchesBitMask;
     while SubMatchesBitMask<>0 do begin
      Counter:=PopFirstOneBit(SubMatchesBitMask);
      result^.SubMatches[Counter]:=State^.SubMatches[Counter];
     end;
    end else begin
  