code: function(historyinfo){
  		this.allerase();
  		
  		this.initpos = this.position = historyinfo.current || 0;
  		this.history = [];
  		var datas = historyinfo.datas || [];
  		for(var i=0,len=datas.length;i <len;i++){
  			var opelist = new this.klass.OperationList();
  			this.history.push(opelist);
  			var array = datas[i];
  			if(array.time!==void 0){
  				opelist.time = array.time;
  				array = array.ope;
  			}
  			for(var j=0,len2=array.length;j <len2;j++){
  				var strs = array[j].split(/,/);
  				var ope = null, List = this.operationlist;
  				for(var k=0;k <List.length;k++){
  					var ope1 = new List[k]();
  					if(ope1.decode(strs)){ ope = ope1; break;}
  				}
  				if(!!ope){
  					opelist.push(ope);
  					this.lastope = ope;
  				}
  			}
  		}
  		
  		this.checkexec();
  		
  		this.trialpos = historyinfo.trialpos || [];
  		if(this.trialpos.length>0){
  			this.resumeTrial();
  			this.limitTrialUndo = true;
  		}
  	}
docs: --------------------------------------------------------------------------- um.decodeHistory() オブジェクトを履歴情報に変換する um.encodeHistory() 履歴情報をオブジェクトに変換する ---------------------------------------------------------------------------