 if ( this.month ) { this.unit = "month"; var gap = ( this.month - today.getMonth() ), mod = 12; this.months = gap ? ( ( gap + ( orient * mod ) ) % mod ) : ( orient * mod ) ; this.month = null; }  if ( !this.unit ) { this.unit = "day"; }  if ( this[this.unit + "s" ] == null || this.operator != null ) { if ( !this.value ) { this.value = 1 }  if ( this.unit == "week" ) { this.unit = "day"; this.value = this.value * 7; }  this[ this.unit + "s" ] = this.value * orient; } return today.add(this); } else { if ( this.meridian && this.hour ) { this.hour = ( this.hour < 13 && this.meridian == "p" ) ? this.hour + 12 : this.hour ; } if ( this.month && ! this.day ) { this.day = 1; }  return today.set(this); } 
}  if (this.now) { return new Date(); }  var today = Date.today(); var method = null;  var expression = !!(this.days != null || this.orient || this.operator); if (expression) { var gap, mod, orient; orient = ((this.orient == "past" || this.operator == "subtract") ? -1 : 1);  if (this.weekday) { this.unit = "day"; gap = (Date.getDayNumberFromName(this.weekday) - today.getDay()); mod = 7; this.days = gap ? ((gap + (orient * mod)) % mod) : (orient * mod); } if (this.month) { this.unit = "month"; gap = (this.month - today.getMonth()); mod = 12; this.months = gap ? ((gap + (orient * mod)) % mod) : (orient * mod); this.month = null; } if (!this.unit) { this.unit = "day"; } if (this[this.unit + "s"] == null || this.operator != null) { if (!this.value) { this.value = 1; }  if (this.unit == "week") { this.unit = "day"; this.value = this.value * 7; }  this[this.unit + "s"] = this.value * orient; } return today.add(this); } else { if (this.meridian && this.hour) { this.hour = (this.hour < 13 && this.meridian == "p") ? this.hour + 12 : this.hour; } if (this.weekday && !this.day) { this.day = (today.addDays((Date.getDayNumberFromName(this.weekday) - today.getDay()))).getDate(); } if (this.month && !this.day) { this.day = 1; } return today.set(this); } 
        finish: function (x) { 	        x = ( x instanceof Array ) ? flattenAndCompact(x) : [ x ];    				    if ( x.length == 0 ) { 		        return null; 		    }    	    	        for( var i = 0 ; i < x.length ; i++ ) { 		        if ( typeof x[i] == "function" ) {		            x[i].call( this ); 		        }	        }    	    		    if ( this.now ) { 		        return new Date(); 		    }    				    var today = Date.today(); 		    var method = null;    				    var expression = !!( this.days != null || this.orient || this.operator );		    if ( expression ) {		        orient = ( ( this.orient == "past" || this.operator == "subtract") ? -1 : 1 );    	                      if ( this.weekday ) {		            this.unit = "day";                    var gap = ( Date.getDayNumberFromName( this.weekday ) - today.getDay() ), mod = 7;                    this.days = gap ? ( ( gap + ( orient * mod ) ) % mod ) : ( orient * mod ) ;                }    	        	            if ( this.month ) {				    this.unit = "month";                    var gap = ( this.month - today.getMonth() ), mod = 12;	                this.months = gap ? ( ( gap + ( orient * mod ) ) % mod ) : ( orient * mod ) ;	                this.month = null;	            }    	      	            if ( !this.unit ) { 	                this.unit = "day"; 	            }    	      	            if ( this[this.unit + "s" ] == null || this.operator != null ) {	                if ( !this.value ) { 	                    this.value = 1 	                }    								    if ( this.unit == "week" ) { 					    this.unit = "day"; 					    this.value = this.value * 7; 				    }    	            	                this[ this.unit + "s" ] = this.value * orient;	            }			    return today.add(this);		    } else {		        if ( this.meridian && this.hour ) {			        this.hour = ( this.hour < 13 && this.meridian == "p" ) ? this.hour + 12 : this.hour ;					        }			    if ( this.month && ! this.day ) { 			        this.day = 1; 			    }    						    return today.set(this);		    }        }
2975	/local1/tlutelli/issta_data/temp/all_js/javascript/2007_temp/2007/2975/5112f6b1851962e6f423c16459e81b9ea423f71f/parser-debug.js/clean/src/parser-debug.js