<commit_before><svg ng-style="chartStyle" ng-attr-width="{{settings.width}}" ng-attr-height="{{settings.height}}" ng-mousemove="abc.setMouseOffset($event)" >
    <!-- Clip Path -->
    <defs>
      <clipPath id="abc-clip-chart">
          <rect x="0" y="0" ng-attr-width="{{abc.chartOffset().width}}" ng-attr-height="{{abc.chartOffset().height}}" />
      </clipPath>
    </defs>
    <!-- Title -->
    <text id="abc-title" ng-show="settings.title.show === true" ng-attr-x="{{abc.titleOffset().x}}" ng-attr-y="{{abc.titleOffset().y}}" fill="black" ng-attr-text-anchor="{{abc.titleAnchor()}}" ng-attr-font-size="{{settings.title.size}}" ng-bind="settings.title.content"></text>
    <!-- Line -->
    <g ng-show="settings.type === 'line'" ng-attr-transform="translate({{abc.chartOffset().x}}, {{abc.chartOffset().y}})">
        <polyline ng-class="abc.hoveringClass($index)" ng-repeat="points in settings.data" ng-attr-stroke="{{settings.colors[$index % settings.colors.length]}}" ng-attr-points="{{abc.getPoints($index)}}" ng-attr-stroke-width="{{settings.lineWidth}}" fill="none" />
    </g>
    <!-- Area -->
    <g ng-show="settings.type === 'area'" ng-attr-transform="translate({{abc.chartOffset().x}}, {{abc.chartOffset().y}})">
        <polyline ng-class="abc.hoveringClass($index)" ng-repeat="points in settings.data" ng-attr-stroke="{{settings.colors[$index % settings.colors.length]}}" ng-attr-fill="{{settings.colors[$index % settings.colors.length]}}" ng-attr-points="{{abc.getAreaPoints($index)}}" fill-opacity="0.3" ng-attr-stroke-width="{{settings.lineWidth}}" />
    </g>
    <!-- Spline -->
    <g ng-show="settings.type === 'spline'" ng-attr-transform="translate({{abc.chartOffset().x}}, {{abc.chartOffset().y}})">
        <path ng-class="abc.hoveringClass($index)" ng-repeat="points in settings.data" ng-attr-stroke="{{settings.colors[$index % settings.colors.length]}}" ng-attr-d="{{abc.getSplinePoints($index)}}" ng-attr-stroke-width="{{settings.lineWidth}}" fill="none" />
    </g>
    <!-- Bar -->
    <g ng-show="settings.type === 'bar'" ng-class="abc.hoveringClass($index)" ng-attr-transform="translate({{abc.chartOffset().x}}, {{abc.chartOffset().y}})" ng-repeat="points in settings.data" ng-attr-fill="{{settings.colors[$index % settings.colors.length]}}">
        <rect ng-mouseover="abc.setHovering($parent.$index, $index)" ng-mouseout="abc.setHovering()" ng-repeat="point in points" ng-attr-x="{{abc.barOffset($parent.$index, $index).x}}" ng-attr-y="{{abc.barOffset($parent.$index, $index).y}}" ng-attr-width="{{abc.barOffset($parent.$index, $index).width}}" ng-attr-height="{{abc.barOffset($parent.$index, $index).height}}" />
    </g>
    <!-- Axis -->
    <g ng-attr-transform="translate({{abc.chartOffset().x}}, {{abc.chartOffset().y}})">
      <!-- Y Axis -->
      <line ng-attr-stroke-width="{{settings.axisLineWidth}}" stroke="black" x1="0" y1="0" x2="0" ng-attr-y2="{{abc.chartOffset().height}}" />
      <!-- X Axis -->
      <line ng-attr-stroke-width="{{settings.axisLineWidth}}" stroke="black" x1="0" ng-attr-y1="{{abc.chartOffset().height}}" ng-attr-x2="{{abc.chartOffset().width}}" ng-attr-y2="{{abc.chartOffset().height}}" />
      <!-- X Axis Lines -->
      <line ng-repeat="point in settings.data[0]" ng-attr-x1="{{abc.chartOffset().width / (settings.data[0].length-1) * $index}}" ng-attr-y1="{{abc.chartOffset().height}}" ng-attr-x2="{{abc.chartOffset().width / (settings.data[0].length-1) * $index}}" ng-attr-y2="{{abc.chartOffset().height + abc.axisLineSize}}" stroke="black" stroke-width="1" />
      <!-- X Axis Labels -->
      <text ng-repeat="column in settings.headers.columns" ng-attr-x="{{abc.chartOffset().width / (settings.data[0].length-1) * $index}}" ng-attr-y="{{abc.chartOffset().height + abc.axisLineSize + settings.headers.size}}" text-anchor="middle" ng-bind="column.value" ng-attr-font-size="{{settings.headers.size}}"></text>
    </g>
    <!-- Hovering lines & areas -->
    <g ng-attr-transform="translate({{abc.chartOffset().x}}, {{abc.chartOffset().y}})">
      <!-- Bar Top -->
      <line ng-show="settings.type === 'bar' && settings.hovering.y >= 0" ng-attr-x1="{{abc.hoveringBarOffset().x1}}" ng-attr-y1="{{abc.hoveringBarOffset().y1}}" ng-attr-x2="{{abc.hoveringBarOffset().x2}}" ng-attr-y2="{{abc.hoveringBarOffset().y2}}" stroke-width="2" stroke="black" />
      <!-- Zero Line -->
      <line ng-show="abc.calculatePointYValue(0) >= 0 && abc.calculatePointYValue(0) <= abc.chartOffset().height" x1="0" ng-attr-y1="{{abc.calculatePointYValue(0)}}" ng-attr-x2="{{abc.chartOffset().width}}" ng-attr-y2="{{abc.calculatePointYValue(0)}}" stroke-width="2" stroke-opacity="0.5" stroke="black" />
      <!-- Horizontal Line -->
      <line ng-show="settings.hovering.y >= 0 && settings.hovering.x >= 0" x1="0" ng-attr-y1="{{abc.calculatePoint(settings.hovering.y, settings.hovering.x).y}}" ng-attr-x2="{{abc.chartOffset().width}}" ng-attr-y2="{{abc.calculatePoint(settings.hovering.y, settings.hovering.x).y}}" stroke-width="1" stroke-opacity="0.5" stroke="black" />
      <!-- Vertical Line -->
      <line ng-show="settings.hovering.y < 0 && settings.hovering.x >= 0" ng-attr-x1="{{abc.verticalLineOffset()}}" y1="0" ng-attr-x2="{{abc.verticalLineOffset()}}" ng-attr-y2="{{abc.chartOffset().height}}" stroke-width="1" stroke-opacity="0.5" stroke="black" />
      <!-- Hovering Areas -->
      <rect ng-show="settings.type !== 'bar'" ng-repeat="line in settings.data[0]" ng-attr-x="{{abc.hoverAreaOffset($index).x}}" y="0" ng-attr-width="{{abc.hoverAreaOffset().width}}" ng-attr-height="{{abc.chartOffset().height}}" ng-mouseover="abc.setHovering(undefined, $index)" ng-mouseout="abc.setHovering()" fill="rgba(0, 0, 0, 0)" />
    </g>
    <!-- Points -->
    <g ng-show="settings.type !== 'bar'" ng-class="abc.hoveringClass($index)" ng-attr-transform="translate({{abc.chartOffset().x}}, {{abc.chartOffset().y}})" ng-repeat="points in settings.data" ng-attr-fill="{{settings.colors[$index % settings.colors.length]}}">
        <circle ng-mouseover="abc.setHovering($parent.$index, $index)" ng-mouseout="abc.setHovering()" ng-repeat="point in points" ng-attr-cx="{{abc.calculatePoint($parent.$index, $index).x}}" ng-attr-cy="{{abc.calculatePoint($parent.$index, $index).y}}" ng-attr-r="{{abc.pointRadius($parent.$index, $index)}}" />
    </g>
    <!-- Popup group -->
    <g ng-attr-transform="translate({{abc.chartOffset().x}}, {{abc.chartOffset().y}})">
      <!-- Popup Legend -->
      <g ng-show="settings.hovering.y >= 0 && settings.hovering.x >= 0" ng-attr-transform="translate({{abc.popupLegendX()}}, {{abc.calculatePoint(settings.hovering.y, settings.hovering.x).y - 10}})" >
        <rect x="0" y="0" ng-attr-width="{{abc.getTextLength('#abc-popup-column-text') + abc.getTextLength('#abc-popup-value-text') + 16}}" height="20" fill-opacity="0.8" stroke-opacity="0.5" fill="white" stroke="black" stroke-width="1" />
        <text id="abc-popup-column-text" x="4" y="14" fill="black" font-size="12" text-anchor="left" ng-bind="settings.headers.rows[settings.hovering.y].value"></text>
        <text id="abc-popup-value-text" ng-attr-x="{{abc.getTextLength('#abc-popup-column-text') + 8}}" y="14" fill="black" font-size="12" text-anchor="left" ng-bind="abc.valueInUnit(settings.hovering.y, settings.hovering.x)"></text>
      </g>
    </g>
</svg>
<commit_msg>Cleanup view<commit_after><svg ng-style="chartStyle" ng-attr-width="{{settings.width}}" ng-attr-height="{{settings.height}}" ng-mousemove="abc.setMouseOffset($event)" >
    <!-- Clip Path -->
    <defs>
      <clipPath id="abc-clip-chart">
          <rect x="0" y="0" ng-attr-width="{{abc.chartOffset().width}}" ng-attr-height="{{abc.chartOffset().height}}" />
      </clipPath>
    </defs>
    <!-- Title -->
    <text id="abc-title" ng-show="settings.title.show === true" ng-attr-x="{{abc.titleOffset().x}}" ng-attr-y="{{abc.titleOffset().y}}" fill="black" ng-attr-text-anchor="{{abc.titleAnchor()}}" ng-attr-font-size="{{settings.title.size}}" ng-bind="settings.title.content"></text>
    <!-- Line -->
    <g ng-show="settings.type === 'line'" ng-attr-transform="translate({{abc.chartOffset().x}}, {{abc.chartOffset().y}})">
        <polyline ng-class="abc.hoveringClass($index)" ng-repeat="points in settings.data" ng-attr-stroke="{{settings.colors[$index % settings.colors.length]}}" ng-attr-points="{{abc.getPoints($index)}}" ng-attr-stroke-width="{{settings.lineWidth}}" fill="none" />
    </g>
    <!-- Area -->
    <g ng-show="settings.type === 'area'" ng-attr-transform="translate({{abc.chartOffset().x}}, {{abc.chartOffset().y}})">
        <polyline ng-class="abc.hoveringClass($index)" ng-repeat="points in settings.data" ng-attr-stroke="{{settings.colors[$index % settings.colors.length]}}" ng-attr-fill="{{settings.colors[$index % settings.colors.length]}}" ng-attr-points="{{abc.getAreaPoints($index)}}" fill-opacity="0.3" ng-attr-stroke-width="{{settings.lineWidth}}" />
    </g>
    <!-- Spline -->
    <g ng-show="settings.type === 'spline'" ng-attr-transform="translate({{abc.chartOffset().x}}, {{abc.chartOffset().y}})">
        <path ng-class="abc.hoveringClass($index)" ng-repeat="points in settings.data" ng-attr-stroke="{{settings.colors[$index % settings.colors.length]}}" ng-attr-d="{{abc.getSplinePoints($index)}}" ng-attr-stroke-width="{{settings.lineWidth}}" fill="none" />
    </g>
    <!-- Bar -->
    <g ng-show="settings.type === 'bar'" ng-class="abc.hoveringClass($index)" ng-attr-transform="translate({{abc.chartOffset().x}}, {{abc.chartOffset().y}})" ng-repeat="points in settings.data" ng-attr-fill="{{settings.colors[$index % settings.colors.length]}}">
        <rect ng-mouseover="abc.setHovering($parent.$index, $index)" ng-mouseout="abc.setHovering()" ng-repeat="point in points" ng-attr-x="{{abc.barOffset($parent.$index, $index).x}}" ng-attr-y="{{abc.barOffset($parent.$index, $index).y}}" ng-attr-width="{{abc.barOffset($parent.$index, $index).width}}" ng-attr-height="{{abc.barOffset($parent.$index, $index).height}}" />
    </g>
    <!-- Axis -->
    <g ng-attr-transform="translate({{abc.chartOffset().x}}, {{abc.chartOffset().y}})">
      <!-- Y Axis -->
      <line ng-attr-stroke-width="{{settings.axisLineWidth}}" stroke="black" x1="0" y1="0" x2="0" ng-attr-y2="{{abc.chartOffset().height}}" />
      <!-- X Axis -->
      <line ng-attr-stroke-width="{{settings.axisLineWidth}}" stroke="black" x1="0" ng-attr-y1="{{abc.chartOffset().height}}" ng-attr-x2="{{abc.chartOffset().width}}" ng-attr-y2="{{abc.chartOffset().height}}" />
      <!-- X Axis Lines -->
      <line ng-repeat="point in settings.data[0]" ng-attr-x1="{{abc.calculatePointXValue($index)}}" ng-attr-y1="{{abc.chartOffset().height}}" ng-attr-x2="{{abc.calculatePointXValue($index)}}" ng-attr-y2="{{abc.chartOffset().height + abc.axisLineSize}}" stroke="black" stroke-width="1" />
      <!-- X Axis Labels -->
      <text ng-repeat="column in settings.headers.columns" ng-attr-x="{{abc.calculatePointXValue($index)}}" ng-attr-y="{{abc.chartOffset().height + abc.axisLineSize + settings.headers.size}}" text-anchor="middle" ng-bind="column.value" ng-attr-font-size="{{settings.headers.size}}"></text>
    </g>
    <!-- Hovering lines & areas -->
    <g ng-attr-transform="translate({{abc.chartOffset().x}}, {{abc.chartOffset().y}})">
      <!-- Bar Top -->
      <line ng-show="settings.type === 'bar' && settings.hovering.y >= 0" ng-attr-x1="{{abc.hoveringBarOffset().x1}}" ng-attr-y1="{{abc.hoveringBarOffset().y1}}" ng-attr-x2="{{abc.hoveringBarOffset().x2}}" ng-attr-y2="{{abc.hoveringBarOffset().y2}}" stroke-width="2" stroke="black" />
      <!-- Zero Line -->
      <line ng-show="abc.calculatePointYValue(0) >= 0 && abc.calculatePointYValue(0) <= abc.chartOffset().height" x1="0" ng-attr-y1="{{abc.calculatePointYValue(0)}}" ng-attr-x2="{{abc.chartOffset().width}}" ng-attr-y2="{{abc.calculatePointYValue(0)}}" stroke-width="2" stroke-opacity="0.5" stroke="black" />
      <!-- Horizontal Line -->
      <line ng-show="settings.hovering.y >= 0 && settings.hovering.x >= 0" x1="0" ng-attr-y1="{{abc.calculatePoint(settings.hovering.y, settings.hovering.x).y}}" ng-attr-x2="{{abc.chartOffset().width}}" ng-attr-y2="{{abc.calculatePoint(settings.hovering.y, settings.hovering.x).y}}" stroke-width="1" stroke-opacity="0.5" stroke="black" />
      <!-- Vertical Line -->
      <line ng-show="settings.hovering.y < 0 && settings.hovering.x >= 0" ng-attr-x1="{{abc.verticalLineOffset()}}" y1="0" ng-attr-x2="{{abc.verticalLineOffset()}}" ng-attr-y2="{{abc.chartOffset().height}}" stroke-width="1" stroke-opacity="0.5" stroke="black" />
      <!-- Hovering Areas -->
      <rect ng-show="settings.type !== 'bar'" ng-repeat="line in settings.data[0]" ng-attr-x="{{abc.hoverAreaOffset($index).x}}" y="0" ng-attr-width="{{abc.hoverAreaOffset().width}}" ng-attr-height="{{abc.chartOffset().height}}" ng-mouseover="abc.setHovering(undefined, $index)" ng-mouseout="abc.setHovering()" fill="rgba(0, 0, 0, 0)" />
    </g>
    <!-- Points -->
    <g ng-show="settings.type !== 'bar'" ng-class="abc.hoveringClass($index)" ng-attr-transform="translate({{abc.chartOffset().x}}, {{abc.chartOffset().y}})" ng-repeat="points in settings.data" ng-attr-fill="{{settings.colors[$index % settings.colors.length]}}">
        <circle ng-mouseover="abc.setHovering($parent.$index, $index)" ng-mouseout="abc.setHovering()" ng-repeat="point in points" ng-attr-cx="{{abc.calculatePoint($parent.$index, $index).x}}" ng-attr-cy="{{abc.calculatePoint($parent.$index, $index).y}}" ng-attr-r="{{abc.pointRadius($parent.$index, $index)}}" />
    </g>
    <!-- Popup group -->
    <g ng-attr-transform="translate({{abc.chartOffset().x}}, {{abc.chartOffset().y}})">
      <!-- Popup Legend -->
      <g ng-show="settings.hovering.y >= 0 && settings.hovering.x >= 0" ng-attr-transform="translate({{abc.popupLegendX()}}, {{abc.calculatePoint(settings.hovering.y, settings.hovering.x).y - 10}})" >
        <rect x="0" y="0" ng-attr-width="{{abc.getTextLength('#abc-popup-column-text') + abc.getTextLength('#abc-popup-value-text') + 16}}" height="20" fill-opacity="0.8" stroke-opacity="0.5" fill="white" stroke="black" stroke-width="1" />
        <text id="abc-popup-column-text" x="4" y="14" fill="black" font-size="12" text-anchor="left" ng-bind="settings.headers.rows[settings.hovering.y].value"></text>
        <text id="abc-popup-value-text" ng-attr-x="{{abc.getTextLength('#abc-popup-column-text') + 8}}" y="14" fill="black" font-size="12" text-anchor="left" ng-bind="abc.valueInUnit(settings.hovering.y, settings.hovering.x)"></text>
      </g>
    </g>
</svg>

{'fraction_non_alphanumeric': 0.25522869094150724, 'fraction_numerical': 0.013577453198930261, 'mean_word_length': 4.564288439526898, 'pattern_counts': {'":': 0, '<': 141, '<?xml version=': 0, '>': 151, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '1831308', 'n_tokens_mistral': 5003, 'n_tokens_neox': 4948, 'n_words': 643}