From 8a0f7d58a136e87f71b790bbbb489af111472796 Mon Sep 17 00:00:00 2001 From: Determinant Date: Sun, 10 Feb 2019 20:01:42 -0500 Subject: render graph data in background; other improvements --- dist/background.js | 71 +++++++++++++++++++++++++++++++++- dist/index.html | 2 +- dist/index.js | 71 +++++++++++++++++++++++++++++++++- dist/manifest.json | 3 +- dist/popup.html | 2 +- dist/popup.js | 71 +++++++++++++++++++++++++++++++++- dist/vendors~background~index~popup.js | 1 - dist/vendors~index~popup.js | 70 --------------------------------- 8 files changed, 214 insertions(+), 77 deletions(-) delete mode 100644 dist/vendors~background~index~popup.js delete mode 100644 dist/vendors~index~popup.js (limited to 'dist') diff --git a/dist/background.js b/dist/background.js index bcfc4d5..4d2f7ec 100644 --- a/dist/background.js +++ b/dist/background.js @@ -1 +1,70 @@ -!function(t){function e(e){for(var r,i,o=e[0],u=e[1],l=e[2],c=0,f=[];c1;const p=(t,e,n)=>{const r=t[f].get(e);if(r){const e=r.value;if(g(t,e)){if(m(t,r),!t[o])return}else n&&(t[d]&&(r.value.now=Date.now()),t[c].unshiftNode(r));return e.value}},g=(t,e)=>{if(!e||!e.maxAge&&!t[u])return!1;const n=Date.now()-e.now;return e.maxAge?n>e.maxAge:t[u]&&n>t[u]},y=t=>{if(t[a]>t[s])for(let e=t[c].tail;t[a]>t[s]&&null!==e;){const n=e.prev;m(t,e),e=n}},m=(t,e)=>{if(e){const n=e.value;t[l]&&t[l](n.key,n.value),t[a]-=n.length,t[f].delete(n.key),t[c].removeNode(e)}};class j{constructor(t,e,n,r,s){this.key=t,this.value=e,this.length=n,this.now=r,this.maxAge=s||0}}const b=(t,e,n,r)=>{let s=n.value;g(t,s)&&(m(t,n),t[o]||(s=void 0)),s&&e.call(r,s.value,s.key,t)};t.exports=class{constructor(t){if("number"==typeof t&&(t={max:t}),t||(t={}),t.max&&("number"!=typeof t.max||t.max<0))throw new TypeError("max must be a non-negative number");this[s]=t.max||1/0;const e=t.length||v;if(this[i]="function"!=typeof e?v:e,this[o]=t.stale||!1,t.maxAge&&"number"!=typeof t.maxAge)throw new TypeError("maxAge must be a number");this[u]=t.maxAge||0,this[l]=t.dispose,this[h]=t.noDisposeOnSet||!1,this[d]=t.updateAgeOnGet||!1,this.reset()}set max(t){if("number"!=typeof t||t<0)throw new TypeError("max must be a non-negative number");this[s]=t||1/0,y(this)}get max(){return this[s]}set allowStale(t){this[o]=!!t}get allowStale(){return this[o]}set maxAge(t){if("number"!=typeof t)throw new TypeError("maxAge must be a non-negative number");this[u]=t,y(this)}get maxAge(){return this[u]}set lengthCalculator(t){"function"!=typeof t&&(t=v),t!==this[i]&&(this[i]=t,this[a]=0,this[c].forEach(t=>{t.length=this[i](t.value,t.key),this[a]+=t.length})),y(this)}get lengthCalculator(){return this[i]}get length(){return this[a]}get itemCount(){return this[c].length}rforEach(t,e){e=e||this;for(let n=this[c].tail;null!==n;){const r=n.prev;b(this,t,n,e),n=r}}forEach(t,e){e=e||this;for(let n=this[c].head;null!==n;){const r=n.next;b(this,t,n,e),n=r}}keys(){return this[c].toArray().map(t=>t.key)}values(){return this[c].toArray().map(t=>t.value)}reset(){this[l]&&this[c]&&this[c].length&&this[c].forEach(t=>this[l](t.key,t.value)),this[f]=new Map,this[c]=new r,this[a]=0}dump(){return this[c].map(t=>!g(this,t)&&{k:t.key,v:t.value,e:t.now+(t.maxAge||0)}).toArray().filter(t=>t)}dumpLru(){return this[c]}set(t,e,n){if((n=n||this[u])&&"number"!=typeof n)throw new TypeError("maxAge must be a number");const r=n?Date.now():0,o=this[i](e,t);if(this[f].has(t)){if(o>this[s])return m(this,this[f].get(t)),!1;const i=this[f].get(t).value;return this[l]&&(this[h]||this[l](t,i.value)),i.now=r,i.maxAge=n,i.value=e,this[a]+=o-i.length,i.length=o,this.get(t),y(this),!0}const d=new j(t,e,o,r,n);return d.length>this[s]?(this[l]&&this[l](t,e),!1):(this[a]+=d.length,this[c].unshift(d),this[f].set(t,this[c].head),y(this),!0)}has(t){if(!this[f].has(t))return!1;const e=this[f].get(t).value;return!g(this,e)}get(t){return p(this,t,!0)}peek(t){return p(this,t,!1)}pop(){const t=this[c].tail;return t?(m(this,t),t.value):null}del(t){m(this,this[f].get(t))}load(t){this.reset();const e=Date.now();for(let n=t.length-1;n>=0;n--){const r=t[n],s=r.e||0;if(0===s)this.set(r.k,r.v);else{const t=s-e;t>0&&this.set(r.k,r.v,t)}}}prune(){this[f].forEach((t,e)=>p(this,e,!1))}}},28:function(t,e,n){"use strict";function r(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function s(t,e){for(var n=0;n0?i.ids.pop():i.maxId++,i.inFlight[r]=e,n.port.postMessage(new p(r,s,a).deflate()),o});var s=chrome.runtime.connect({name:e});s.onMessage.addListener(function(t){console.log(t);var e=(t.type,n.requestCallback),r=e.inFlight[t.id];console.assert(void 0!==r),e.ids.push(t.id),r(t)}),this.port=s,this.requestCallback={inFlight:{},ids:[],maxId:0}}},301:function(t,e,n){var r={"./af":87,"./af.js":87,"./ar":88,"./ar-dz":89,"./ar-dz.js":89,"./ar-kw":90,"./ar-kw.js":90,"./ar-ly":91,"./ar-ly.js":91,"./ar-ma":92,"./ar-ma.js":92,"./ar-sa":93,"./ar-sa.js":93,"./ar-tn":94,"./ar-tn.js":94,"./ar.js":88,"./az":95,"./az.js":95,"./be":96,"./be.js":96,"./bg":97,"./bg.js":97,"./bm":98,"./bm.js":98,"./bn":99,"./bn.js":99,"./bo":100,"./bo.js":100,"./br":101,"./br.js":101,"./bs":102,"./bs.js":102,"./ca":103,"./ca.js":103,"./cs":104,"./cs.js":104,"./cv":105,"./cv.js":105,"./cy":106,"./cy.js":106,"./da":107,"./da.js":107,"./de":108,"./de-at":109,"./de-at.js":109,"./de-ch":110,"./de-ch.js":110,"./de.js":108,"./dv":111,"./dv.js":111,"./el":112,"./el.js":112,"./en-SG":113,"./en-SG.js":113,"./en-au":114,"./en-au.js":114,"./en-ca":115,"./en-ca.js":115,"./en-gb":116,"./en-gb.js":116,"./en-ie":117,"./en-ie.js":117,"./en-il":118,"./en-il.js":118,"./en-nz":119,"./en-nz.js":119,"./eo":120,"./eo.js":120,"./es":121,"./es-do":122,"./es-do.js":122,"./es-us":123,"./es-us.js":123,"./es.js":121,"./et":124,"./et.js":124,"./eu":125,"./eu.js":125,"./fa":126,"./fa.js":126,"./fi":127,"./fi.js":127,"./fo":128,"./fo.js":128,"./fr":129,"./fr-ca":130,"./fr-ca.js":130,"./fr-ch":131,"./fr-ch.js":131,"./fr.js":129,"./fy":132,"./fy.js":132,"./ga":133,"./ga.js":133,"./gd":134,"./gd.js":134,"./gl":135,"./gl.js":135,"./gom-latn":136,"./gom-latn.js":136,"./gu":137,"./gu.js":137,"./he":138,"./he.js":138,"./hi":139,"./hi.js":139,"./hr":140,"./hr.js":140,"./hu":141,"./hu.js":141,"./hy-am":142,"./hy-am.js":142,"./id":143,"./id.js":143,"./is":144,"./is.js":144,"./it":145,"./it-ch":146,"./it-ch.js":146,"./it.js":145,"./ja":147,"./ja.js":147,"./jv":148,"./jv.js":148,"./ka":149,"./ka.js":149,"./kk":150,"./kk.js":150,"./km":151,"./km.js":151,"./kn":152,"./kn.js":152,"./ko":153,"./ko.js":153,"./ku":154,"./ku.js":154,"./ky":155,"./ky.js":155,"./lb":156,"./lb.js":156,"./lo":157,"./lo.js":157,"./lt":158,"./lt.js":158,"./lv":159,"./lv.js":159,"./me":160,"./me.js":160,"./mi":161,"./mi.js":161,"./mk":162,"./mk.js":162,"./ml":163,"./ml.js":163,"./mn":164,"./mn.js":164,"./mr":165,"./mr.js":165,"./ms":166,"./ms-my":167,"./ms-my.js":167,"./ms.js":166,"./mt":168,"./mt.js":168,"./my":169,"./my.js":169,"./nb":170,"./nb.js":170,"./ne":171,"./ne.js":171,"./nl":172,"./nl-be":173,"./nl-be.js":173,"./nl.js":172,"./nn":174,"./nn.js":174,"./pa-in":175,"./pa-in.js":175,"./pl":176,"./pl.js":176,"./pt":177,"./pt-br":178,"./pt-br.js":178,"./pt.js":177,"./ro":179,"./ro.js":179,"./ru":180,"./ru.js":180,"./sd":181,"./sd.js":181,"./se":182,"./se.js":182,"./si":183,"./si.js":183,"./sk":184,"./sk.js":184,"./sl":185,"./sl.js":185,"./sq":186,"./sq.js":186,"./sr":187,"./sr-cyrl":188,"./sr-cyrl.js":188,"./sr.js":187,"./ss":189,"./ss.js":189,"./sv":190,"./sv.js":190,"./sw":191,"./sw.js":191,"./ta":192,"./ta.js":192,"./te":193,"./te.js":193,"./tet":194,"./tet.js":194,"./tg":195,"./tg.js":195,"./th":196,"./th.js":196,"./tl-ph":197,"./tl-ph.js":197,"./tlh":198,"./tlh.js":198,"./tr":199,"./tr.js":199,"./tzl":200,"./tzl.js":200,"./tzm":201,"./tzm-latn":202,"./tzm-latn.js":202,"./tzm.js":201,"./ug-cn":203,"./ug-cn.js":203,"./uk":204,"./uk.js":204,"./ur":205,"./ur.js":205,"./uz":206,"./uz-latn":207,"./uz-latn.js":207,"./uz.js":206,"./vi":208,"./vi.js":208,"./x-pseudo":209,"./x-pseudo.js":209,"./yo":210,"./yo.js":210,"./zh-cn":211,"./zh-cn.js":211,"./zh-hk":212,"./zh-hk.js":212,"./zh-tw":213,"./zh-tw.js":213};function s(t){var e=a(t);return n(e)}function a(t){var e=r[t];if(!(e+1)){var n=new Error("Cannot find module '"+t+"'");throw n.code="MODULE_NOT_FOUND",n}return e}s.keys=function(){return Object.keys(r)},s.resolve=a,t.exports=s,s.id=301},308:function(t,e,n){"use strict";function r(t){var e=this;if(e instanceof r||(e=new r),e.tail=null,e.head=null,e.length=0,t&&"function"==typeof t.forEach)t.forEach(function(t){e.push(t)});else if(arguments.length>0)for(var n=0,s=arguments.length;n1)n=e;else{if(!this.head)throw new TypeError("Reduce of empty list with no initial value");r=this.head.next,n=this.head.value}for(var s=0;null!==r;s++)n=t(n,r.value,s),r=r.next;return n},r.prototype.reduceReverse=function(t,e){var n,r=this.tail;if(arguments.length>1)n=e;else{if(!this.tail)throw new TypeError("Reduce of empty list with no initial value");r=this.tail.prev,n=this.tail.value}for(var s=this.length-1;null!==r;s--)n=t(n,r.value,s),r=r.prev;return n},r.prototype.toArray=function(){for(var t=new Array(this.length),e=0,n=this.head;null!==n;e++)t[e]=n.value,n=n.next;return t},r.prototype.toArrayReverse=function(){for(var t=new Array(this.length),e=0,n=this.tail;null!==n;e++)t[e]=n.value,n=n.prev;return t},r.prototype.slice=function(t,e){(e=e||this.length)<0&&(e+=this.length),(t=t||0)<0&&(t+=this.length);var n=new r;if(ethis.length&&(e=this.length);for(var s=0,a=this.head;null!==a&&sthis.length&&(e=this.length);for(var s=this.length,a=this.tail;null!==a&&s>e;s--)a=a.prev;for(;null!==a&&s>t;s--,a=a.prev)n.push(a.value);return n},r.prototype.reverse=function(){for(var t=this.head,e=this.tail,n=t;null!==n;n=n.prev){var r=n.prev;n.prev=n.next,n.next=r}return this.head=e,this.tail=t,this};try{n(309)(r)}catch(t){}},309:function(t,e,n){"use strict";t.exports=function(t){t.prototype[Symbol.iterator]=function*(){for(let t=this.head;t;t=t.next)yield t.value}}},32:function(t,e,n){"use strict";n.d(e,"a",function(){return l});var r=n(3),s=n.n(r);function a(t,e){for(var n=0;n0&&void 0!==arguments[0]&&arguments[0];return new Promise(function(e){return chrome.identity.getAuthToken({interactive:t},function(t){return e([t,!chrome.runtime.lastError])})}).then(function(t){var e=o(t,2),n=e[0];if(e[1])return n;throw l.notLoggedIn})}function d(){return null===c?f(!1).then(function(){return c=!0}).catch(function(){return c=!1}).then(function(){return c}):Promise.resolve(c)}function v(){return d().then(function(t){if(t)return f(!1);throw l.notLoggedIn})}function p(){return d().then(function(t){if(t)throw l.notLoggedOut;return f(!0).then(function(){return c=!0})})}function g(){return v().then(function(t){return fetch("https://accounts.google.com/o/oauth2/revoke?".concat(h({token:t})),{method:"GET",async:!0}).then(function(e){return function(t){return new Promise(function(e){return chrome.identity.removeCachedAuthToken({token:t},function(){return e()})})}(t)})}).then(function(){return c=!1})}function y(t){return fetch("".concat(u,"/users/me/calendarList?").concat(h({access_token:t})),{method:"GET",async:!0}).then(function(t){return t.json()}).then(function(t){return t.items})}function m(t){return fetch("".concat(u,"/colors?").concat(h({access_token:t})),{method:"GET",async:!0}).then(function(t){return t.json()})}function j(t,e){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null,s=arguments.length>4&&void 0!==arguments[4]?arguments[4]:null,a=arguments.length>5&&void 0!==arguments[5]?arguments[5]:100,o=[];return function n(c,f){return fetch("".concat(u,"/calendars/").concat(t,"/events?").concat(h({access_token:e,pageToken:c,syncToken:f,timeMin:r,timeMax:s,maxResults:a})),{method:"GET",async:!0}).then(function(t){if(200===t.status)return t.json();throw 410===t.status?l.invalidSyncToken:l.otherError}).then(function(t){return o.push.apply(o,i(t.items)),t.nextPageToken?n(t.nextPageToken,""):{nextSyncToken:t.nextSyncToken,results:o}})}("",n)}var b=function(){function t(e,n){var r=this,a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{maxCachedItems:100,nDaysPerSlot:10,largeQuery:10};!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this.calId=e,this.name=n,this.syncToken="",this.cache=new s.a({max:a.maxCachedItems,dispose:function(t,e){return r.onRemoveSlot(t,e)}}),this.eventMeta={},this.options=a,this.divider=864e5*this.options.nDaysPerSlot}var e,n,r;return e=t,(n=[{key:"dateToCacheKey",value:function(t){return Math.floor(t/this.divider)}},{key:"dateRangeToCacheKeys",value:function(t){return{start:this.dateToCacheKey(t.start),end:this.dateToCacheKey(new Date(t.end.getTime()-1))}}},{key:"getSlot",value:function(t){if(this.cache.has(t))return this.cache.get(t);var e={};return this.cache.set(t,e),e}},{key:"onRemoveSlot",value:function(t,e){for(var n in e){console.assert(this.eventMeta[n]);var r=this.eventMeta[n].keys;r.delete(t),0===r.size&&delete this.eventMeta[n]}}},{key:"slotStartDate",value:function(t){return new Date(t*this.divider)}},{key:"slotEndDate",value:function(t){return new Date((t+1)*this.divider)}},{key:"addEvent",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1];this.eventMeta.hasOwnProperty(t.id)&&this.removeEvent(t);for(var n=this.dateRangeToCacheKeys(t),r=n.start,s=n.end,a=this.cache.length,i=new Set,o=r;o<=s;o++)i.add(o),this.cache.has(o)||a++;if(this.eventMeta[t.id]={keys:i,summary:t.summary},e||!(a>this.options.maxCachedItems))if(r===s)this.getSlot(r)[t.id]={start:t.start,end:t.end,id:t.id};else{this.getSlot(r)[t.id]={start:t.start,end:this.slotEndDate(r),id:t.id},this.getSlot(s)[t.id]={start:this.slotStartDate(s),end:t.end,id:t.id};for(var u=r+1;u=n||r[a].end<=e||s.push({id:a,start:r[a].startn?n:r[a].end,summary:this.eventMeta[a].summary});return s}},{key:"getCachedEvents",value:function(t){for(var e=this.dateRangeToCacheKeys(t),n=e.start,r=e.end,s=this.getSlotEvents(n,t.start,t.end),a=n+1;an&&s.push.apply(s,i(this.getSlotEvents(r,t.start,t.end))),s}},{key:"sync",value:function(){var t=this;return this.token.then(function(e){return j(t.calId,e,t.syncToken).then(function(n){var r=n.results.map(function(n){return n.start?Promise.resolve(n):function(t,e,n){return fetch("".concat(u,"/calendars/").concat(t,"/events/").concat(e,"?").concat(h({access_token:n})),{method:"GET",async:!0}).then(function(t){return t.json()})}(t.calId,n.id,e)});return Promise.all(r).then(function(e){e.forEach(function(e){e.start=new Date(e.start.dateTime),e.end=new Date(e.end.dateTime),"confirmed"===e.status?t.addEvent(e):"cancelled"===e.status&&t.removeEvent(e)}),t.syncToken=n.nextSyncToken})})}).catch(function(e){if(e!==l.invalidSyncToken)throw e;t.syncToken="",t.sync()})}},{key:"getEvents",value:function(t,e){for(var n=this,r=this.dateRangeToCacheKeys({start:t,end:e}),s={},a=r.start;a<=r.end;a++)this.cache.has(a)||(s.hasOwnProperty("start")||(s.start=a),s.end=a);return console.log("start: ".concat(t," end: ").concat(e)),s.hasOwnProperty("start")?(console.assert(s.start<=s.end),s.end-s.start+1>this.options.largeQuery?(console.log("encounter large query, use direct fetch"),this.token.then(function(r){return j(n.calId,r,null,t.toISOString(),e.toISOString()).then(function(n){var r=[];return n.results.forEach(function(t){console.assert(t.start),t.start=new Date(t.start.dateTime),t.end=new Date(t.end.dateTime),r.push(t)}),r.filter(function(n){return!(n.start>=e||n.end<=t)}).map(function(n){return{id:n.id,start:n.starte?e:n.end,summary:n.summary}})})})):(console.log("fetching short event list"),this.token.then(function(t){return j(n.calId,t,null,n.slotStartDate(s.start).toISOString(),n.slotEndDate(s.end).toISOString()).then(function(t){t.results.forEach(function(t){"confirmed"===t.status&&(console.assert(t.start),t.start=new Date(t.start.dateTime),t.end=new Date(t.end.dateTime),n.addEvent(t,!0))}),""===n.syncToken&&(n.syncToken=t.nextSyncToken)})}).then(function(){return n.sync()}).then(function(){return n.getCachedEvents({start:t,end:e})}))):(console.log("cache hit"),this.sync().then(function(){return n.getCachedEvents({start:t,end:e})}))}},{key:"token",get:function(){return v()}}])&&a(e.prototype,n),r&&a(e,r),t}()},852:function(t,e,n){"use strict";n.r(e);var r=n(46),s=n(28),a=n(32),i=[],o=[],u={},l={},h={trackedPeriods:[{name:"Today",start:a.a.days(1),end:a.a.days(0)},{name:"Yesterday",start:a.a.days(2),end:a.a.days(1)},{name:"This Week",start:a.a.weeks(1),end:a.a.weeks(0)},{name:"This Month",start:a.a.months(1),end:a.a.months(0)}]};chrome.runtime.onConnect.addListener(function(t){console.assert("main"==t.name),t.onMessage.addListener(function(e){var n=s.a.inflate(e);switch(console.log(n),n.type){case s.c.updatePatterns:"analyze"==n.data.id?o=n.data.patterns:i=n.data.patterns,t.postMessage(n.genResp(null));break;case s.c.getPatterns:var a;a="analyze"==n.data.id?o:i,t.postMessage(n.genResp(a));break;case s.c.updateCalendars:for(var c in u=n.data)l.hasOwnProperty(c)||(l[c]=new r.a(c,u[c].summary));t.postMessage(n.genResp(null));break;case s.c.getCalendars:var f=u;n.data.enabledOnly&&(f=Object.keys(u).filter(function(t){return u[t].enabled}).reduce(function(t,e){return t[e]=u[e],t},{})),t.postMessage(n.genResp(f));break;case s.c.getCalEvents:l[n.data.id].getEvents(new Date(n.data.start),new Date(n.data.end)).catch(function(t){return console.log("cannot load calendar ".concat(n.data.id),t),[]}).then(function(e){console.log(e);var r=n.genResp(e.map(function(t){return{id:t.id,start:t.start.getTime(),end:t.end.getTime()}}));console.log(r),t.postMessage(r)});break;case s.c.updateConfig:for(var d in n.data)h[d]=n.data[d];t.postMessage(n.genResp(null));break;case s.c.getConfig:var v={};n.data.forEach(function(t){return v[t]=h[t]}),t.postMessage(n.genResp(v));break;default:console.error("unknown msg type")}})}),chrome.browserAction.onClicked.addListener(function(){chrome.tabs.create({url:"index.html"})})}}); \ No newline at end of file +!function(e){var t={};function n(r){if(t[r])return t[r].exports;var a=t[r]={i:r,l:!1,exports:{}};return e[r].call(a.exports,a,a.exports,n),a.l=!0,a.exports}n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var a in e)n.d(r,a,function(t){return e[t]}.bind(null,a));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=840)}([function(e,t,n){e.exports=n(333)()},function(e,t,n){"use strict";e.exports=n(328)},function(e,t,n){(function(e){e.exports=function(){"use strict";var t,r;function a(){return t.apply(null,arguments)}function i(e){return e instanceof Array||"[object Array]"===Object.prototype.toString.call(e)}function o(e){return null!=e&&"[object Object]"===Object.prototype.toString.call(e)}function s(e){return void 0===e}function u(e){return"number"==typeof e||"[object Number]"===Object.prototype.toString.call(e)}function l(e){return e instanceof Date||"[object Date]"===Object.prototype.toString.call(e)}function c(e,t){var n,r=[];for(n=0;n>>0,r=0;r0)for(n=0;n=0;return(i?n?"+":"":"-")+Math.pow(10,Math.max(0,a)).toString().substr(1)+r}var W=/(\[[^\[]*\])|(\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|YYYYYY|YYYYY|YYYY|YY|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|kk?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g,F=/(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g,z={},U={};function B(e,t,n,r){var a=r;"string"==typeof r&&(a=function(){return this[r]()}),e&&(U[e]=a),t&&(U[t[0]]=function(){return R(a.apply(this,arguments),t[1],t[2])}),n&&(U[n]=function(){return this.localeData().ordinal(a.apply(this,arguments),e)})}function G(e,t){return e.isValid()?(t=V(t,e.localeData()),z[t]=z[t]||function(e){var t,n,r,a=e.match(W);for(t=0,n=a.length;t=0&&F.test(e);)e=e.replace(F,r),F.lastIndex=0,n-=1;return e}var J=/\d/,q=/\d\d/,$=/\d{3}/,K=/\d{4}/,X=/[+-]?\d{6}/,Q=/\d\d?/,Z=/\d\d\d\d?/,ee=/\d\d\d\d\d\d?/,te=/\d{1,3}/,ne=/\d{1,4}/,re=/[+-]?\d{1,6}/,ae=/\d+/,ie=/[+-]?\d+/,oe=/Z|[+-]\d\d:?\d\d/gi,se=/Z|[+-]\d\d(?::?\d\d)?/gi,ue=/[0-9]{0,256}['a-z\u00A0-\u05FF\u0700-\uD7FF\uF900-\uFDCF\uFDF0-\uFF07\uFF10-\uFFEF]{1,256}|[\u0600-\u06FF\/]{1,256}(\s*?[\u0600-\u06FF]{1,256}){1,2}/i,le={};function ce(e,t,n){le[e]=O(t)?t:function(e,r){return e&&n?n:t}}function de(e,t){return d(le,e)?le[e](t._strict,t._locale):new RegExp(fe(e.replace("\\","").replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g,function(e,t,n,r,a){return t||n||r||a})))}function fe(e){return e.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")}var he={};function pe(e,t){var n,r=t;for("string"==typeof e&&(e=[e]),u(t)&&(r=function(e,n){n[t]=w(e)}),n=0;n68?1900:2e3)};var Se,De=Oe("FullYear",!0);function Oe(e,t){return function(n){return null!=n?(Ee(this,e,n),a.updateOffset(this,t),this):je(this,e)}}function je(e,t){return e.isValid()?e._d["get"+(e._isUTC?"UTC":"")+t]():NaN}function Ee(e,t,n){e.isValid()&&!isNaN(n)&&("FullYear"===t&&Ye(e.year())&&1===e.month()&&29===e.date()?e._d["set"+(e._isUTC?"UTC":"")+t](n,e.month(),Pe(n,e.month())):e._d["set"+(e._isUTC?"UTC":"")+t](n))}function Pe(e,t){if(isNaN(e)||isNaN(t))return NaN;var n,r=(t%(n=12)+n)%n;return e+=(t-r)/12,1===r?Ye(e)?29:28:31-r%7%2}Se=Array.prototype.indexOf?Array.prototype.indexOf:function(e){var t;for(t=0;t=0){var n=Array.prototype.slice.call(arguments);n[0]=e+400,t=new Date(Date.UTC.apply(null,n)),isFinite(t.getUTCFullYear())&&t.setUTCFullYear(e)}else t=new Date(Date.UTC.apply(null,arguments));return t}function Ue(e,t,n){var r=7+t-n,a=(7+ze(e,0,r).getUTCDay()-t)%7;return-a+r-1}function Be(e,t,n,r,a){var i,o,s=(7+n-r)%7,u=Ue(e,r,a),l=1+7*(t-1)+s+u;return l<=0?o=Te(i=e-1)+l:l>Te(e)?(i=e+1,o=l-Te(e)):(i=e,o=l),{year:i,dayOfYear:o}}function Ge(e,t,n){var r,a,i=Ue(e.year(),t,n),o=Math.floor((e.dayOfYear()-i-1)/7)+1;return o<1?(a=e.year()-1,r=o+Ve(a,t,n)):o>Ve(e.year(),t,n)?(r=o-Ve(e.year(),t,n),a=e.year()+1):(a=e.year(),r=o),{week:r,year:a}}function Ve(e,t,n){var r=Ue(e,t,n),a=Ue(e+1,t,n);return(Te(e)-r+a)/7}function Je(e,t){return e.slice(t,7).concat(e.slice(0,t))}B("w",["ww",2],"wo","week"),B("W",["WW",2],"Wo","isoWeek"),A("week","w"),A("isoWeek","W"),I("week",5),I("isoWeek",5),ce("w",Q),ce("ww",Q,q),ce("W",Q),ce("WW",Q,q),me(["w","ww","W","WW"],function(e,t,n,r){t[r.substr(0,1)]=w(e)}),B("d",0,"do","day"),B("dd",0,0,function(e){return this.localeData().weekdaysMin(this,e)}),B("ddd",0,0,function(e){return this.localeData().weekdaysShort(this,e)}),B("dddd",0,0,function(e){return this.localeData().weekdays(this,e)}),B("e",0,0,"weekday"),B("E",0,0,"isoWeekday"),A("day","d"),A("weekday","e"),A("isoWeekday","E"),I("day",11),I("weekday",11),I("isoWeekday",11),ce("d",Q),ce("e",Q),ce("E",Q),ce("dd",function(e,t){return t.weekdaysMinRegex(e)}),ce("ddd",function(e,t){return t.weekdaysShortRegex(e)}),ce("dddd",function(e,t){return t.weekdaysRegex(e)}),me(["dd","ddd","dddd"],function(e,t,n,r){var a=n._locale.weekdaysParse(e,r,n._strict);null!=a?t.d=a:p(n).invalidWeekday=e}),me(["d","e","E"],function(e,t,n,r){t[r]=w(e)});var qe="Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),$e="Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),Ke="Su_Mo_Tu_We_Th_Fr_Sa".split("_"),Xe=ue,Qe=ue,Ze=ue;function et(){function e(e,t){return t.length-e.length}var t,n,r,a,i,o=[],s=[],u=[],l=[];for(t=0;t<7;t++)n=h([2e3,1]).day(t),r=this.weekdaysMin(n,""),a=this.weekdaysShort(n,""),i=this.weekdays(n,""),o.push(r),s.push(a),u.push(i),l.push(r),l.push(a),l.push(i);for(o.sort(e),s.sort(e),u.sort(e),l.sort(e),t=0;t<7;t++)s[t]=fe(s[t]),u[t]=fe(u[t]),l[t]=fe(l[t]);this._weekdaysRegex=new RegExp("^("+l.join("|")+")","i"),this._weekdaysShortRegex=this._weekdaysRegex,this._weekdaysMinRegex=this._weekdaysRegex,this._weekdaysStrictRegex=new RegExp("^("+u.join("|")+")","i"),this._weekdaysShortStrictRegex=new RegExp("^("+s.join("|")+")","i"),this._weekdaysMinStrictRegex=new RegExp("^("+o.join("|")+")","i")}function tt(){return this.hours()%12||12}function nt(e,t){B(e,0,0,function(){return this.localeData().meridiem(this.hours(),this.minutes(),t)})}function rt(e,t){return t._meridiemParse}B("H",["HH",2],0,"hour"),B("h",["hh",2],0,tt),B("k",["kk",2],0,function(){return this.hours()||24}),B("hmm",0,0,function(){return""+tt.apply(this)+R(this.minutes(),2)}),B("hmmss",0,0,function(){return""+tt.apply(this)+R(this.minutes(),2)+R(this.seconds(),2)}),B("Hmm",0,0,function(){return""+this.hours()+R(this.minutes(),2)}),B("Hmmss",0,0,function(){return""+this.hours()+R(this.minutes(),2)+R(this.seconds(),2)}),nt("a",!0),nt("A",!1),A("hour","h"),I("hour",13),ce("a",rt),ce("A",rt),ce("H",Q),ce("h",Q),ce("k",Q),ce("HH",Q,q),ce("hh",Q,q),ce("kk",Q,q),ce("hmm",Z),ce("hmmss",ee),ce("Hmm",Z),ce("Hmmss",ee),pe(["H","HH"],be),pe(["k","kk"],function(e,t,n){var r=w(e);t[be]=24===r?0:r}),pe(["a","A"],function(e,t,n){n._isPm=n._locale.isPM(e),n._meridiem=e}),pe(["h","hh"],function(e,t,n){t[be]=w(e),p(n).bigHour=!0}),pe("hmm",function(e,t,n){var r=e.length-2;t[be]=w(e.substr(0,r)),t[Me]=w(e.substr(r)),p(n).bigHour=!0}),pe("hmmss",function(e,t,n){var r=e.length-4,a=e.length-2;t[be]=w(e.substr(0,r)),t[Me]=w(e.substr(r,2)),t[ke]=w(e.substr(a)),p(n).bigHour=!0}),pe("Hmm",function(e,t,n){var r=e.length-2;t[be]=w(e.substr(0,r)),t[Me]=w(e.substr(r))}),pe("Hmmss",function(e,t,n){var r=e.length-4,a=e.length-2;t[be]=w(e.substr(0,r)),t[Me]=w(e.substr(r,2)),t[ke]=w(e.substr(a))});var at,it=Oe("Hours",!0),ot={calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},longDateFormat:{LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"},invalidDate:"Invalid date",ordinal:"%d",dayOfMonthOrdinalParse:/\d{1,2}/,relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",ss:"%d seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},months:Ce,monthsShort:He,week:{dow:0,doy:6},weekdays:qe,weekdaysMin:Ke,weekdaysShort:$e,meridiemParse:/[ap]\.?m?\.?/i},st={},ut={};function lt(e){return e?e.toLowerCase().replace("_","-"):e}function ct(t){var r=null;if(!st[t]&&void 0!==e&&e&&e.exports)try{r=at._abbr,n(396)("./"+t),dt(r)}catch(e){}return st[t]}function dt(e,t){var n;return e&&((n=s(t)?ht(e):ft(e,t))?at=n:"undefined"!=typeof console&&console.warn&&console.warn("Locale "+e+" not found. Did you forget to load it?")),at._abbr}function ft(e,t){if(null!==t){var n,r=ot;if(t.abbr=e,null!=st[e])D("defineLocaleOverride","use moment.updateLocale(localeName, config) to change an existing locale. moment.defineLocale(localeName, config) should only be used for creating a new locale See http://momentjs.com/guides/#/warnings/define-locale/ for more info."),r=st[e]._config;else if(null!=t.parentLocale)if(null!=st[t.parentLocale])r=st[t.parentLocale]._config;else{if(null==(n=ct(t.parentLocale)))return ut[t.parentLocale]||(ut[t.parentLocale]=[]),ut[t.parentLocale].push({name:e,config:t}),null;r=n._config}return st[e]=new E(j(r,t)),ut[e]&&ut[e].forEach(function(e){ft(e.name,e.config)}),dt(e),st[e]}return delete st[e],null}function ht(e){var t;if(e&&e._locale&&e._locale._abbr&&(e=e._locale._abbr),!e)return at;if(!i(e)){if(t=ct(e))return t;e=[e]}return function(e){for(var t,n,r,a,i=0;i0;){if(r=ct(a.slice(0,t).join("-")))return r;if(n&&n.length>=t&&x(a,n,!0)>=t-1)break;t--}i++}return at}(e)}function pt(e){var t,n=e._a;return n&&-2===p(e).overflow&&(t=n[ve]<0||n[ve]>11?ve:n[ge]<1||n[ge]>Pe(n[ye],n[ve])?ge:n[be]<0||n[be]>24||24===n[be]&&(0!==n[Me]||0!==n[ke]||0!==n[we])?be:n[Me]<0||n[Me]>59?Me:n[ke]<0||n[ke]>59?ke:n[we]<0||n[we]>999?we:-1,p(e)._overflowDayOfYear&&(tge)&&(t=ge),p(e)._overflowWeeks&&-1===t&&(t=xe),p(e)._overflowWeekday&&-1===t&&(t=Le),p(e).overflow=t),e}function mt(e,t,n){return null!=e?e:null!=t?t:n}function _t(e){var t,n,r,i,o,s=[];if(!e._d){for(r=function(e){var t=new Date(a.now());return e._useUTC?[t.getUTCFullYear(),t.getUTCMonth(),t.getUTCDate()]:[t.getFullYear(),t.getMonth(),t.getDate()]}(e),e._w&&null==e._a[ge]&&null==e._a[ve]&&function(e){var t,n,r,a,i,o,s,u;if(null!=(t=e._w).GG||null!=t.W||null!=t.E)i=1,o=4,n=mt(t.GG,e._a[ye],Ge(jt(),1,4).year),r=mt(t.W,1),((a=mt(t.E,1))<1||a>7)&&(u=!0);else{i=e._locale._week.dow,o=e._locale._week.doy;var l=Ge(jt(),i,o);n=mt(t.gg,e._a[ye],l.year),r=mt(t.w,l.week),null!=t.d?((a=t.d)<0||a>6)&&(u=!0):null!=t.e?(a=t.e+i,(t.e<0||t.e>6)&&(u=!0)):a=i}r<1||r>Ve(n,i,o)?p(e)._overflowWeeks=!0:null!=u?p(e)._overflowWeekday=!0:(s=Be(n,r,a,i,o),e._a[ye]=s.year,e._dayOfYear=s.dayOfYear)}(e),null!=e._dayOfYear&&(o=mt(e._a[ye],r[ye]),(e._dayOfYear>Te(o)||0===e._dayOfYear)&&(p(e)._overflowDayOfYear=!0),n=ze(o,0,e._dayOfYear),e._a[ve]=n.getUTCMonth(),e._a[ge]=n.getUTCDate()),t=0;t<3&&null==e._a[t];++t)e._a[t]=s[t]=r[t];for(;t<7;t++)e._a[t]=s[t]=null==e._a[t]?2===t?1:0:e._a[t];24===e._a[be]&&0===e._a[Me]&&0===e._a[ke]&&0===e._a[we]&&(e._nextDay=!0,e._a[be]=0),e._d=(e._useUTC?ze:function(e,t,n,r,a,i,o){var s;return e<100&&e>=0?(s=new Date(e+400,t,n,r,a,i,o),isFinite(s.getFullYear())&&s.setFullYear(e)):s=new Date(e,t,n,r,a,i,o),s}).apply(null,s),i=e._useUTC?e._d.getUTCDay():e._d.getDay(),null!=e._tzm&&e._d.setUTCMinutes(e._d.getUTCMinutes()-e._tzm),e._nextDay&&(e._a[be]=24),e._w&&void 0!==e._w.d&&e._w.d!==i&&(p(e).weekdayMismatch=!0)}}var yt=/^\s*((?:[+-]\d{6}|\d{4})-(?:\d\d-\d\d|W\d\d-\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?::\d\d(?::\d\d(?:[.,]\d+)?)?)?)([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?$/,vt=/^\s*((?:[+-]\d{6}|\d{4})(?:\d\d\d\d|W\d\d\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?:\d\d(?:\d\d(?:[.,]\d+)?)?)?)([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?$/,gt=/Z|[+-]\d\d(?::?\d\d)?/,bt=[["YYYYYY-MM-DD",/[+-]\d{6}-\d\d-\d\d/],["YYYY-MM-DD",/\d{4}-\d\d-\d\d/],["GGGG-[W]WW-E",/\d{4}-W\d\d-\d/],["GGGG-[W]WW",/\d{4}-W\d\d/,!1],["YYYY-DDD",/\d{4}-\d{3}/],["YYYY-MM",/\d{4}-\d\d/,!1],["YYYYYYMMDD",/[+-]\d{10}/],["YYYYMMDD",/\d{8}/],["GGGG[W]WWE",/\d{4}W\d{3}/],["GGGG[W]WW",/\d{4}W\d{2}/,!1],["YYYYDDD",/\d{7}/]],Mt=[["HH:mm:ss.SSSS",/\d\d:\d\d:\d\d\.\d+/],["HH:mm:ss,SSSS",/\d\d:\d\d:\d\d,\d+/],["HH:mm:ss",/\d\d:\d\d:\d\d/],["HH:mm",/\d\d:\d\d/],["HHmmss.SSSS",/\d\d\d\d\d\d\.\d+/],["HHmmss,SSSS",/\d\d\d\d\d\d,\d+/],["HHmmss",/\d\d\d\d\d\d/],["HHmm",/\d\d\d\d/],["HH",/\d\d/]],kt=/^\/?Date\((\-?\d+)/i;function wt(e){var t,n,r,a,i,o,s=e._i,u=yt.exec(s)||vt.exec(s);if(u){for(p(e).iso=!0,t=0,n=bt.length;t0&&p(e).unusedInput.push(o),s=s.slice(s.indexOf(n)+n.length),l+=n.length),U[i]?(n?p(e).empty=!1:p(e).unusedTokens.push(i),_e(i,n,e)):e._strict&&!n&&p(e).unusedTokens.push(i);p(e).charsLeftOver=u-l,s.length>0&&p(e).unusedInput.push(s),e._a[be]<=12&&!0===p(e).bigHour&&e._a[be]>0&&(p(e).bigHour=void 0),p(e).parsedDateParts=e._a.slice(0),p(e).meridiem=e._meridiem,e._a[be]=(c=e._locale,d=e._a[be],null==(f=e._meridiem)?d:null!=c.meridiemHour?c.meridiemHour(d,f):null!=c.isPM?((h=c.isPM(f))&&d<12&&(d+=12),h||12!==d||(d=0),d):d),_t(e),pt(e)}else Yt(e);else wt(e);var c,d,f,h}function Dt(e){var t=e._i,n=e._f;return e._locale=e._locale||ht(e._l),null===t||void 0===n&&""===t?_({nullInput:!0}):("string"==typeof t&&(e._i=t=e._locale.preparse(t)),M(t)?new b(pt(t)):(l(t)?e._d=t:i(n)?function(e){var t,n,r,a,i;if(0===e._f.length)return p(e).invalidFormat=!0,void(e._d=new Date(NaN));for(a=0;athis?this:e:_()});function At(e,t){var n,r;if(1===t.length&&i(t[0])&&(t=t[0]),!t.length)return jt();for(n=t[0],r=1;r=0?new Date(e+400,t,n)-un:new Date(e,t,n).valueOf()}function dn(e,t,n){return e<100&&e>=0?Date.UTC(e+400,t,n)-un:Date.UTC(e,t,n)}function fn(e,t){B(0,[e,e.length],0,t)}function hn(e,t,n,r,a){var i;return null==e?Ge(this,r,a).year:(i=Ve(e,r,a),t>i&&(t=i),function(e,t,n,r,a){var i=Be(e,t,n,r,a),o=ze(i.year,0,i.dayOfYear);return this.year(o.getUTCFullYear()),this.month(o.getUTCMonth()),this.date(o.getUTCDate()),this}.call(this,e,t,n,r,a))}B(0,["gg",2],0,function(){return this.weekYear()%100}),B(0,["GG",2],0,function(){return this.isoWeekYear()%100}),fn("gggg","weekYear"),fn("ggggg","weekYear"),fn("GGGG","isoWeekYear"),fn("GGGGG","isoWeekYear"),A("weekYear","gg"),A("isoWeekYear","GG"),I("weekYear",1),I("isoWeekYear",1),ce("G",ie),ce("g",ie),ce("GG",Q,q),ce("gg",Q,q),ce("GGGG",ne,K),ce("gggg",ne,K),ce("GGGGG",re,X),ce("ggggg",re,X),me(["gggg","ggggg","GGGG","GGGGG"],function(e,t,n,r){t[r.substr(0,2)]=w(e)}),me(["gg","GG"],function(e,t,n,r){t[r]=a.parseTwoDigitYear(e)}),B("Q",0,"Qo","quarter"),A("quarter","Q"),I("quarter",7),ce("Q",J),pe("Q",function(e,t){t[ve]=3*(w(e)-1)}),B("D",["DD",2],"Do","date"),A("date","D"),I("date",9),ce("D",Q),ce("DD",Q,q),ce("Do",function(e,t){return e?t._dayOfMonthOrdinalParse||t._ordinalParse:t._dayOfMonthOrdinalParseLenient}),pe(["D","DD"],ge),pe("Do",function(e,t){t[ge]=w(e.match(Q)[0])});var pn=Oe("Date",!0);B("DDD",["DDDD",3],"DDDo","dayOfYear"),A("dayOfYear","DDD"),I("dayOfYear",4),ce("DDD",te),ce("DDDD",$),pe(["DDD","DDDD"],function(e,t,n){n._dayOfYear=w(e)}),B("m",["mm",2],0,"minute"),A("minute","m"),I("minute",14),ce("m",Q),ce("mm",Q,q),pe(["m","mm"],Me);var mn=Oe("Minutes",!1);B("s",["ss",2],0,"second"),A("second","s"),I("second",15),ce("s",Q),ce("ss",Q,q),pe(["s","ss"],ke);var _n,yn=Oe("Seconds",!1);for(B("S",0,0,function(){return~~(this.millisecond()/100)}),B(0,["SS",2],0,function(){return~~(this.millisecond()/10)}),B(0,["SSS",3],0,"millisecond"),B(0,["SSSS",4],0,function(){return 10*this.millisecond()}),B(0,["SSSSS",5],0,function(){return 100*this.millisecond()}),B(0,["SSSSSS",6],0,function(){return 1e3*this.millisecond()}),B(0,["SSSSSSS",7],0,function(){return 1e4*this.millisecond()}),B(0,["SSSSSSSS",8],0,function(){return 1e5*this.millisecond()}),B(0,["SSSSSSSSS",9],0,function(){return 1e6*this.millisecond()}),A("millisecond","ms"),I("millisecond",16),ce("S",te,J),ce("SS",te,q),ce("SSS",te,$),_n="SSSS";_n.length<=9;_n+="S")ce(_n,ae);function vn(e,t){t[we]=w(1e3*("0."+e))}for(_n="S";_n.length<=9;_n+="S")pe(_n,vn);var gn=Oe("Milliseconds",!1);B("z",0,0,"zoneAbbr"),B("zz",0,0,"zoneName");var bn=b.prototype;function Mn(e){return e}bn.add=Qt,bn.calendar=function(e,t){var n=e||jt(),r=zt(n,this).startOf("day"),i=a.calendarFormat(this,r)||"sameElse",o=t&&(O(t[i])?t[i].call(this,n):t[i]);return this.format(o||this.localeData().calendar(i,this,jt(n)))},bn.clone=function(){return new b(this)},bn.diff=function(e,t,n){var r,a,i;if(!this.isValid())return NaN;if(!(r=zt(e,this)).isValid())return NaN;switch(a=6e4*(r.utcOffset()-this.utcOffset()),t=C(t)){case"year":i=en(this,r)/12;break;case"month":i=en(this,r);break;case"quarter":i=en(this,r)/3;break;case"second":i=(this-r)/1e3;break;case"minute":i=(this-r)/6e4;break;case"hour":i=(this-r)/36e5;break;case"day":i=(this-r-a)/864e5;break;case"week":i=(this-r-a)/6048e5;break;default:i=this-r}return n?i:k(i)},bn.endOf=function(e){var t;if(void 0===(e=C(e))||"millisecond"===e||!this.isValid())return this;var n=this._isUTC?dn:cn;switch(e){case"year":t=n(this.year()+1,0,1)-1;break;case"quarter":t=n(this.year(),this.month()-this.month()%3+3,1)-1;break;case"month":t=n(this.year(),this.month()+1,1)-1;break;case"week":t=n(this.year(),this.month(),this.date()-this.weekday()+7)-1;break;case"isoWeek":t=n(this.year(),this.month(),this.date()-(this.isoWeekday()-1)+7)-1;break;case"day":case"date":t=n(this.year(),this.month(),this.date()+1)-1;break;case"hour":t=this._d.valueOf(),t+=sn-ln(t+(this._isUTC?0:this.utcOffset()*on),sn)-1;break;case"minute":t=this._d.valueOf(),t+=on-ln(t,on)-1;break;case"second":t=this._d.valueOf(),t+=an-ln(t,an)-1}return this._d.setTime(t),a.updateOffset(this,!0),this},bn.format=function(e){e||(e=this.isUtc()?a.defaultFormatUtc:a.defaultFormat);var t=G(this,e);return this.localeData().postformat(t)},bn.from=function(e,t){return this.isValid()&&(M(e)&&e.isValid()||jt(e).isValid())?Jt({to:this,from:e}).locale(this.locale()).humanize(!t):this.localeData().invalidDate()},bn.fromNow=function(e){return this.from(jt(),e)},bn.to=function(e,t){return this.isValid()&&(M(e)&&e.isValid()||jt(e).isValid())?Jt({from:this,to:e}).locale(this.locale()).humanize(!t):this.localeData().invalidDate()},bn.toNow=function(e){return this.to(jt(),e)},bn.get=function(e){return O(this[e=C(e)])?this[e]():this},bn.invalidAt=function(){return p(this).overflow},bn.isAfter=function(e,t){var n=M(e)?e:jt(e);return!(!this.isValid()||!n.isValid())&&("millisecond"===(t=C(t)||"millisecond")?this.valueOf()>n.valueOf():n.valueOf()9999?G(n,t?"YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]":"YYYYYY-MM-DD[T]HH:mm:ss.SSSZ"):O(Date.prototype.toISOString)?t?this.toDate().toISOString():new Date(this.valueOf()+60*this.utcOffset()*1e3).toISOString().replace("Z",G(n,"Z")):G(n,t?"YYYY-MM-DD[T]HH:mm:ss.SSS[Z]":"YYYY-MM-DD[T]HH:mm:ss.SSSZ")},bn.inspect=function(){if(!this.isValid())return"moment.invalid(/* "+this._i+" */)";var e="moment",t="";this.isLocal()||(e=0===this.utcOffset()?"moment.utc":"moment.parseZone",t="Z");var n="["+e+'("]',r=0<=this.year()&&this.year()<=9999?"YYYY":"YYYYYY",a=t+'[")]';return this.format(n+r+"-MM-DD[T]HH:mm:ss.SSS"+a)},bn.toJSON=function(){return this.isValid()?this.toISOString():null},bn.toString=function(){return this.clone().locale("en").format("ddd MMM DD YYYY HH:mm:ss [GMT]ZZ")},bn.unix=function(){return Math.floor(this.valueOf()/1e3)},bn.valueOf=function(){return this._d.valueOf()-6e4*(this._offset||0)},bn.creationData=function(){return{input:this._i,format:this._f,locale:this._locale,isUTC:this._isUTC,strict:this._strict}},bn.year=De,bn.isLeapYear=function(){return Ye(this.year())},bn.weekYear=function(e){return hn.call(this,e,this.week(),this.weekday(),this.localeData()._week.dow,this.localeData()._week.doy)},bn.isoWeekYear=function(e){return hn.call(this,e,this.isoWeek(),this.isoWeekday(),1,4)},bn.quarter=bn.quarters=function(e){return null==e?Math.ceil((this.month()+1)/3):this.month(3*(e-1)+this.month()%3)},bn.month=Ie,bn.daysInMonth=function(){return Pe(this.year(),this.month())},bn.week=bn.weeks=function(e){var t=this.localeData().week(this);return null==e?t:this.add(7*(e-t),"d")},bn.isoWeek=bn.isoWeeks=function(e){var t=Ge(this,1,4).week;return null==e?t:this.add(7*(e-t),"d")},bn.weeksInYear=function(){var e=this.localeData()._week;return Ve(this.year(),e.dow,e.doy)},bn.isoWeeksInYear=function(){return Ve(this.year(),1,4)},bn.date=pn,bn.day=bn.days=function(e){if(!this.isValid())return null!=e?this:NaN;var t=this._isUTC?this._d.getUTCDay():this._d.getDay();return null!=e?(e=function(e,t){return"string"!=typeof e?e:isNaN(e)?"number"==typeof(e=t.weekdaysParse(