<commit_before><div class="player-wrapper" ng-mousemove="showControls()" ng-mouseleave="delayHideControls()">

  <i class="ion-android-arrow-back player-back" ng-class="{'visible': controlsVisible}" ng-click="backToDash()"></i>


  <div class="overlay" ng-class="{'visible': overlayVisible}">
    <div class="video-info">
      <p>You're watching</p>

      <h1 ng-show="video.show">{{video.show.name}}</h1>
      <h1 ng-show="!video.show">{{video.title}}</h1>

      <h3 ng-show="video.show">{{video.episodeString}} - {{video.name}}</h3>

      <p>{{video.overview}}</p>
    </div>
  </div>


  <div class="spinner" ng-show="loading">
    <div class="bounce1"></div>
    <div class="bounce2"></div>
    <div class="bounce3"></div>
  </div>



  <div class="player-controls-wrapper player-active no-select" ng-class="{'visible': controlsVisible}" ng-hide="loading && !initialPlay">

    <div class="slider-ui-wrapper" ng-show="!volumeOpen">
      <div class="player-ui-slider" ui-slider="scrubberOptions" min="0" max="{{videoDuration}}" ng-model="currentTime"></div>
      <div class="time-display">
        <strong ng-show="currentTime">
          <span ng-if="currentTime >= 3600">{{currentTime | secondsToDateTime | date:'hh:mm:ss'}}</span>
          <span ng-if="currentTime < 3600">{{currentTime | secondsToDateTime | date:'mm:ss'}}</span>
        </strong>
        <span ng-if="videoDuration >= 3600">{{videoDuration | secondsToDateTime | date:'hh:mm:ss'}}</span>
        <span ng-if="videoDuration < 3600">{{videoDuration | secondsToDateTime | date:'mm:ss'}}</span>
      </div>
    </div>

    <section class="player-control-bar no-select">

      <div class="player-control-button player-play-pause play ion-play" ng-show="!playing" ng-click="play()"></div>

      <div class="player-control-button player-play-pause play ion-pause" ng-show="playing" ng-click="pause()"></div>

      <div class="volume-control player-control-button volume" ng-mouseleave="volumeOpen = false" ng-mouseenter="volumeOpen = true">
        <i ng-class="{
        'ion-volume-mute': volumeLevel == 0,
        'ion-volume-low': volumeLevel > 0 && volumeLevel < 3,
        'ion-volume-medium': volumeLevel >= 3 && volumeLevel < 6,
        'ion-volume-high': volumeLevel >= 6
        }" ng-click="playerVolumeToggle()"
           ></i>

        <div id="player-menu-volume" class="player-menu" ng-show="volumeOpen">
          <div class="volume-menu-content">

            <div class="player-ui-slider volume-scrubber" ui-slider="volumeScrubberOptions"  min="0" max="10" step="1" ng-model="volumeLevel"></div>
          </div>
        </div>
      </div>


      <div class="player-status" ng-if="video.show">
        <span class="player-status-main-title">{{video.show.name}}</span>
        <span>{{video.episodeString}}</span>
        <span>{{video.name}}</span>
      </div>

      <div class="player-status" ng-if="!video.show">
        <span class="player-status-main-title">{{video.title}}</span>
      </div>

      <div class="player-control-button player-next-episode ion-ios-skipforward" ng-if="video.nextEpisode" ng-click="nextEpisode()"></div>

      <div class="player-control-button player-episode-selector" ng-if="video.show">
        <i class="ion-ios-browsers" ng-click="episodeBrowseOpen = !episodeBrowseOpen"></i>
        <div id="player-menu-episode-selector" class="player-menu" ng-show="episodeBrowseOpen">
          <div class="episode-selector-container">
            <div class="episode-selector-slider" ng-class="{'slide-left': selectedEpisodes}">
              <div class="season-list-container">
                <h2 class="seasons-title">{{video.show.name}}</h2>
                <ul class="season-list">
                  <li class="season icon-player-forward-arrow" ng-click="toggleSelectEpisodes(episodes)"
                      ng-repeat="(season, episodes) in groupedEpisodes">
                    <span>Season {{season}}</span>
                  </li>
                </ul>
              </div>
            </div>

            <div class="episode-selector-slider" ng-class="{'slide-left': selectedEpisodes}">
              <div class="season-list-container">
                <h2 class="seasons-title" ng-click="toggleSelectEpisodes()">
                  <span class="back-button"><i class="ion-chevron-left"></i></span>
                  Season {{selectedEpisodes[0].season_number}}
                </h2>
                <ul class="episode-list">
                  <li class="episode icon-player-forward-arrow" ng-repeat="episode in selectedEpisodes" ng-click="visible = !visible"
                      ng-class="{'current': (episode.episode_number == video.episode_number && episode.season_number == video.season_number), 'no-files': !episode.files.length}" >
                    <div class="flex-wrapper">
                      <span class="episode-number">{{episode.episode_number | padnumber:2}}</span>
                      <span class="episode-name">{{episode.name}}</span>
                      <span class="episode-play" ng-if="episode.files.length" ui-sref="player({videoId: episode.id})"><i class="ion-play"></i></span>
                    </div>

                    <div class="extra-episode-info" ng-show="visible || (episode.episode_number == video.episode_number && episode.season_number == video.season_number)">
                      <div class="image-wrapper">
                        <img ng-if="episode.still_path" ng-src="https://image.tmdb.org/t/p/w92/{{episode.still_path}}"/>
                        <div ng-if="!episode.still_path" class="fallback-image"></div>
                      </div>

                      <p>{{episode.overview}}</p>
                    </div>
                  </li>
                </ul>
              </div>
            </div>
          </div>
        </div>
      </div>

      <div class="player-control-button player-fill-screen ion-android-wifi" ng-click="createNewPlayerSession()"></div>

      <div class="player-control-button player-fill-screen"
           ng-click="fullScreen()" ng-class="{'ion-arrow-shrink': isFullScreen, 'ion-arrow-expand': !isFullScreen}"></div>
    </section>
  </div>

  <video id="video">
    <source src="{{trustSrc(video.files[0].src)}}" type="{{video.files[0].contentType}}">
    Your browser does not support the video element.
  </video>
</div><commit_msg>revert source in video - leading to some errors because file is not initially present. Might have to wrap a directive around that.<commit_after><div class="player-wrapper" ng-mousemove="showControls()" ng-mouseleave="delayHideControls()">

  <i class="ion-android-arrow-back player-back" ng-class="{'visible': controlsVisible}" ng-click="backToDash()"></i>


  <div class="overlay" ng-class="{'visible': overlayVisible}">
    <div class="video-info">
      <p>You're watching</p>

      <h1 ng-show="video.show">{{video.show.name}}</h1>
      <h1 ng-show="!video.show">{{video.title}}</h1>

      <h3 ng-show="video.show">{{video.episodeString}} - {{video.name}}</h3>

      <p>{{video.overview}}</p>
    </div>
  </div>


  <div class="spinner" ng-show="loading">
    <div class="bounce1"></div>
    <div class="bounce2"></div>
    <div class="bounce3"></div>
  </div>



  <div class="player-controls-wrapper player-active no-select" ng-class="{'visible': controlsVisible}" ng-hide="loading && !initialPlay">

    <div class="slider-ui-wrapper" ng-show="!volumeOpen">
      <div class="player-ui-slider" ui-slider="scrubberOptions" min="0" max="{{videoDuration}}" ng-model="currentTime"></div>
      <div class="time-display">
        <strong ng-show="currentTime">
          <span ng-if="currentTime >= 3600">{{currentTime | secondsToDateTime | date:'hh:mm:ss'}}</span>
          <span ng-if="currentTime < 3600">{{currentTime | secondsToDateTime | date:'mm:ss'}}</span>
        </strong>
        <span ng-if="videoDuration >= 3600">{{videoDuration | secondsToDateTime | date:'hh:mm:ss'}}</span>
        <span ng-if="videoDuration < 3600">{{videoDuration | secondsToDateTime | date:'mm:ss'}}</span>
      </div>
    </div>

    <section class="player-control-bar no-select">

      <div class="player-control-button player-play-pause play ion-play" ng-show="!playing" ng-click="play()"></div>

      <div class="player-control-button player-play-pause play ion-pause" ng-show="playing" ng-click="pause()"></div>

      <div class="volume-control player-control-button volume" ng-mouseleave="volumeOpen = false" ng-mouseenter="volumeOpen = true">
        <i ng-class="{
        'ion-volume-mute': volumeLevel == 0,
        'ion-volume-low': volumeLevel > 0 && volumeLevel < 3,
        'ion-volume-medium': volumeLevel >= 3 && volumeLevel < 6,
        'ion-volume-high': volumeLevel >= 6
        }" ng-click="playerVolumeToggle()"
           ></i>

        <div id="player-menu-volume" class="player-menu" ng-show="volumeOpen">
          <div class="volume-menu-content">

            <div class="player-ui-slider volume-scrubber" ui-slider="volumeScrubberOptions"  min="0" max="10" step="1" ng-model="volumeLevel"></div>
          </div>
        </div>
      </div>


      <div class="player-status" ng-if="video.show">
        <span class="player-status-main-title">{{video.show.name}}</span>
        <span>{{video.episodeString}}</span>
        <span>{{video.name}}</span>
      </div>

      <div class="player-status" ng-if="!video.show">
        <span class="player-status-main-title">{{video.title}}</span>
      </div>

      <div class="player-control-button player-next-episode ion-ios-skipforward" ng-if="video.nextEpisode" ng-click="nextEpisode()"></div>

      <div class="player-control-button player-episode-selector" ng-if="video.show">
        <i class="ion-ios-browsers" ng-click="episodeBrowseOpen = !episodeBrowseOpen"></i>
        <div id="player-menu-episode-selector" class="player-menu" ng-show="episodeBrowseOpen">
          <div class="episode-selector-container">
            <div class="episode-selector-slider" ng-class="{'slide-left': selectedEpisodes}">
              <div class="season-list-container">
                <h2 class="seasons-title">{{video.show.name}}</h2>
                <ul class="season-list">
                  <li class="season icon-player-forward-arrow" ng-click="toggleSelectEpisodes(episodes)"
                      ng-repeat="(season, episodes) in groupedEpisodes">
                    <span>Season {{season}}</span>
                  </li>
                </ul>
              </div>
            </div>

            <div class="episode-selector-slider" ng-class="{'slide-left': selectedEpisodes}">
              <div class="season-list-container">
                <h2 class="seasons-title" ng-click="toggleSelectEpisodes()">
                  <span class="back-button"><i class="ion-chevron-left"></i></span>
                  Season {{selectedEpisodes[0].season_number}}
                </h2>
                <ul class="episode-list">
                  <li class="episode icon-player-forward-arrow" ng-repeat="episode in selectedEpisodes" ng-click="visible = !visible"
                      ng-class="{'current': (episode.episode_number == video.episode_number && episode.season_number == video.season_number), 'no-files': !episode.files.length}" >
                    <div class="flex-wrapper">
                      <span class="episode-number">{{episode.episode_number | padnumber:2}}</span>
                      <span class="episode-name">{{episode.name}}</span>
                      <span class="episode-play" ng-if="episode.files.length" ui-sref="player({videoId: episode.id})"><i class="ion-play"></i></span>
                    </div>

                    <div class="extra-episode-info" ng-show="visible || (episode.episode_number == video.episode_number && episode.season_number == video.season_number)">
                      <div class="image-wrapper">
                        <img ng-if="episode.still_path" ng-src="https://image.tmdb.org/t/p/w92/{{episode.still_path}}"/>
                        <div ng-if="!episode.still_path" class="fallback-image"></div>
                      </div>

                      <p>{{episode.overview}}</p>
                    </div>
                  </li>
                </ul>
              </div>
            </div>
          </div>
        </div>
      </div>

      <div class="player-control-button player-fill-screen ion-android-wifi" ng-click="createNewPlayerSession()"></div>

      <div class="player-control-button player-fill-screen"
           ng-click="fullScreen()" ng-class="{'ion-arrow-shrink': isFullScreen, 'ion-arrow-expand': !isFullScreen}"></div>
    </section>
  </div>

  <video id="video" src="{{trustSrc(video.files[0].src)}}"></video>
</div>
{'fraction_non_alphanumeric': 0.18453689167974882, 'fraction_numerical': 0.007142857142857143, 'mean_word_length': 2.6486254295532645, 'pattern_counts': {'":': 0, '<': 278, '<?xml version=': 0, '>': 280, 'https://': 2, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 18, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '2769385', 'n_tokens_mistral': 4129, 'n_tokens_neox': 3817, 'n_words': 615}