anchor.diff:  vfrStatementPassword :
     <<
        CIfrPassword PObj;
  +     UINT32 VarArraySize;
  +     UINT16 PasswordMinSize;
  +     UINT16 PasswordMaxSize;
     >>
     L:Password                                           << PObj.SetLineNo(L->getLine()); >>
     vfrQuestionHeader[PObj] ","
  
positive.code:   {
      Key "=" KN:Number ","                              << AssignQuestionKey (PObj, KN); >>
    }
    MinSize "=" MIN:Number ","                           << PObj.SetMinSize (_STOU16(MIN->getText())); >>
    MaxSize "=" MAX:Number ","                           << PObj.SetMaxSize (_STOU16(MAX->getText())); >>
    { Encoding "=" Number "," }
    vfrStatementQuestionOptionList
    E:EndPassword                                        << CRT_END_OP (E); >>
  
negative.code:   {
      Key "=" KN:Number ","                              << AssignQuestionKey (SObj, KN); >>
    }
    MinSize "=" MIN:Number ","                           << 
                                                            VarArraySize = _GET_CURRQEST_ARRAY_SIZE();
                                                            StringMinSize = _STOU8(MIN->getText());
                                                            if (_STOU64(MIN->getText()) > StringMinSize) {
                                                              _PCATCH (VFR_RETURN_INVALID_PARAMETER, MIN->getLine(), "String MinSize takes only one byte, which can't be larger than 0xFF.");
                                                            } else if (VarArraySize != 0 && StringMinSize > VarArraySize) {
                                                              _PCATCH (VFR_RETURN_INVALID_PARAMETER, MIN->getLine(), "String MinSize can't be larger than the max number of elements in string array.");
                                                            }
                                                            SObj.SetMinSize (StringMinSize);
                                                         >>
    MaxSize "=" MAX:Number ","                           << 
                                                            StringMaxSize = _STOU8(MAX->getText());
                                                            if (_STOU64(MAX->getText()) > StringMaxSize) {
                                                              _PCATCH (VFR_RETURN_INVALID_PARAMETER, MAX->getLine(), "String MaxSize takes only one byte, which can't be larger than 0xFF.");
                                                            } else if (VarArraySize != 0 && StringMaxSize > VarArraySize) {
                                                              _PCATCH (VFR_RETURN_INVALID_PARAMETER, MAX->getLine(), "String MaxSize can't be larger than the max number of elements in string array.");
                                                            } else if (StringMaxSize < StringMinSize) {
                                                              _PCATCH (VFR_RETURN_INVALID_PARAMETER, MAX->getLine(), "String MaxSize can't be less than String MinSize.");
                                                            }
                                                            SObj.SetMaxSize (StringMaxSize);
                                                         >>
    vfrStatementQuestionOptionList
    E:EndString                                          << CRT_END_OP (E); >>
    ";"
  