anchor.diff:          (AsStream: Pointer);
         16:    // Array
           (
  -          ArrayLength: Cardinal;
  +          ArrayLength: Integer;
             ArrayItemsEntry: PDRawValue;
           );
         17:
  
positive.code:     function GetValueByName(pvName:string; pvDefault:string): String;overload;
      function GetValueByName(pvName:String; pvDefault:Boolean): Boolean; overload;
      function GetValueByName(pvName:String; pvDefault:Double): Double; overload;
  
      function GetValueByPath(pvPath:string; pvDefault:string): string; overload;
      function GetValueByPath(pvPath: string; pvDefault: Int64): Int64; overload;
  
negative.code: 
  end;
  
  function TDValue.GetValueByName(pvName:String; pvDefault:TObject): TObject;
  var
    lvItem:TDValue;
  begin
    lvItem := FindByName(pvName);
    if lvItem = nil then
    begin
      Result := pvDefault;
    end else
    begin
      Result := lvItem.AsObject;
    end;
  end;
  
  function TDValue.GetValueByPath(pvPath: string; pvDefault: Double): Double;
  var
    lvItem:TDValue;
  