var dateFormat=function(){var t=/d{1,4}|m{1,4}|yy(?:yy)?|([HhMsTt])\1?|[LloSZ]|"[^"]*"|'[^']*'/g,r=/\b(?:[PMCEA][SDP]T|(?:Pacific|Mountain|Central|Eastern|Atlantic) (?:Standard|Daylight|Prevailing) Time|(?:GMT|UTC)(?:[-+]\d{4})?)\b/g,i=/[^-+\dA-Z]/g,n=function(n,t){n=String(n),t=t||2;while(n.length<t)n="0"+n;return n};return function(u,f,e){var h=dateFormat;arguments.length!=1||Object.prototype.toString.call(u)!="[object String]"||/\d/.test(u)||(f=u,u=undefined),u=u?new Date(u):new Date;if(isNaN(u))throw SyntaxError("invalid date");f=String(h.masks[f]||f||h.masks["default"]),f.slice(0,4)=="UTC:"&&(f=f.slice(4),e=!0);var o=e?"getUTC":"get",c=u[o+"Date"](),y=u[o+"Day"](),a=u[o+"Month"](),w=u[o+"FullYear"](),s=u[o+"Hours"](),b=u[o+"Minutes"](),k=u[o+"Seconds"](),l=u[o+"Milliseconds"](),v=e?0:u.getTimezoneOffset(),p={d:c,dd:n(c),ddd:h.i18n.dayNames[y],dddd:h.i18n.dayNames[y+7],m:a+1,mm:n(a+1),mmm:h.i18n.monthNames[a],mmmm:h.i18n.monthNames[a+12],yy:String(w).slice(2),yyyy:w,h:s%12||12,hh:n(s%12||12),H:s,HH:n(s),M:b,MM:n(b),s:k,ss:n(k),l:n(l,3),L:n(l>99?Math.round(l/10):l),t:s<12?"a":"p",tt:s<12?"am":"pm",T:s<12?"A":"P",TT:s<12?"AM":"PM",Z:e?"UTC":(String(u).match(r)||[""]).pop().replace(i,""),o:(v>0?"-":"+")+n(Math.floor(Math.abs(v)/60)*100+Math.abs(v)%60,4),S:["th","st","nd","rd"][c%10>3?0:(c%100-c%10!=10)*c%10]};return f.replace(t,function(n){return n in p?p[n]:n.slice(1,n.length-1)})}}();dateFormat.masks={"default":"ddd mmm dd yyyy HH:MM:ss",shortDate:"m/d/yy",mediumDate:"mmm d, yyyy",longDate:"mmmm d, yyyy",fullDate:"dddd, mmmm d, yyyy",shortTime:"h:MM TT",mediumTime:"h:MM:ss TT",longTime:"h:MM:ss TT Z",isoDate:"yyyy-mm-dd",isoTime:"HH:MM:ss",isoDateTime:"yyyy-mm-dd'T'HH:MM:ss",isoUtcDateTime:"UTC:yyyy-mm-dd'T'HH:MM:ss'Z'"},dateFormat.i18n={dayNames:["Sun","Mon","Tue","Wed","Thu","Fri","Sat","Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],monthNames:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec","January","February","March","April","May","June","July","August","September","October","November","December"]},Date.prototype.format=function(n,t){return dateFormat(this,n,t)}
