anchor.diff:    /// if cutOffY is provided by the [BarAreaData], it cut the area to the provided cutOffY value,
     /// if [fillCompletely] is true, the cutOffY will be ignored,
     /// and a completely filled path will return,
  -  Path _generateBelowBarPath(Size viewSize, LineChartBarData barData, Path barPath,
  -      {List<FlSpot> bar, bool fillCompletely = false}) {
  +  Path _generateBelowBarPath(
  +      Size viewSize, LineChartBarData barData, Path barPath, List<FlSpot> bar,
  +      {bool fillCompletely = false}) {
       final belowBarPath = Path.from(barPath);
   
       final chartViewSize = getChartUsableDrawSize(viewSize);
  
positive.code:   /// if cutOffY is provided by the [BarAreaData], it cut the area to the provided cutOffY value,
    /// if [fillCompletely] is true, the cutOffY will be ignored,
    /// and a completely filled path will return,
    Path _generateAboveBarPath(Size viewSize, LineChartBarData barData, Path barPath,
        {List<FlSpot> bar, bool fillCompletely = false}) {
      final aboveBarPath = Path.from(barPath);
  
      final chartViewSize = getChartUsableDrawSize(viewSize);
  
negative.code:   /// and we use isCurved to find out how we should generate it,
    /// If you want to concatenate paths together for creating an area between
    /// multiple bars for example, you can pass the appendToPath
    Path _generateBarPath(Size viewSize, LineChartBarData barData, List<FlSpot> bar,
        {Path appendToPath}) {
      viewSize = getChartUsableDrawSize(viewSize);
      final Path path = appendToPath ?? Path();
      final int size = bar.length;
  