<commit_before>(function(){'use strict';
/*jshint -W069, bitwise: false*/
/*
  SortTable
  version 2e3 (enhanced)
  7th April 2007 (17th April 2015)
  https://github.com/White-Tiger/sorttable.js

  Instructions:
  Download this file
  Add <script src="sorttable.js"></script> to your HTML
  Add class="sortable" to any table you'd like to make sortable
  Click on the headers to sort

  Thanks to many, many people for contributions and suggestions.
  Licenced as X11: http://www.kryogenix.org/code/browser/licence.html
  This basically means: do what you want with it.
*/
var sorttable = {
	RE_NUMERIC: /^[+\-£$¤¥]{0,2}\s*(?:\d+(?:([ ',\.])(?:\d{3}([ ',\.]))*(\d*))?|([,\.])\d+)\s*[€₽%]?$/,
	RE_DATE: /^(\d\d?)[\/\.\-](\d\d?)[\/\.\-](\d{4})$/,
	CLASS_SORT: ['sorttable_sorted','sorttable_sorted_reverse'],
	CLASS_ARROW: ['sorttable_sortfwdind','sorttable_sortrevind'],
	ARROWS: /MSIE [5-8]\.\d/.test(navigator.userAgent) ? ['&nbsp<font face="webdings">5</font>','&nbsp<font face="webdings">6</font>'] : ['&nbsp;&#x25B4;','&nbsp;&#x25BE;'],
	_isi: false,
	_timer: null,
	init: function() {
		// quit if this function has already been called
		if (sorttable._isi) return;
		sorttable._isi = true;
		// kill the init timer for Safari
		if (sorttable._timer) clearInterval(sorttable._timer);

		if (!document.createElement || !document.getElementsByTagName) return;

		var tables = document.getElementsByTagName('table');
		for (var i=0,ie=tables.length; i<ie; ++i) {
			if (tables[i].rows.length && tables[i].className.search(/\bsortable\b/) != -1)
				sorttable.makeSortable(tables[i]);
		}
	},

	addOnClick: function(info,cells) {
		for (var i=0,ie=cells.length; i<ie; ++i) {
			if (/\bsorttable_nosort\b/.test(cells[i].className))
				continue;
			if (!info[i])
				info[i] = {known:-1,func:null,heads:[]};
			info[i].heads.push(cells[i]);
			cells[i]['stCol'] = i;
			dean_addEvent(cells[i], 'click', sorttable.innerSortFunction);
		}
	},
	makeSortable: function(table) {
		if (table['stInfo'])
			return;
		if (!table.getElementsByTagName('thead').length) {
			// table doesn't have a tHead. Since it should have, create one and
			// put the first table row in it.
			var the = document.createElement('thead');
			the.appendChild(table.rows[0]);
			table.insertBefore(the, table.firstChild);
		}
		// Safari doesn't support table.tHead, sigh
		if (!table.tHead) table.tHead = table.getElementsByTagName('thead')[0];

		var info = table['stInfo'] = [];
		info.arrows = [];
		// activate sorttable for columns
		sorttable.addOnClick(info, table.tHead.rows[0].cells);

		var body = table.tBodies;
		for (var i=0,ie=body.length; i<ie; ++i) {
			var rows = body[i].rows;
			if (rows.length === 1 && rows[0].cells[0].nodeName === 'TH') {
				sorttable.addOnClick(info, rows[0].cells);
			}
		}

		var row = table.tFoot && table.tFoot.rows[0];
		if (row && row.cells[0].nodeName === 'TH')<commit_msg>check if table is null.<commit_after>(function(){'use strict';
/*jshint -W069, bitwise: false*/
/*
  SortTable
  version 2e3 (enhanced)
  7th April 2007 (17th April 2015)
  https://github.com/White-Tiger/sorttable.js

  Instructions:
  Download this file
  Add <script src="sorttable.js"></script> to your HTML
  Add class="sortable" to any table you'd like to make sortable
  Click on the headers to sort

  Thanks to many, many people for contributions and suggestions.
  Licenced as X11: http://www.kryogenix.org/code/browser/licence.html
  This basically means: do what you want with it.
*/
var sorttable = {
	RE_NUMERIC: /^[+\-£$¤¥]{0,2}\s*(?:\d+(?:([ ',\.])(?:\d{3}([ ',\.]))*(\d*))?|([,\.])\d+)\s*[€₽%]?$/,
	RE_DATE: /^(\d\d?)[\/\.\-](\d\d?)[\/\.\-](\d{4})$/,
	CLASS_SORT: ['sorttable_sorted','sorttable_sorted_reverse'],
	CLASS_ARROW: ['sorttable_sortfwdind','sorttable_sortrevind'],
	ARROWS: /MSIE [5-8]\.\d/.test(navigator.userAgent) ? ['&nbsp<font face="webdings">5</font>','&nbsp<font face="webdings">6</font>'] : ['&nbsp;&#x25B4;','&nbsp;&#x25BE;'],
	_isi: false,
	_timer: null,
	init: function() {
		// quit if this function has already been called
		if (sorttable._isi) return;
		sorttable._isi = true;
		// kill the init timer for Safari
		if (sorttable._timer) clearInterval(sorttable._timer);

		if (!document.createElement || !document.getElementsByTagName) return;

		var tables = document.getElementsByTagName('table');
		for (var i=0,ie=tables.length; i<ie; ++i) {
			if (tables[i].rows.length && tables[i].className.search(/\bsortable\b/) != -1)
				sorttable.makeSortable(tables[i]);
		}
	},

	addOnClick: function(info,cells) {
		for (var i=0,ie=cells.length; i<ie; ++i) {
			if (/\bsorttable_nosort\b/.test(cells[i].className))
				continue;
			if (!info[i])
				info[i] = {known:-1,func:null,heads:[]};
			info[i].heads.push(cells[i]);
			cells[i]['stCol'] = i;
			dean_addEvent(cells[i], 'click', sorttable.innerSortFunction);
		}
	},
	makeSortable: function(table) {
		if (table === null || table['stInfo'])
			return;
		if (!table.getElementsByTagName('thead').length) {
			// table doesn't have a tHead. Since it should have, create one and
			// put the first table row in it.
			var the = document.createElement('thead');
			the.appendChild(table.rows[0]);
			table.insertBefore(the, table.firstChild);
		}
		// Safari doesn't support table.tHead, sigh
		if (!table.tHead) table.tHead = table.getElementsByTagName('thead')[0];

		var info = table['stInfo'] = [];
		info.arrows = [];
		// activate sorttable for columns
		sorttable.addOnClick(info, table.tHead.rows[0].cells);

		var body = table.tBodies;
		for (var i=0,ie=body.length; i<ie; ++i) {
			var rows = body[i].rows;
			if (rows.length === 1 && rows[0].cells[0].nodeName === 'TH') {
				sorttable.addOnClick(info, rows[0].cells);
			}
		}

		var row = table.tFoot && table.tFoot.rows[0];
		if (row && row.cells[0].nodeName === 'TH')
{'fraction_non_alphanumeric': 0.2013053933356235, 'fraction_numerical': 0.015458605290278255, 'mean_word_length': 4.0546875, 'pattern_counts': {'":': 0, '<': 21, '<?xml version=': 0, '>': 15, 'https://': 2, 'lorem ipsum': 0, 'www.': 2, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 2, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '6187214', 'n_tokens_mistral': 2377, 'n_tokens_neox': 2132, 'n_words': 457}