<commit_before>eg.module("eg", ["jQuery", eg, window], function($, ns, global) {
	var raf = global.requestAnimationFrame || global.webkitRequestAnimationFrame ||
				global.mozRequestAnimationFrame || global.msRequestAnimationFrame;
	var caf = global.cancelAnimationFrame || global.webkitCancelAnimationFrame ||
				global.mozCancelAnimationFrame || global.msCancelAnimationFrame;

	if (raf && !caf) {
		var keyInfo = {};
		var oldraf = raf;
		raf = function(callback) {
			function wrapCallback() {
				if (keyInfo[key]) {
					callback();
				}
			}
			var key = oldraf(wrapCallback);
			keyInfo[key] = true;
			return key;
		};
		caf = function(key) {
			delete keyInfo[key];
		};
	} else if (!(raf && caf)) {
		raf = function(callback) {
			return global.setTimeout(callback, 16);
		};
		caf = global.clearTimeout;
	}

	function resultCache(scope, name, param, defaultValue) {
		var method = scope.hook[name];
		if (method) {
			defaultValue = method.apply(scope, param);
		}

		scope[name] = function() {
			var method = scope.hook[name];
			if (method) {
				return method.apply(scope, param);
			}
			return defaultValue;
		};
		return defaultValue;
	}

	/**
	 * @namespace eg
	 * @group egjs
	 */
	var ua;
	/**
	 * @name eg.VERSION
	 * @description version infomation
	 * @ko 버전 정보
	 */
	ns.VERSION = "#VERSION#";
	ns.hook =  {
		// isHWAccelerable : null,
		// isTransitional 	: null,
		// agent : null
	};
	/**
	* Get Agent Information
	* This method is return cached value.
	* @ko Agent 정보를 반환한다. 값은 캐싱된다.
	* @method eg#agent
	* @return {Object} agent
	* @return {String} agent.os os infomation <ko>os 정보 객체</ko>
	* @return {String} agent.os.name os name (android, ios, window, mac) <ko>os 이름 (android, ios, window, mac)</ko>
	* @return {String} agent.os.version os version <ko>os 버전</ko>
	* @return {String} agent.browser browser information <ko>브라우저 정보 객체</ko>
	* @return {String} agent.browser.name browser name (default, safari, chrome, sbrowser, ie, firefox) <ko>브라우저 이름 (default, safari, chrome, sbrowser, ie, firefox)</ko>
	* @return {String} agent.browser.version browser version <ko>브라우저 버전 정보</ko>
	* @return {String} agent.browser.webview check whether browser is webview <ko>웹뷰 브라우저 여부</ko>
	* @example
eg.agent();
// {
//     os : {
//          name : "ios",
//          version : "8.2"
//     },
//     browser : {
//          name : "safari",
//          version : "8.2"
//          nativeVersion : "-1"
//     }
// }


eg.hook.agent = function(agent) {
if(agent.os.name === "naver") {
	agent.browser.name = "inapp";
	return agent;
}
}
	*/
	/*
	*	{String|RegEx} subString
	*	{String|RegEx} identity
	*	{String|RegEx} versionSearch
	*	{String|RegEx} conflictOSIdentity
	*	{String|RegEx} webviewVersion
	*	{String|RegEx} webviewToken
	*	{String} versionAlias
	*/
	var userAgentRules = {
		browser: [{
			subString: "PhantomJS",
			identity: "PhantomJS"
		}, {
			subString: "SAMSUNG",
			identity: "SBrowser",
			versionSearch: "Chrome",
			conflictOSIdentity: "Windows Phone"
		}, {
			subString: "Chrome",
			identity: "Chrome"
		}, {
			subString: /(iPhone)|(iPad)/i,
			identity: "Safari",
			versionSearch: "Version",
			conflictOSIdentity: /(Android)|(Windows Phone)/i,
			webviewVersion: /-1/
		}, {
			subString: "Apple",
			identity: "Safari",
			versionSearch: "Version",
			conflictOSIdentity: /(Android)/i
		}, {
			identity: "Opera",
			versionSearch: "Version"
		}, {
			subString: "Firefox",
			identity: "Firefox"
		}, {
			subString: "MSIE",
			identity: "IE",
			versionSearch: "MSIE"
		}, {
			subString: "Trident",
			identity: "IE",
			versionSearch: "rv"
		}],
		os: [{
			subString: "Windows Phone",
			identity: "Window",
			versionSearch: "Windows Phone"
		},
		{
			subString: "Windows 2000",
			identity: "Window",
			versionAlias: "5.0"
		},
		{
			subString: "Win",
			identity: "Window",
			versionSearch: "Windows NT"
		},
		{
			subString: "iPhone",
			identity: "iOS",
			versionSearch: "iPhone OS",
			webviewToken: /(NAVER)|(DAUM)/i
		}, {
			subString: "iPad",
			identity: "iOS",
			versionSearch: "CPU OS",
			webviewToken: /(NAVER)|(DAUM)/i
		}, {
			subString: "Mac",
			versionSearch: "OS X",
			identity: "MAC"
		}, {
			subString: /android/i,
			identity: "Android",
			webviewToken: /(NAVER)|(DAUM)|(; wv)/i
		}],
		versionString: window.navigator.userAgent,
		defaultString: {
			browser: {
				version: "-1",
				name: "default"
			},
			os: {
				version: "-1"
			}
		}
	};

	var UAParser = {
		getBrowserVersion: function(browserName) {
			var ua = this.ua;
			var defaultBrowserVersion =
				userAgentRules.defaultString.browser.version;
			var browserVersion;
			var rules = [];
			var rule;
			var i;
			var ruleCount;<commit_msg>fix(eg): remove unused versionString<commit_after>eg.module("eg", ["jQuery", eg, window], function($, ns, global) {
	var raf = global.requestAnimationFrame || global.webkitRequestAnimationFrame ||
				global.mozRequestAnimationFrame || global.msRequestAnimationFrame;
	var caf = global.cancelAnimationFrame || global.webkitCancelAnimationFrame ||
				global.mozCancelAnimationFrame || global.msCancelAnimationFrame;

	if (raf && !caf) {
		var keyInfo = {};
		var oldraf = raf;
		raf = function(callback) {
			function wrapCallback() {
				if (keyInfo[key]) {
					callback();
				}
			}
			var key = oldraf(wrapCallback);
			keyInfo[key] = true;
			return key;
		};
		caf = function(key) {
			delete keyInfo[key];
		};
	} else if (!(raf && caf)) {
		raf = function(callback) {
			return global.setTimeout(callback, 16);
		};
		caf = global.clearTimeout;
	}

	function resultCache(scope, name, param, defaultValue) {
		var method = scope.hook[name];
		if (method) {
			defaultValue = method.apply(scope, param);
		}

		scope[name] = function() {
			var method = scope.hook[name];
			if (method) {
				return method.apply(scope, param);
			}
			return defaultValue;
		};
		return defaultValue;
	}

	/**
	 * @namespace eg
	 * @group egjs
	 */
	var ua;
	/**
	 * @name eg.VERSION
	 * @description version infomation
	 * @ko 버전 정보
	 */
	ns.VERSION = "#VERSION#";
	ns.hook =  {
		// isHWAccelerable : null,
		// isTransitional 	: null,
		// agent : null
	};
	/**
	* Get Agent Information
	* This method is return cached value.
	* @ko Agent 정보를 반환한다. 값은 캐싱된다.
	* @method eg#agent
	* @return {Object} agent
	* @return {String} agent.os os infomation <ko>os 정보 객체</ko>
	* @return {String} agent.os.name os name (android, ios, window, mac) <ko>os 이름 (android, ios, window, mac)</ko>
	* @return {String} agent.os.version os version <ko>os 버전</ko>
	* @return {String} agent.browser browser information <ko>브라우저 정보 객체</ko>
	* @return {String} agent.browser.name browser name (default, safari, chrome, sbrowser, ie, firefox) <ko>브라우저 이름 (default, safari, chrome, sbrowser, ie, firefox)</ko>
	* @return {String} agent.browser.version browser version <ko>브라우저 버전 정보</ko>
	* @return {String} agent.browser.webview check whether browser is webview <ko>웹뷰 브라우저 여부</ko>
	* @example
eg.agent();
// {
//     os : {
//          name : "ios",
//          version : "8.2"
//     },
//     browser : {
//          name : "safari",
//          version : "8.2"
//          nativeVersion : "-1"
//     }
// }


eg.hook.agent = function(agent) {
if(agent.os.name === "naver") {
	agent.browser.name = "inapp";
	return agent;
}
}
	*/
	/*
	*	{String|RegEx} subString
	*	{String|RegEx} identity
	*	{String|RegEx} versionSearch
	*	{String|RegEx} conflictOSIdentity
	*	{String|RegEx} webviewVersion
	*	{String|RegEx} webviewToken
	*	{String} versionAlias
	*/
	var userAgentRules = {
		browser: [{
			subString: "PhantomJS",
			identity: "PhantomJS"
		}, {
			subString: "SAMSUNG",
			identity: "SBrowser",
			versionSearch: "Chrome",
			conflictOSIdentity: "Windows Phone"
		}, {
			subString: "Chrome",
			identity: "Chrome"
		}, {
			subString: /(iPhone)|(iPad)/i,
			identity: "Safari",
			versionSearch: "Version",
			conflictOSIdentity: /(Android)|(Windows Phone)/i,
			webviewVersion: /-1/
		}, {
			subString: "Apple",
			identity: "Safari",
			versionSearch: "Version",
			conflictOSIdentity: /(Android)/i
		}, {
			identity: "Opera",
			versionSearch: "Version"
		}, {
			subString: "Firefox",
			identity: "Firefox"
		}, {
			subString: "MSIE",
			identity: "IE",
			versionSearch: "MSIE"
		}, {
			subString: "Trident",
			identity: "IE",
			versionSearch: "rv"
		}],
		os: [{
			subString: "Windows Phone",
			identity: "Window",
			versionSearch: "Windows Phone"
		},
		{
			subString: "Windows 2000",
			identity: "Window",
			versionAlias: "5.0"
		},
		{
			subString: "Win",
			identity: "Window",
			versionSearch: "Windows NT"
		},
		{
			subString: "iPhone",
			identity: "iOS",
			versionSearch: "iPhone OS",
			webviewToken: /(NAVER)|(DAUM)/i
		}, {
			subString: "iPad",
			identity: "iOS",
			versionSearch: "CPU OS",
			webviewToken: /(NAVER)|(DAUM)/i
		}, {
			subString: "Mac",
			versionSearch: "OS X",
			identity: "MAC"
		}, {
			subString: /android/i,
			identity: "Android",
			webviewToken: /(NAVER)|(DAUM)|(; wv)/i
		}],
		defaultString: {
			browser: {
				version: "-1",
				name: "default"
			},
			os: {
				version: "-1"
			}
		}
	};

	var UAParser = {
		getBrowserVersion: function(browserName) {
			var ua = this.ua;
			var defaultBrowserVersion =
				userAgentRules.defaultString.browser.version;
			var browserVersion;
			var rules = [];
			var rule;
			var i;
			var ruleCount;
{'fraction_non_alphanumeric': 0.16244141457179379, 'fraction_numerical': 0.0034086067319982955, 'mean_word_length': 3.14342453662842, 'pattern_counts': {'":': 0, '<': 31, '<?xml version=': 0, '>': 31, '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': '1134325', 'n_tokens_mistral': 3930, 'n_tokens_neox': 3511, 'n_words': 766}