<commit_before>(function(){
	var sWays = 'fold-left,fold-right,fold-top,fold-bottom,fold-lefttop,fold-leftbottom,fold-righttop,fold-rightbottom,fold-vertical,fold-horizontal,slide-left,slide-right,slide-top,slide-bottom,slide-lefttop,slide-leftbottom,slide-righttop,slide-rightbottom,fade,shrink,static,toggle-left,toggle-right,toggle-top,toggle-bottom,toggle-lefttop,toggle-leftbottom,toggle-righttop,toggle-rightbottom',
		sEasings = 'swing,easeInQuad,easeOutQuad,easeInOutQuad,easeInCubic,easeOutCubic,easeInOutCubic,easeInQuart,easeOutQuart,easeInOutQuart,easeInQuint,easeOutQuint,easeInOutQuint,easeInSine,easeOutSine,easeInOutSine,easeInExpo,easeOutExpo,easeInOutExpo,easeInCirc,easeOutCirc,easeInOutCirc,easeInElastic,easeOutElastic,easeInOutElastic,easeInBack,easeOutBack,easeInOutBack,easeInBounce,easeOutBounce,easeInOutBounce';

	function random(sEnumString) {
		var array = sEnumString.split(','),
			length = array.length;
		return array[Math.floor(Math.random() * length)];
	}

	function opposite(string) {
		var str = string;
		if ($.inArray(str, ['fade', 'shrink', 'static']) < 0) {
			if (str.indexOf('left') > 0) str = str.replace('left', 'right');
			else str = str.replace('right', 'left');
			if (str.indexOf('top') > 0) str = str.replace('top', 'bottom');
			else str = str.replace('bottom', 'top');
		} else if (str == 'static') str = 'fade';
		//else str='static'
		return str;
	}
	//动画帧对象

	function isWay(way) {
		return (',' + sWays + ',').indexOf(',' + way + ',') >= 0;
	}

	function isEasing(easing) {
		return (',' + sEasings + ',').indexOf(',' + easing + ',') >= 0;
	}
	function isPos(n) {
		return n && /^[\+]?[0]*[1-9][\d]*$/.test(n)
	}

	function CHIscene(sJQcontainer, oOptions) {
	/*
		出入场效果，每个都可以作为出场或入场的方式
		fold-*，单向收缩/展开效果，通过增减帧的尺寸达到
		slide-*，滑入测出效果，通过增减帧的定位属性达到
		toggle-*，滑动一半再滑回来，两个相反的toggle配合就会像抽走一张，拿出下一张的样子
		fade，原位淡入淡出效果
		shrink，向中心缩小或由中心扩张
		static，帧直接出现在屏幕的位置上，比较适合与fade或shrink配合，作为入场方式
		*/


		if (!$(sJQcontainer).size()) return false;
		if (!oOptions) oOptions = {};
		var piDuration = 1e3,
			//每次切帧时的耗时（毫秒）
			sInWay = 'slide-left',
			//本帧的入场方式
			sInEasing = 'swing',
			//本帧入场时的easing方法
			sOutWay = 'slide-left',
			//本帧的出场方式
			sOutEasing = 'swing',
			//本帧出场时的easing方法
			aCollections = [],
			//本帧的动画集合，方便执行各动画的stop过程
			oJQscene = $(sJQcontainer),
			//帧的JQ对象
			piSceneWidth = oJQscene.outerWidth(),
			//帧的原始宽度（包括边框）
			piSceneHeight = oJQscene.outerHeight(),
			//帧的原始高度（包括边框）
			oJQstage = oJQscene.parent(),
			//舞台的JQ对象
			oResult = {};
		oResult.toString = function() {
			return oJQscene.selector;
		}
		oJQscene.css({
			width: piSceneWidth,
			height: piSceneHeight
		});

	/*
		设置上边的若干变量
		可以使用"名称，值"双参数
		也可以使用键值对对象作为参数
		
		默认的变量设置，有利于做循环动作
		通过外部调用ready()，来使帧准备
		入场第一次，bStartAfterIn=true执行start()，然后bStartOnce=true使bStartAfterIn=false
		出场前bStopBeforeOut=false，所以不执行stop(),over(),reset()任何一个
		再次入场，bStartAfterIn=false，不执行start()，帧继续着出场前的状态（如果是循环的就一直循环着）
		只有在bStopBeforeOut=true时，bOverBeforeOut与bResetBeforeOut才有效，且此两者只有一个有效，前者优先
		
		在设置in跟out时，可以使用逗号连接入场方式跟easing方法，如果没有则按入场方式算，如果只改变easing的话可以使用逗号加easing，省略入场方式
		*/
		function set(name, value) {
			switch (name) {
			case 'in':
				var way, easing = '';
				var way, easing = '';
				if (value.indexOf(',') > 0) {
					var arr = value.split(',');
					way = arr[0];
					easing = arr[1];
					arr = null;
				} else way = value;
				if (isWay(way)) sInWay = way;
				if (isEasing(easing)) sInEasing = easing;
				break;
			case 'out':
				var way, easing = '';
				if (value.indexOf(',') > 0) {
					var arr = value.split(',');
					way = arr[0];
					easing = arr[1];
					arr = null;
				} else way = value;
				if (isWay(way)) sOutWay = way;
				if (isEasing(easing)) sOutEasing = easing;
				break;
			case 'duration':
			case 'time':
				if (isPos(value)) piDuration = parseInt(value);
				break;
			}
		}
		oResult.set = function() {
			var arg = arguments;
			switch (arg.length) {
			case 1:
				var o = arg[0];
				if ($.isPlainObject(o))
					for (var name in o)
						set(name, o[name]);
				break;
			case 2:
				set(arg[0], arg[1]);
				break;
			}
			return oResult;
		}
		oResult.set(oOptions);<commit_msg>增加了set方法的功能<commit_after>(function(){
	var sWays = 'fold-left,fold-right,fold-top,fold-bottom,fold-lefttop,fold-leftbottom,fold-righttop,fold-rightbottom,fold-vertical,fold-horizontal,slide-left,slide-right,slide-top,slide-bottom,slide-lefttop,slide-leftbottom,slide-righttop,slide-rightbottom,fade,shrink,static,toggle-left,toggle-right,toggle-top,toggle-bottom,toggle-lefttop,toggle-leftbottom,toggle-righttop,toggle-rightbottom',
		sEasings = 'swing,easeInQuad,easeOutQuad,easeInOutQuad,easeInCubic,easeOutCubic,easeInOutCubic,easeInQuart,easeOutQuart,easeInOutQuart,easeInQuint,easeOutQuint,easeInOutQuint,easeInSine,easeOutSine,easeInOutSine,easeInExpo,easeOutExpo,easeInOutExpo,easeInCirc,easeOutCirc,easeInOutCirc,easeInElastic,easeOutElastic,easeInOutElastic,easeInBack,easeOutBack,easeInOutBack,easeInBounce,easeOutBounce,easeInOutBounce';

	function random(sEnumString) {
		var array = sEnumString.split(','),
			length = array.length;
		return array[Math.floor(Math.random() * length)];
	}

	function opposite(string) {
		var str = string;
		if ($.inArray(str, ['fade', 'shrink', 'static']) < 0) {
			if (str.indexOf('left') > 0) str = str.replace('left', 'right');
			else str = str.replace('right', 'left');
			if (str.indexOf('top') > 0) str = str.replace('top', 'bottom');
			else str = str.replace('bottom', 'top');
		} else if (str == 'static') str = 'fade';
		//else str='static'
		return str;
	}
	//动画帧对象

	function isWay(way) {
		return (',' + sWays + ',').indexOf(',' + way + ',') >= 0;
	}

	function isEasing(easing) {
		return (',' + sEasings + ',').indexOf(',' + easing + ',') >= 0;
	}
	function isPos(n) {
		return n && /^[\+]?[0]*[1-9][\d]*$/.test(n)
	}

	function CHIscene(sJQcontainer, oOptions) {
	/*
		出入场效果，每个都可以作为出场或入场的方式
		fold-*，单向收缩/展开效果，通过增减帧的尺寸达到
		slide-*，滑入测出效果，通过增减帧的定位属性达到
		toggle-*，滑动一半再滑回来，两个相反的toggle配合就会像抽走一张，拿出下一张的样子
		fade，原位淡入淡出效果
		shrink，向中心缩小或由中心扩张
		static，帧直接出现在屏幕的位置上，比较适合与fade或shrink配合，作为入场方式
		*/


		if (!$(sJQcontainer).size()) return false;
		if (!oOptions) oOptions = {};
		var piDuration = isPos(oOptions.duration) ? oOptions.duration : 1e3,
			//每次切帧时的耗时（毫秒）
			sInWay = isWay(oOptions.inWay) ? oOptions.inWay : 'slide-left',
			//本帧的入场方式
			sInEasing = isEasing(oOptions.inEasing) ? oOptions.inEasing : 'swing',
			//本帧入场时的easing方法
			sOutWay = isWay(oOptions.outWay) ? oOptions.outWay : 'slide-left',
			//本帧的出场方式
			sOutEasing = isEasing(oOptions.outEasing) ? oOptions.outEasing : 'swing',
			//本帧出场时的easing方法
			aCollections = [],
			//本帧的动画集合，方便执行各动画的stop过程
			oJQscene = $(sJQcontainer),
			//帧的JQ对象
			piSceneWidth = oJQscene.outerWidth(),
			//帧的原始宽度（包括边框）
			piSceneHeight = oJQscene.outerHeight(),
			//帧的原始高度（包括边框）
			oJQstage = oJQscene.parent(),
			//舞台的JQ对象
			oResult = {};
		oResult.toString = function() {
			return oJQscene.selector;
		}
		

	/*
		设置上边的若干变量
		可以使用"名称，值"双参数
		也可以使用键值对对象作为参数
		
		默认的变量设置，有利于做循环动作
		通过外部调用ready()，来使帧准备
		入场第一次，bStartAfterIn=true执行start()，然后bStartOnce=true使bStartAfterIn=false
		出场前bStopBeforeOut=false，所以不执行stop(),over(),reset()任何一个
		再次入场，bStartAfterIn=false，不执行start()，帧继续着出场前的状态（如果是循环的就一直循环着）
		只有在bStopBeforeOut=true时，bOverBeforeOut与bResetBeforeOut才有效，且此两者只有一个有效，前者优先
		
		在设置in跟out时，可以使用逗号连接入场方式跟easing方法，如果没有则按入场方式算，如果只改变easing的话可以使用逗号加easing，省略入场方式
		*/
		function set(name, value) {
			switch (name) {
			case 'in':
				var way, easing = '';
				var way, easing = '';
				if (value.indexOf(',') > 0) {
					var arr = value.split(',');
					way = arr[0];
					easing = arr[1];
					arr = null;
				} else way = value;
				if (isWay(way)) sInWay = way;
				if (isEasing(easing)) sInEasing = easing;
				break;
			case 'inWay':
				isWay(value) && sInWay = value;
				break;
			case 'inEasing':
				isEasing(value) && sInEasing = easing;
				break;
			case 'out':
				var way, easing = '';
				if (value.indexOf(',') > 0) {
					var arr = value.split(',');
					way = arr[0];
					easing = arr[1];
					arr = null;
				} else way = value;
				if (isWay(way)) sOutWay = way;
				if (isEasing(easing)) sOutEasing = easing;
				break;
			case 'outWay':
				isWay(value) && outWay = value;
				break;
			case 'outEasing':
				isEasing(value) && outEasing = easing;
				break;
			case 'duration':
			case 'time':
				if (isPos(value)) piDuration = parseInt(value);
				break;
			}
		}
		oResult.set = function() {
			var arg = arguments;
			switch (arg.length) {
			case 1:
				var o = arg[0];
				if ($.isPlainObject(o))
					for (var name in o)
						set(name, o[name]);
				break;
			case 2:
				set(arg[0], arg[1]);
				break;
			}
			return oResult;
		}
		oResult.set(oOptions);
{'fraction_non_alphanumeric': 0.16004112405757367, 'fraction_numerical': 0.004797806716929404, 'mean_word_length': 4.110916520723876, 'pattern_counts': {'":': 0, '<': 5, '<?xml version=': 0, '>': 15, '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': '1111471', 'n_tokens_mistral': 4511, 'n_tokens_neox': 4149, 'n_words': 526}