anchor.diff:   OnePassNFACharClassActions:=nil;
    OnePassNFAReady:=false;
   
  - BitStateNFACountVisited:=0;
  - BitStateNFAJobs:=nil;
  - BitStateNFACountJobs:=0;
  - BitStateNFAMaxJob:=0;
  - BitStateNFAWorkCaptures:=nil;
  - BitStateNFAMatchCaptures:=nil;
    BitStateNFAReady:=false;
   
    DFANeedVerification:=false;
  
positive.code: 
   SetLength(OnePassNFAWorkCaptures,0);
   SetLength(OnePassNFAMatchCaptures,0);
  
   DFADestroyStatePool(DFAStatePoolUsed);
   DFADestroyStatePool(DFAStatePoolFree);
  
negative.code:   ThreadLocalStorage.Input:=AInput;
    ThreadLocalStorage.InputLength:=AInputLength;
    repeat
     case ThreadLocalStorage.SearchMatchDFA(StartPosition,UntilExcludingPosition,MatchEnd,UnanchoredStart) of
      DFAMatch:begin
       if UnanchoredStart then begin
        // For unanchored searchs, we must do also a "backward" DFA search
        case ThreadLocalStorage.SearchMatchReversedDFA(MatchEnd,StartPosition,MatchBegin) of
         DFAMatch:begin
          if MatchBegin<StartPosition then begin
           MatchBegin:=StartPosition;
  