function parseTzId(t){return/^GMT\+([0]\d|[1][0-2]):[0]{2}$/i.test(t)?"Etc/GMT-"+parseInt(t.substring(4,6)):/^GMT-([0]\d|[1][0-4]):[0]{2}$/i.test(t)?"Etc/GMT+"+parseInt(t.substring(4,6)):t}window.Dates={newInstance:function(t,e){var n,o;return e=e?parseTzId(e):zk.mm.tz.guess(),0==arguments.length?n=zk.mm():"number"==typeof t?n=zk.mm(t):t instanceof DateImpl?(n=zk.mm(t._moment),e=t._timezone):t instanceof Array&&(o=new Date(Date.UTC.apply(null,t)),t[0]<100&&o.setUTCFullYear(t[0]),n=zk.mm.tz([o.getUTCFullYear(),o.getUTCMonth(),o.getUTCDate(),o.getUTCHours(),o.getUTCMinutes(),o.getUTCSeconds(),o.getUTCMilliseconds()],e)),new DateImpl(n,e)}},window.DateImpl=function(t,e){this._moment=t,this._timezone=e},DateImpl.prototype={tz:function(t){return t&&(this._timezone=parseTzId(t)),this},_getTzMoment:function(){return this._moment.tz(this._timezone)},_getUTCMoment:function(){return this._moment.tz("UTC")},getTimeZone:function(){return this._timezone},getDate:function(){return this._getTzMoment().date()},getDay:function(){return this._getTzMoment().day()},getFullYear:function(){return this._getTzMoment().year()},getHours:function(){return this._getTzMoment().hour()},getMilliseconds:function(){return this._getTzMoment().millisecond()},getMinutes:function(){return this._getTzMoment().minute()},getMonth:function(){return this._getTzMoment().month()},getSeconds:function(){return this._getTzMoment().second()},getTime:function(){return this._moment.valueOf()},getTimezoneOffset:function(){return-this._getTzMoment().utcOffset()},getUTCDate:function(){return this._getUTCMoment().date()},getUTCDay:function(){return this._getUTCMoment().day()},getUTCFullYear:function(){return this._getUTCMoment().year()},getUTCHours:function(){return this._getUTCMoment().hour()},getUTCMilliseconds:function(){return this._getUTCMoment().millisecond()},getUTCMinutes:function(){return this._getUTCMoment().minute()},getUTCMonth:function(){return this._getUTCMoment().month()},getUTCSeconds:function(){return this._getUTCMoment().second()},getYear:function(){return this._getTzMoment().year()-1900},setDate:function(t){return this._getTzMoment().date(t).valueOf()},setFullYear:function(t,e,n){var o=this._getTzMoment();return o.year(t),null!=e&&(o.month(e),null!=n&&o.date(n)),o.valueOf()},setHours:function(t,e,n,o){var u=this._getTzMoment();return u.hour(t),null!=e&&(u.minute(e),null!=n&&(u.second(n),null!=o&&u.millisecond(o))),u.valueOf()},setMilliseconds:function(t){return this._getTzMoment().millisecond(t).valueOf()},setMinutes:function(t){return this._getTzMoment().minute(t).valueOf()},setMonth:function(t){return this._getTzMoment().month(t).valueOf()},setSeconds:function(t){return this._getTzMoment().second(t).valueOf()},setTime:function(t){return this._moment=zk.mm(t),this._moment.valueOf()},setUTCDate:function(t){return this._getUTCMoment().date(t).valueOf()},setUTCFullYear:function(t){return this._getUTCMoment().year(t).valueOf()},setUTCHours:function(t){return this._getUTCMoment().hour(t).valueOf()},setUTCMilliseconds:function(t){return this._getUTCMoment().millisecond(t).valueOf()},setUTCMinutes:function(t){return this._getUTCMoment().minute(t).valueOf()},setUTCMonth:function(t){return this._getUTCMoment().month(t).valueOf()},setUTCSeconds:function(t){return this._getUTCMoment().second(t).valueOf()},setYear:function(t){return this._getTzMoment().year(t).valueOf()},toString:function(){return this._getTzMoment().toString()},valueOf:function(){return this._moment.valueOf()},toDateString:function(){return""},toTimeString:function(){return""},toLocaleDateString:function(){return""},toLocaleTimeString:function(){return""},toUTCString:function(){return""},toISOString:function(){return""},toJSON:function(t){return""}};