|
- (window["webpackJsonp"] = window["webpackJsonp"] || []).push([["static/runtime/amp.js"],{
-
- /***/ "./node_modules/next/dist/build/polyfills/unfetch.js":
- /*!***********************************************************!*\
- !*** ./node_modules/next/dist/build/polyfills/unfetch.js ***!
- \***********************************************************/
- /*! no static exports found */
- /***/ (function(module, exports) {
-
- module.exports=function(e,n){return n=n||{},new Promise(function(t,r){var s=new XMLHttpRequest,o=[],u=[],i={},a=function(){return{ok:2==(s.status/100|0),statusText:s.statusText,status:s.status,url:s.responseURL,text:function(){return Promise.resolve(s.responseText)},json:function(){return Promise.resolve(JSON.parse(s.responseText))},blob:function(){return Promise.resolve(new Blob([s.response]))},clone:a,headers:{keys:function(){return o},entries:function(){return u},get:function(e){return i[e.toLowerCase()]},has:function(e){return e.toLowerCase()in i}}}};for(var l in s.open(n.method||"get",e,!0),s.onload=function(){s.getAllResponseHeaders().replace(/^(.*?):[^\S\n]*([\s\S]*?)$/gm,function(e,n,t){o.push(n=n.toLowerCase()),u.push([n,t]),i[n]=i[n]?i[n]+","+t:t}),t(a())},s.onerror=r,s.withCredentials="include"==n.credentials,n.headers)s.setRequestHeader(l,n.headers[l]);s.send(n.body||null)})};
- //# sourceMappingURL=unfetch.js.map
-
-
- /***/ }),
-
- /***/ "./node_modules/next/dist/client/dev/amp-dev.js":
- /*!******************************************************!*\
- !*** ./node_modules/next/dist/client/dev/amp-dev.js ***!
- \******************************************************/
- /*! no static exports found */
- /***/ (function(module, exports, __webpack_require__) {
-
- "use strict";
-
-
- var _regeneratorRuntime = __webpack_require__(/*! @babel/runtime/regenerator */ "./node_modules/next/node_modules/@babel/runtime/regenerator/index.js");
-
- var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "./node_modules/next/node_modules/@babel/runtime/helpers/interopRequireDefault.js");
-
- var _unfetch = _interopRequireDefault(__webpack_require__(/*! next/dist/build/polyfills/unfetch */ "./node_modules/next/dist/build/polyfills/unfetch.js"));
-
- var _eventSourcePolyfill = _interopRequireDefault(__webpack_require__(/*! ./event-source-polyfill */ "./node_modules/next/dist/client/dev/event-source-polyfill.js"));
-
- var _eventsource = __webpack_require__(/*! ./error-overlay/eventsource */ "./node_modules/next/dist/client/dev/error-overlay/eventsource.js");
-
- var _onDemandEntriesUtils = __webpack_require__(/*! ./on-demand-entries-utils */ "./node_modules/next/dist/client/dev/on-demand-entries-utils.js");
-
- var _fouc = __webpack_require__(/*! ./fouc */ "./node_modules/next/dist/client/dev/fouc.js");
- /* globals __webpack_hash__ */
-
-
- if (!window.EventSource) {
- window.EventSource = _eventSourcePolyfill["default"];
- }
-
- var data = JSON.parse(document.getElementById('__NEXT_DATA__').textContent);
- var assetPrefix = data.assetPrefix,
- page = data.page;
- assetPrefix = assetPrefix || '';
- var mostRecentHash = null;
- /* eslint-disable-next-line */
-
- var curHash = __webpack_require__.h();
- var hotUpdatePath = assetPrefix + (assetPrefix.endsWith('/') ? '' : '/') + '_next/static/webpack/'; // Is there a newer version of this code available?
-
- function isUpdateAvailable() {
- // __webpack_hash__ is the hash of the current compilation.
- // It's a global variable injected by Webpack.
-
- /* eslint-disable-next-line */
- return mostRecentHash !== __webpack_require__.h();
- } // Webpack disallows updates in other states.
-
-
- function canApplyUpdates() {
- return module.hot.status() === 'idle';
- } // This function reads code updates on the fly and hard
- // reloads the page when it has changed.
-
-
- function tryApplyUpdates() {
- var res, _data, curPage, pageUpdated;
-
- return _regeneratorRuntime.async(function tryApplyUpdates$(_context) {
- while (1) {
- switch (_context.prev = _context.next) {
- case 0:
- if (!(!isUpdateAvailable() || !canApplyUpdates())) {
- _context.next = 2;
- break;
- }
-
- return _context.abrupt("return");
-
- case 2:
- _context.prev = 2;
- _context.next = 5;
- return _regeneratorRuntime.awrap((0, _unfetch["default"])("" + hotUpdatePath + curHash + ".hot-update.json"));
-
- case 5:
- res = _context.sent;
- _context.next = 8;
- return _regeneratorRuntime.awrap(res.json());
-
- case 8:
- _data = _context.sent;
- curPage = page === '/' ? 'index' : page;
- pageUpdated = Object.keys(_data.c).some(function (mod) {
- return mod.indexOf("pages" + (curPage.substr(0, 1) === '/' ? curPage : "/" + curPage)) !== -1 || mod.indexOf(("pages" + (curPage.substr(0, 1) === '/' ? curPage : "/" + curPage)).replace(/\//g, '\\')) !== -1;
- });
-
- if (pageUpdated) {
- document.location.reload(true);
- } else {
- curHash = mostRecentHash;
- }
-
- _context.next = 18;
- break;
-
- case 14:
- _context.prev = 14;
- _context.t0 = _context["catch"](2);
- console.error('Error occurred checking for update', _context.t0);
- document.location.reload(true);
-
- case 18:
- case "end":
- return _context.stop();
- }
- }
- }, null, null, [[2, 14]], Promise);
- }
-
- (0, _eventsource.getEventSourceWrapper)({
- path: assetPrefix + "/_next/webpack-hmr"
- }).addMessageListener(function (event) {
- if (event.data === "\uD83D\uDC93") {
- return;
- }
-
- try {
- var message = JSON.parse(event.data);
-
- if (message.action === 'sync' || message.action === 'built') {
- if (!message.hash) {
- return;
- }
-
- mostRecentHash = message.hash;
- tryApplyUpdates();
- } else if (message.action === 'reloadPage') {
- document.location.reload(true);
- }
- } catch (ex) {
- console.warn('Invalid HMR message: ' + event.data + '\n' + ex);
- }
- });
- (0, _onDemandEntriesUtils.setupPing)(assetPrefix, function () {
- return page;
- });
- (0, _fouc.displayContent)();
-
- /***/ }),
-
- /***/ "./node_modules/next/dist/client/dev/error-overlay/eventsource.js":
- /*!************************************************************************!*\
- !*** ./node_modules/next/dist/client/dev/error-overlay/eventsource.js ***!
- \************************************************************************/
- /*! no static exports found */
- /***/ (function(module, exports, __webpack_require__) {
-
- "use strict";
-
-
- exports.__esModule = true;
- exports.getEventSourceWrapper = getEventSourceWrapper;
- var eventCallbacks = [];
-
- function EventSourceWrapper(options) {
- var source;
- var lastActivity = new Date();
- var listeners = [];
-
- if (!options.timeout) {
- options.timeout = 20 * 1000;
- }
-
- init();
- var timer = setInterval(function () {
- if (new Date() - lastActivity > options.timeout) {
- handleDisconnect();
- }
- }, options.timeout / 2);
-
- function init() {
- source = new window.EventSource(options.path);
- source.onopen = handleOnline;
- source.onerror = handleDisconnect;
- source.onmessage = handleMessage;
- }
-
- function handleOnline() {
- if (options.log) console.log('[HMR] connected');
- lastActivity = new Date();
- }
-
- function handleMessage(event) {
- lastActivity = new Date();
-
- for (var i = 0; i < listeners.length; i++) {
- listeners[i](event);
- }
-
- if (event.data.indexOf('action') !== -1) {
- eventCallbacks.forEach(function (cb) {
- return cb(event);
- });
- }
- }
-
- function handleDisconnect() {
- clearInterval(timer);
- source.close();
- setTimeout(init, options.timeout);
- }
-
- return {
- close: function close() {
- clearInterval(timer);
- source.close();
- },
- addMessageListener: function addMessageListener(fn) {
- listeners.push(fn);
- }
- };
- }
-
- function getEventSourceWrapper(options) {
- if (!options.ondemand) {
- return {
- addMessageListener: function addMessageListener(cb) {
- eventCallbacks.push(cb);
- }
- };
- }
-
- return EventSourceWrapper(options);
- }
-
- /***/ }),
-
- /***/ "./node_modules/next/dist/client/dev/event-source-polyfill.js":
- /*!********************************************************************!*\
- !*** ./node_modules/next/dist/client/dev/event-source-polyfill.js ***!
- \********************************************************************/
- /*! no static exports found */
- /***/ (function(module, exports, __webpack_require__) {
-
- "use strict";
-
-
- var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "./node_modules/next/node_modules/@babel/runtime/helpers/interopRequireDefault.js");
-
- exports.__esModule = true;
- exports["default"] = void 0;
-
- var _unfetch = _interopRequireDefault(__webpack_require__(/*! next/dist/build/polyfills/unfetch */ "./node_modules/next/dist/build/polyfills/unfetch.js"));
- /* eslint-disable */
- // Improved version of https://github.com/Yaffle/EventSource/
- // Available under MIT License (MIT)
- // Only tries to support IE11 and nothing below
-
-
- var document = window.document;
- var Response = window.Response;
- var TextDecoder = window.TextDecoder;
- var TextEncoder = window.TextEncoder;
- var AbortController = window.AbortController;
-
- if (AbortController == undefined) {
- AbortController = function AbortController() {
- this.signal = null;
-
- this.abort = function () {};
- };
- }
-
- function TextDecoderPolyfill() {
- this.bitsNeeded = 0;
- this.codePoint = 0;
- }
-
- TextDecoderPolyfill.prototype.decode = function (octets) {
- function valid(codePoint, shift, octetsCount) {
- if (octetsCount === 1) {
- return codePoint >= 0x0080 >> shift && codePoint << shift <= 0x07ff;
- }
-
- if (octetsCount === 2) {
- return codePoint >= 0x0800 >> shift && codePoint << shift <= 0xd7ff || codePoint >= 0xe000 >> shift && codePoint << shift <= 0xffff;
- }
-
- if (octetsCount === 3) {
- return codePoint >= 0x010000 >> shift && codePoint << shift <= 0x10ffff;
- }
-
- throw new Error();
- }
-
- function octetsCount(bitsNeeded, codePoint) {
- if (bitsNeeded === 6 * 1) {
- return codePoint >> 6 > 15 ? 3 : codePoint > 31 ? 2 : 1;
- }
-
- if (bitsNeeded === 6 * 2) {
- return codePoint > 15 ? 3 : 2;
- }
-
- if (bitsNeeded === 6 * 3) {
- return 3;
- }
-
- throw new Error();
- }
-
- var REPLACER = 0xfffd;
- var string = '';
- var bitsNeeded = this.bitsNeeded;
- var codePoint = this.codePoint;
-
- for (var i = 0; i < octets.length; i += 1) {
- var octet = octets[i];
-
- if (bitsNeeded !== 0) {
- if (octet < 128 || octet > 191 || !valid(codePoint << 6 | octet & 63, bitsNeeded - 6, octetsCount(bitsNeeded, codePoint))) {
- bitsNeeded = 0;
- codePoint = REPLACER;
- string += String.fromCharCode(codePoint);
- }
- }
-
- if (bitsNeeded === 0) {
- if (octet >= 0 && octet <= 127) {
- bitsNeeded = 0;
- codePoint = octet;
- } else if (octet >= 192 && octet <= 223) {
- bitsNeeded = 6 * 1;
- codePoint = octet & 31;
- } else if (octet >= 224 && octet <= 239) {
- bitsNeeded = 6 * 2;
- codePoint = octet & 15;
- } else if (octet >= 240 && octet <= 247) {
- bitsNeeded = 6 * 3;
- codePoint = octet & 7;
- } else {
- bitsNeeded = 0;
- codePoint = REPLACER;
- }
-
- if (bitsNeeded !== 0 && !valid(codePoint, bitsNeeded, octetsCount(bitsNeeded, codePoint))) {
- bitsNeeded = 0;
- codePoint = REPLACER;
- }
- } else {
- bitsNeeded -= 6;
- codePoint = codePoint << 6 | octet & 63;
- }
-
- if (bitsNeeded === 0) {
- if (codePoint <= 0xffff) {
- string += String.fromCharCode(codePoint);
- } else {
- string += String.fromCharCode(0xd800 + (codePoint - 0xffff - 1 >> 10));
- string += String.fromCharCode(0xdc00 + (codePoint - 0xffff - 1 & 0x3ff));
- }
- }
- }
-
- this.bitsNeeded = bitsNeeded;
- this.codePoint = codePoint;
- return string;
- }; // Firefox < 38 throws an error with stream option
-
-
- var supportsStreamOption = function supportsStreamOption() {
- try {
- return new TextDecoder().decode(new TextEncoder().encode('test'), {
- stream: true
- }) === 'test';
- } catch (error) {
- console.log(error);
- }
-
- return false;
- }; // IE, Edge
-
-
- if (TextDecoder == undefined || TextEncoder == undefined || !supportsStreamOption()) {
- TextDecoder = TextDecoderPolyfill;
- }
-
- var k = function k() {};
-
- function XHRWrapper(xhr) {
- this.withCredentials = false;
- this.responseType = '';
- this.readyState = 0;
- this.status = 0;
- this.statusText = '';
- this.responseText = '';
- this.onprogress = k;
- this.onreadystatechange = k;
- this._contentType = '';
- this._xhr = xhr;
- this._sendTimeout = 0;
- this._abort = k;
- }
-
- XHRWrapper.prototype.open = function (method, url) {
- this._abort(true);
-
- var that = this;
- var xhr = this._xhr;
- var state = 1;
- var timeout = 0;
-
- this._abort = function (silent) {
- if (that._sendTimeout !== 0) {
- clearTimeout(that._sendTimeout);
- that._sendTimeout = 0;
- }
-
- if (state === 1 || state === 2 || state === 3) {
- state = 4;
- xhr.onload = k;
- xhr.onerror = k;
- xhr.onabort = k;
- xhr.onprogress = k;
- xhr.onreadystatechange = k; // IE 8 - 9: XDomainRequest#abort() does not fire any event
- // Opera < 10: XMLHttpRequest#abort() does not fire any event
-
- xhr.abort();
-
- if (timeout !== 0) {
- clearTimeout(timeout);
- timeout = 0;
- }
-
- if (!silent) {
- that.readyState = 4;
- that.onreadystatechange();
- }
- }
-
- state = 0;
- };
-
- var onStart = function onStart() {
- if (state === 1) {
- // state = 2;
- var status = 0;
- var statusText = '';
- var contentType = undefined;
-
- if (!('contentType' in xhr)) {
- try {
- status = xhr.status;
- statusText = xhr.statusText;
- contentType = xhr.getResponseHeader('Content-Type');
- } catch (error) {
- // IE < 10 throws exception for `xhr.status` when xhr.readyState === 2 || xhr.readyState === 3
- // Opera < 11 throws exception for `xhr.status` when xhr.readyState === 2
- // https://bugs.webkit.org/show_bug.cgi?id=29121
- status = 0;
- statusText = '';
- contentType = undefined; // Firefox < 14, Chrome ?, Safari ?
- // https://bugs.webkit.org/show_bug.cgi?id=29658
- // https://bugs.webkit.org/show_bug.cgi?id=77854
- }
- } else {
- status = 200;
- statusText = 'OK';
- contentType = xhr.contentType;
- }
-
- if (status !== 0) {
- state = 2;
- that.readyState = 2;
- that.status = status;
- that.statusText = statusText;
- that._contentType = contentType;
- that.onreadystatechange();
- }
- }
- };
-
- var onProgress = function onProgress() {
- onStart();
-
- if (state === 2 || state === 3) {
- state = 3;
- var responseText = '';
-
- try {
- responseText = xhr.responseText;
- } catch (error) {// IE 8 - 9 with XMLHttpRequest
- }
-
- that.readyState = 3;
- that.responseText = responseText;
- that.onprogress();
- }
- };
-
- var onFinish = function onFinish() {
- // Firefox 52 fires "readystatechange" (xhr.readyState === 4) without final "readystatechange" (xhr.readyState === 3)
- // IE 8 fires "onload" without "onprogress"
- onProgress();
-
- if (state === 1 || state === 2 || state === 3) {
- state = 4;
-
- if (timeout !== 0) {
- clearTimeout(timeout);
- timeout = 0;
- }
-
- that.readyState = 4;
- that.onreadystatechange();
- }
- };
-
- var onReadyStateChange = function onReadyStateChange() {
- if (xhr != undefined) {
- // Opera 12
- if (xhr.readyState === 4) {
- onFinish();
- } else if (xhr.readyState === 3) {
- onProgress();
- } else if (xhr.readyState === 2) {
- onStart();
- }
- }
- };
-
- var onTimeout = function onTimeout() {
- timeout = setTimeout(function () {
- onTimeout();
- }, 500);
-
- if (xhr.readyState === 3) {
- onProgress();
- }
- }; // XDomainRequest#abort removes onprogress, onerror, onload
-
-
- xhr.onload = onFinish;
- xhr.onerror = onFinish; // improper fix to match Firefox behaviour, but it is better than just ignore abort
- // see https://bugzilla.mozilla.org/show_bug.cgi?id=768596
- // https://bugzilla.mozilla.org/show_bug.cgi?id=880200
- // https://code.google.com/p/chromium/issues/detail?id=153570
- // IE 8 fires "onload" without "onprogress
-
- xhr.onabort = onFinish; // https://bugzilla.mozilla.org/show_bug.cgi?id=736723
-
- if (!('sendAsBinary' in XMLHttpRequest.prototype) && !('mozAnon' in XMLHttpRequest.prototype)) {
- xhr.onprogress = onProgress;
- } // IE 8 - 9 (XMLHTTPRequest)
- // Opera < 12
- // Firefox < 3.5
- // Firefox 3.5 - 3.6 - ? < 9.0
- // onprogress is not fired sometimes or delayed
- // see also #64
-
-
- xhr.onreadystatechange = onReadyStateChange;
-
- if ('contentType' in xhr) {
- url += (url.indexOf('?') === -1 ? '?' : '&') + 'padding=true';
- }
-
- xhr.open(method, url, true);
-
- if ('readyState' in xhr) {
- // workaround for Opera 12 issue with "progress" events
- // #91
- timeout = setTimeout(function () {
- onTimeout();
- }, 0);
- }
- };
-
- XHRWrapper.prototype.abort = function () {
- this._abort(false);
- };
-
- XHRWrapper.prototype.getResponseHeader = function (name) {
- return this._contentType;
- };
-
- XHRWrapper.prototype.setRequestHeader = function (name, value) {
- var xhr = this._xhr;
-
- if ('setRequestHeader' in xhr) {
- xhr.setRequestHeader(name, value);
- }
- };
-
- XHRWrapper.prototype.getAllResponseHeaders = function () {
- return this._xhr.getAllResponseHeaders != undefined ? this._xhr.getAllResponseHeaders() : '';
- };
-
- XHRWrapper.prototype.send = function () {
- // loading indicator in Safari < ? (6), Chrome < 14, Firefox
- if (!('ontimeout' in XMLHttpRequest.prototype) && document != undefined && document.readyState != undefined && document.readyState !== 'complete') {
- var that = this;
- that._sendTimeout = setTimeout(function () {
- that._sendTimeout = 0;
- that.send();
- }, 4);
- return;
- }
-
- var xhr = this._xhr; // withCredentials should be set after "open" for Safari and Chrome (< 19 ?)
-
- xhr.withCredentials = this.withCredentials;
- xhr.responseType = this.responseType;
-
- try {
- // xhr.send(); throws "Not enough arguments" in Firefox 3.0
- xhr.send(undefined);
- } catch (error1) {
- // Safari 5.1.7, Opera 12
- throw error1;
- }
- };
-
- function toLowerCase(name) {
- return name.replace(/[A-Z]/g, function (c) {
- return String.fromCharCode(c.charCodeAt(0) + 0x20);
- });
- }
-
- function HeadersPolyfill(all) {
- // Get headers: implemented according to mozilla's example code: https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/getAllResponseHeaders#Example
- var map = Object.create(null);
- var array = all.split('\r\n');
-
- for (var i = 0; i < array.length; i += 1) {
- var line = array[i];
- var parts = line.split(': ');
- var name = parts.shift();
- var value = parts.join(': ');
- map[toLowerCase(name)] = value;
- }
-
- this._map = map;
- }
-
- HeadersPolyfill.prototype.get = function (name) {
- return this._map[toLowerCase(name)];
- };
-
- function XHRTransport() {}
-
- XHRTransport.prototype.open = function (xhr, onStartCallback, onProgressCallback, onFinishCallback, url, withCredentials, headers) {
- xhr.open('GET', url);
- var offset = 0;
-
- xhr.onprogress = function () {
- var responseText = xhr.responseText;
- var chunk = responseText.slice(offset);
- offset += chunk.length;
- onProgressCallback(chunk);
- };
-
- xhr.onreadystatechange = function () {
- if (xhr.readyState === 2) {
- var status = xhr.status;
- var statusText = xhr.statusText;
- var contentType = xhr.getResponseHeader('Content-Type');
- var headers = xhr.getAllResponseHeaders();
- onStartCallback(status, statusText, contentType, new HeadersPolyfill(headers), function () {
- xhr.abort();
- });
- } else if (xhr.readyState === 4) {
- onFinishCallback();
- }
- };
-
- xhr.withCredentials = withCredentials;
- xhr.responseType = 'text';
-
- for (var name in headers) {
- if (Object.prototype.hasOwnProperty.call(headers, name)) {
- xhr.setRequestHeader(name, headers[name]);
- }
- }
-
- xhr.send();
- };
-
- function HeadersWrapper(headers) {
- this._headers = headers;
- }
-
- HeadersWrapper.prototype.get = function (name) {
- return this._headers.get(name);
- };
-
- function FetchTransport() {}
-
- FetchTransport.prototype.open = function (xhr, onStartCallback, onProgressCallback, onFinishCallback, url, withCredentials, headers) {
- var controller = new AbortController();
- var signal = controller.signal; // see #120
-
- var textDecoder = new TextDecoder();
- (0, _unfetch["default"])(url, {
- headers: headers,
- credentials: withCredentials ? 'include' : 'same-origin',
- signal: signal,
- cache: 'no-store'
- }).then(function (response) {
- var reader = response.body.getReader();
- onStartCallback(response.status, response.statusText, response.headers.get('Content-Type'), new HeadersWrapper(response.headers), function () {
- controller.abort();
- reader.cancel();
- });
- return new Promise(function (resolve, reject) {
- var readNextChunk = function readNextChunk() {
- reader.read().then(function (result) {
- if (result.done) {
- // Note: bytes in textDecoder are ignored
- resolve(undefined);
- } else {
- var chunk = textDecoder.decode(result.value, {
- stream: true
- });
- onProgressCallback(chunk);
- readNextChunk();
- }
- })['catch'](function (error) {
- reject(error);
- });
- };
-
- readNextChunk();
- });
- }).then(function (result) {
- onFinishCallback();
- return result;
- }, function (error) {
- onFinishCallback();
- return Promise.reject(error);
- });
- };
-
- function EventTarget() {
- this._listeners = Object.create(null);
- }
-
- function throwError(e) {
- setTimeout(function () {
- throw e;
- }, 0);
- }
-
- EventTarget.prototype.dispatchEvent = function (event) {
- event.target = this;
- var typeListeners = this._listeners[event.type];
-
- if (typeListeners != undefined) {
- var length = typeListeners.length;
-
- for (var i = 0; i < length; i += 1) {
- var listener = typeListeners[i];
-
- try {
- if (typeof listener.handleEvent === 'function') {
- listener.handleEvent(event);
- } else {
- listener.call(this, event);
- }
- } catch (e) {
- throwError(e);
- }
- }
- }
- };
-
- EventTarget.prototype.addEventListener = function (type, listener) {
- type = String(type);
- var listeners = this._listeners;
- var typeListeners = listeners[type];
-
- if (typeListeners == undefined) {
- typeListeners = [];
- listeners[type] = typeListeners;
- }
-
- var found = false;
-
- for (var i = 0; i < typeListeners.length; i += 1) {
- if (typeListeners[i] === listener) {
- found = true;
- }
- }
-
- if (!found) {
- typeListeners.push(listener);
- }
- };
-
- EventTarget.prototype.removeEventListener = function (type, listener) {
- type = String(type);
- var listeners = this._listeners;
- var typeListeners = listeners[type];
-
- if (typeListeners != undefined) {
- var filtered = [];
-
- for (var i = 0; i < typeListeners.length; i += 1) {
- if (typeListeners[i] !== listener) {
- filtered.push(typeListeners[i]);
- }
- }
-
- if (filtered.length === 0) {
- delete listeners[type];
- } else {
- listeners[type] = filtered;
- }
- }
- };
-
- function Event(type) {
- this.type = type;
- this.target = undefined;
- }
-
- function MessageEvent(type, options) {
- Event.call(this, type);
- this.data = options.data;
- this.lastEventId = options.lastEventId;
- }
-
- MessageEvent.prototype = Object.create(Event.prototype);
-
- function ConnectionEvent(type, options) {
- Event.call(this, type);
- this.status = options.status;
- this.statusText = options.statusText;
- this.headers = options.headers;
- }
-
- ConnectionEvent.prototype = Object.create(Event.prototype);
- var WAITING = -1;
- var CONNECTING = 0;
- var OPEN = 1;
- var CLOSED = 2;
- var AFTER_CR = -1;
- var FIELD_START = 0;
- var FIELD = 1;
- var VALUE_START = 2;
- var VALUE = 3;
- var contentTypeRegExp = /^text\/event\-stream;?(\s*charset\=utf\-8)?$/i;
- var MINIMUM_DURATION = 1000;
- var MAXIMUM_DURATION = 18000000;
-
- var parseDuration = function parseDuration(value, def) {
- var n = parseInt(value, 10);
-
- if (n !== n) {
- n = def;
- }
-
- return clampDuration(n);
- };
-
- var clampDuration = function clampDuration(n) {
- return Math.min(Math.max(n, MINIMUM_DURATION), MAXIMUM_DURATION);
- };
-
- var fire = function fire(that, f, event) {
- try {
- if (typeof f === 'function') {
- f.call(that, event);
- }
- } catch (e) {
- throwError(e);
- }
- };
-
- function EventSourcePolyfill(url, options) {
- EventTarget.call(this);
- this.onopen = undefined;
- this.onmessage = undefined;
- this.onerror = undefined;
- this.url = undefined;
- this.readyState = undefined;
- this.withCredentials = undefined;
- this._close = undefined;
- start(this, url, options);
- }
-
- var isFetchSupported = _unfetch["default"] != undefined && Response != undefined && 'body' in Response.prototype;
-
- function start(es, url, options) {
- url = String(url);
- var withCredentials = options != undefined && Boolean(options.withCredentials);
- var initialRetry = clampDuration(1000);
- var heartbeatTimeout = options != undefined && options.heartbeatTimeout != undefined ? parseDuration(options.heartbeatTimeout, 45000) : clampDuration(45000);
- var lastEventId = '';
- var retry = initialRetry;
- var wasActivity = false;
- var headers = options != undefined && options.headers != undefined ? JSON.parse(JSON.stringify(options.headers)) : undefined;
- var CurrentTransport = options != undefined && options.Transport != undefined ? options.Transport : XMLHttpRequest;
- var xhr = isFetchSupported && !(options != undefined && options.Transport != undefined) ? undefined : new XHRWrapper(new CurrentTransport());
- var transport = xhr == undefined ? new FetchTransport() : new XHRTransport();
- var cancelFunction = undefined;
- var timeout = 0;
- var currentState = WAITING;
- var dataBuffer = '';
- var lastEventIdBuffer = '';
- var eventTypeBuffer = '';
- var textBuffer = '';
- var state = FIELD_START;
- var fieldStart = 0;
- var valueStart = 0;
-
- var onStart = function onStart(status, statusText, contentType, headers, cancel) {
- if (currentState === CONNECTING) {
- cancelFunction = cancel;
-
- if (status === 200 && contentType != undefined && contentTypeRegExp.test(contentType)) {
- currentState = OPEN;
- wasActivity = true;
- retry = initialRetry;
- es.readyState = OPEN;
- var event = new ConnectionEvent('open', {
- status: status,
- statusText: statusText,
- headers: headers
- });
- es.dispatchEvent(event);
- fire(es, es.onopen, event);
- } else {
- var message = '';
-
- if (status !== 200) {
- if (statusText) {
- statusText = statusText.replace(/\s+/g, ' ');
- }
-
- message = "EventSource's response has a status " + status + ' ' + statusText + ' that is not 200. Aborting the connection.';
- } else {
- message = "EventSource's response has a Content-Type specifying an unsupported type: " + (contentType == undefined ? '-' : contentType.replace(/\s+/g, ' ')) + '. Aborting the connection.';
- }
-
- throwError(new Error(message));
- close();
- var event = new ConnectionEvent('error', {
- status: status,
- statusText: statusText,
- headers: headers
- });
- es.dispatchEvent(event);
- fire(es, es.onerror, event);
- }
- }
- };
-
- var onProgress = function onProgress(textChunk) {
- if (currentState === OPEN) {
- var n = -1;
-
- for (var i = 0; i < textChunk.length; i += 1) {
- var c = textChunk.charCodeAt(i);
-
- if (c === '\n'.charCodeAt(0) || c === '\r'.charCodeAt(0)) {
- n = i;
- }
- }
-
- var chunk = (n !== -1 ? textBuffer : '') + textChunk.slice(0, n + 1);
- textBuffer = (n === -1 ? textBuffer : '') + textChunk.slice(n + 1);
-
- if (chunk !== '') {
- wasActivity = true;
- }
-
- for (var position = 0; position < chunk.length; position += 1) {
- var c = chunk.charCodeAt(position);
-
- if (state === AFTER_CR && c === '\n'.charCodeAt(0)) {
- state = FIELD_START;
- } else {
- if (state === AFTER_CR) {
- state = FIELD_START;
- }
-
- if (c === '\r'.charCodeAt(0) || c === '\n'.charCodeAt(0)) {
- if (state !== FIELD_START) {
- if (state === FIELD) {
- valueStart = position + 1;
- }
-
- var field = chunk.slice(fieldStart, valueStart - 1);
- var value = chunk.slice(valueStart + (valueStart < position && chunk.charCodeAt(valueStart) === ' '.charCodeAt(0) ? 1 : 0), position);
-
- if (field === 'data') {
- dataBuffer += '\n';
- dataBuffer += value;
- } else if (field === 'id') {
- lastEventIdBuffer = value;
- } else if (field === 'event') {
- eventTypeBuffer = value;
- } else if (field === 'retry') {
- initialRetry = parseDuration(value, initialRetry);
- retry = initialRetry;
- } else if (field === 'heartbeatTimeout') {
- heartbeatTimeout = parseDuration(value, heartbeatTimeout);
-
- if (timeout !== 0) {
- clearTimeout(timeout);
- timeout = setTimeout(function () {
- onTimeout();
- }, heartbeatTimeout);
- }
- }
- }
-
- if (state === FIELD_START) {
- if (dataBuffer !== '') {
- lastEventId = lastEventIdBuffer;
-
- if (eventTypeBuffer === '') {
- eventTypeBuffer = 'message';
- }
-
- var event = new MessageEvent(eventTypeBuffer, {
- data: dataBuffer.slice(1),
- lastEventId: lastEventIdBuffer
- });
- es.dispatchEvent(event);
-
- if (eventTypeBuffer === 'message') {
- fire(es, es.onmessage, event);
- }
-
- if (currentState === CLOSED) {
- return;
- }
- }
-
- dataBuffer = '';
- eventTypeBuffer = '';
- }
-
- state = c === '\r'.charCodeAt(0) ? AFTER_CR : FIELD_START;
- } else {
- if (state === FIELD_START) {
- fieldStart = position;
- state = FIELD;
- }
-
- if (state === FIELD) {
- if (c === ':'.charCodeAt(0)) {
- valueStart = position + 1;
- state = VALUE_START;
- }
- } else if (state === VALUE_START) {
- state = VALUE;
- }
- }
- }
- }
- }
- };
-
- var onFinish = function onFinish() {
- if (currentState === OPEN || currentState === CONNECTING) {
- currentState = WAITING;
-
- if (timeout !== 0) {
- clearTimeout(timeout);
- timeout = 0;
- }
-
- timeout = setTimeout(function () {
- onTimeout();
- }, retry);
- retry = clampDuration(Math.min(initialRetry * 16, retry * 2));
- es.readyState = CONNECTING;
- var event = new Event('error');
- es.dispatchEvent(event);
- fire(es, es.onerror, event);
- }
- };
-
- var close = function close() {
- currentState = CLOSED;
-
- if (cancelFunction != undefined) {
- cancelFunction();
- cancelFunction = undefined;
- }
-
- if (timeout !== 0) {
- clearTimeout(timeout);
- timeout = 0;
- }
-
- es.readyState = CLOSED;
- };
-
- var onTimeout = function onTimeout() {
- timeout = 0;
-
- if (currentState !== WAITING) {
- if (!wasActivity && cancelFunction != undefined) {
- throwError(new Error('No activity within ' + heartbeatTimeout + ' milliseconds. Reconnecting.'));
- cancelFunction();
- cancelFunction = undefined;
- } else {
- wasActivity = false;
- timeout = setTimeout(function () {
- onTimeout();
- }, heartbeatTimeout);
- }
-
- return;
- }
-
- wasActivity = false;
- timeout = setTimeout(function () {
- onTimeout();
- }, heartbeatTimeout);
- currentState = CONNECTING;
- dataBuffer = '';
- eventTypeBuffer = '';
- lastEventIdBuffer = lastEventId;
- textBuffer = '';
- fieldStart = 0;
- valueStart = 0;
- state = FIELD_START; // https://bugzilla.mozilla.org/show_bug.cgi?id=428916
- // Request header field Last-Event-ID is not allowed by Access-Control-Allow-Headers.
-
- var requestURL = url;
-
- if (url.slice(0, 5) !== 'data:' && url.slice(0, 5) !== 'blob:') {
- if (lastEventId !== '') {
- requestURL += (url.indexOf('?') === -1 ? '?' : '&') + 'lastEventId=' + encodeURIComponent(lastEventId);
- }
- }
-
- var requestHeaders = {};
- requestHeaders['Accept'] = 'text/event-stream';
-
- if (headers != undefined) {
- for (var name in headers) {
- if (Object.prototype.hasOwnProperty.call(headers, name)) {
- requestHeaders[name] = headers[name];
- }
- }
- }
-
- try {
- transport.open(xhr, onStart, onProgress, onFinish, requestURL, withCredentials, requestHeaders);
- } catch (error) {
- close();
- throw error;
- }
- };
-
- es.url = url;
- es.readyState = CONNECTING;
- es.withCredentials = withCredentials;
- es._close = close;
- onTimeout();
- }
-
- EventSourcePolyfill.prototype = Object.create(EventTarget.prototype);
- EventSourcePolyfill.prototype.CONNECTING = CONNECTING;
- EventSourcePolyfill.prototype.OPEN = OPEN;
- EventSourcePolyfill.prototype.CLOSED = CLOSED;
-
- EventSourcePolyfill.prototype.close = function () {
- this._close();
- };
-
- EventSourcePolyfill.CONNECTING = CONNECTING;
- EventSourcePolyfill.OPEN = OPEN;
- EventSourcePolyfill.CLOSED = CLOSED;
- EventSourcePolyfill.prototype.withCredentials = undefined;
- var _default = EventSourcePolyfill;
- exports["default"] = _default;
-
- /***/ }),
-
- /***/ "./node_modules/next/dist/client/dev/fouc.js":
- /*!***************************************************!*\
- !*** ./node_modules/next/dist/client/dev/fouc.js ***!
- \***************************************************/
- /*! no static exports found */
- /***/ (function(module, exports, __webpack_require__) {
-
- "use strict";
-
-
- exports.__esModule = true;
- exports.displayContent = displayContent;
-
- function displayContent(callback) {
- // This is the fallback helper that removes Next.js' no-FOUC styles when
- // CSS mode is enabled. This only really activates if you haven't created
- // _any_ styles in your application yet.
- ;
- (window.requestAnimationFrame || setTimeout)(function () {
- for (var x = document.querySelectorAll('[data-next-hide-fouc]'), i = x.length; i--;) {
- x[i].parentNode.removeChild(x[i]);
- }
-
- if (callback) {
- callback();
- }
- });
- }
-
- /***/ }),
-
- /***/ "./node_modules/next/dist/client/dev/on-demand-entries-utils.js":
- /*!**********************************************************************!*\
- !*** ./node_modules/next/dist/client/dev/on-demand-entries-utils.js ***!
- \**********************************************************************/
- /*! no static exports found */
- /***/ (function(module, exports, __webpack_require__) {
-
- "use strict";
-
-
- var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "./node_modules/next/node_modules/@babel/runtime/helpers/interopRequireDefault.js");
-
- exports.__esModule = true;
- exports.closePing = closePing;
- exports.setupPing = setupPing;
- exports.currentPage = void 0;
-
- var _unfetch = _interopRequireDefault(__webpack_require__(/*! next/dist/build/polyfills/unfetch */ "./node_modules/next/dist/build/polyfills/unfetch.js"));
-
- var _eventsource = __webpack_require__(/*! ./error-overlay/eventsource */ "./node_modules/next/dist/client/dev/error-overlay/eventsource.js");
- /* global location */
-
-
- var evtSource;
- var currentPage;
- exports.currentPage = currentPage;
-
- function closePing() {
- if (evtSource) evtSource.close();
- evtSource = null;
- }
-
- function setupPing(assetPrefix, pathnameFn, retry) {
- var pathname = pathnameFn(); // Make sure to only create new EventSource request if page has changed
-
- if (pathname === currentPage && !retry) return;
- exports.currentPage = currentPage = pathname; // close current EventSource connection
-
- closePing();
- var url = assetPrefix + "/_next/webpack-hmr?page=" + currentPage;
- evtSource = (0, _eventsource.getEventSourceWrapper)({
- path: url,
- timeout: 5000,
- ondemand: 1
- });
- evtSource.addMessageListener(function (event) {
- if (event.data.indexOf('{') === -1) return;
-
- try {
- var payload = JSON.parse(event.data);
-
- if (payload.invalid) {
- // Payload can be invalid even if the page does not exist.
- // So, we need to make sure it exists before reloading.
- (0, _unfetch["default"])(location.href, {
- credentials: 'same-origin'
- }).then(function (pageRes) {
- if (pageRes.status === 200) {
- location.reload();
- }
- });
- }
- } catch (err) {
- console.error('on-demand-entries failed to parse response', err);
- }
- });
- }
-
- /***/ }),
-
- /***/ "./node_modules/next/node_modules/@babel/runtime/helpers/interopRequireDefault.js":
- /*!****************************************************************************************!*\
- !*** ./node_modules/next/node_modules/@babel/runtime/helpers/interopRequireDefault.js ***!
- \****************************************************************************************/
- /*! no static exports found */
- /***/ (function(module, exports) {
-
- function _interopRequireDefault(obj) {
- return obj && obj.__esModule ? obj : {
- "default": obj
- };
- }
-
- module.exports = _interopRequireDefault;
-
- /***/ }),
-
- /***/ "./node_modules/next/node_modules/@babel/runtime/regenerator/index.js":
- /*!****************************************************************************!*\
- !*** ./node_modules/next/node_modules/@babel/runtime/regenerator/index.js ***!
- \****************************************************************************/
- /*! no static exports found */
- /***/ (function(module, exports, __webpack_require__) {
-
- module.exports = __webpack_require__(/*! regenerator-runtime */ "./node_modules/regenerator-runtime/runtime.js");
-
-
- /***/ }),
-
- /***/ "./node_modules/regenerator-runtime/runtime.js":
- /*!*****************************************************!*\
- !*** ./node_modules/regenerator-runtime/runtime.js ***!
- \*****************************************************/
- /*! no static exports found */
- /***/ (function(module, exports, __webpack_require__) {
-
- /**
- * Copyright (c) 2014-present, Facebook, Inc.
- *
- * This source code is licensed under the MIT license found in the
- * LICENSE file in the root directory of this source tree.
- */
-
- var runtime = (function (exports) {
- "use strict";
-
- var Op = Object.prototype;
- var hasOwn = Op.hasOwnProperty;
- var undefined; // More compressible than void 0.
- var $Symbol = typeof Symbol === "function" ? Symbol : {};
- var iteratorSymbol = $Symbol.iterator || "@@iterator";
- var asyncIteratorSymbol = $Symbol.asyncIterator || "@@asyncIterator";
- var toStringTagSymbol = $Symbol.toStringTag || "@@toStringTag";
-
- function define(obj, key, value) {
- Object.defineProperty(obj, key, {
- value: value,
- enumerable: true,
- configurable: true,
- writable: true
- });
- return obj[key];
- }
- try {
- // IE 8 has a broken Object.defineProperty that only works on DOM objects.
- define({}, "");
- } catch (err) {
- define = function(obj, key, value) {
- return obj[key] = value;
- };
- }
-
- function wrap(innerFn, outerFn, self, tryLocsList) {
- // If outerFn provided and outerFn.prototype is a Generator, then outerFn.prototype instanceof Generator.
- var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator;
- var generator = Object.create(protoGenerator.prototype);
- var context = new Context(tryLocsList || []);
-
- // The ._invoke method unifies the implementations of the .next,
- // .throw, and .return methods.
- generator._invoke = makeInvokeMethod(innerFn, self, context);
-
- return generator;
- }
- exports.wrap = wrap;
-
- // Try/catch helper to minimize deoptimizations. Returns a completion
- // record like context.tryEntries[i].completion. This interface could
- // have been (and was previously) designed to take a closure to be
- // invoked without arguments, but in all the cases we care about we
- // already have an existing method we want to call, so there's no need
- // to create a new function object. We can even get away with assuming
- // the method takes exactly one argument, since that happens to be true
- // in every case, so we don't have to touch the arguments object. The
- // only additional allocation required is the completion record, which
- // has a stable shape and so hopefully should be cheap to allocate.
- function tryCatch(fn, obj, arg) {
- try {
- return { type: "normal", arg: fn.call(obj, arg) };
- } catch (err) {
- return { type: "throw", arg: err };
- }
- }
-
- var GenStateSuspendedStart = "suspendedStart";
- var GenStateSuspendedYield = "suspendedYield";
- var GenStateExecuting = "executing";
- var GenStateCompleted = "completed";
-
- // Returning this object from the innerFn has the same effect as
- // breaking out of the dispatch switch statement.
- var ContinueSentinel = {};
-
- // Dummy constructor functions that we use as the .constructor and
- // .constructor.prototype properties for functions that return Generator
- // objects. For full spec compliance, you may wish to configure your
- // minifier not to mangle the names of these two functions.
- function Generator() {}
- function GeneratorFunction() {}
- function GeneratorFunctionPrototype() {}
-
- // This is a polyfill for %IteratorPrototype% for environments that
- // don't natively support it.
- var IteratorPrototype = {};
- IteratorPrototype[iteratorSymbol] = function () {
- return this;
- };
-
- var getProto = Object.getPrototypeOf;
- var NativeIteratorPrototype = getProto && getProto(getProto(values([])));
- if (NativeIteratorPrototype &&
- NativeIteratorPrototype !== Op &&
- hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) {
- // This environment has a native %IteratorPrototype%; use it instead
- // of the polyfill.
- IteratorPrototype = NativeIteratorPrototype;
- }
-
- var Gp = GeneratorFunctionPrototype.prototype =
- Generator.prototype = Object.create(IteratorPrototype);
- GeneratorFunction.prototype = Gp.constructor = GeneratorFunctionPrototype;
- GeneratorFunctionPrototype.constructor = GeneratorFunction;
- GeneratorFunction.displayName = define(
- GeneratorFunctionPrototype,
- toStringTagSymbol,
- "GeneratorFunction"
- );
-
- // Helper for defining the .next, .throw, and .return methods of the
- // Iterator interface in terms of a single ._invoke method.
- function defineIteratorMethods(prototype) {
- ["next", "throw", "return"].forEach(function(method) {
- define(prototype, method, function(arg) {
- return this._invoke(method, arg);
- });
- });
- }
-
- exports.isGeneratorFunction = function(genFun) {
- var ctor = typeof genFun === "function" && genFun.constructor;
- return ctor
- ? ctor === GeneratorFunction ||
- // For the native GeneratorFunction constructor, the best we can
- // do is to check its .name property.
- (ctor.displayName || ctor.name) === "GeneratorFunction"
- : false;
- };
-
- exports.mark = function(genFun) {
- if (Object.setPrototypeOf) {
- Object.setPrototypeOf(genFun, GeneratorFunctionPrototype);
- } else {
- genFun.__proto__ = GeneratorFunctionPrototype;
- define(genFun, toStringTagSymbol, "GeneratorFunction");
- }
- genFun.prototype = Object.create(Gp);
- return genFun;
- };
-
- // Within the body of any async function, `await x` is transformed to
- // `yield regeneratorRuntime.awrap(x)`, so that the runtime can test
- // `hasOwn.call(value, "__await")` to determine if the yielded value is
- // meant to be awaited.
- exports.awrap = function(arg) {
- return { __await: arg };
- };
-
- function AsyncIterator(generator, PromiseImpl) {
- function invoke(method, arg, resolve, reject) {
- var record = tryCatch(generator[method], generator, arg);
- if (record.type === "throw") {
- reject(record.arg);
- } else {
- var result = record.arg;
- var value = result.value;
- if (value &&
- typeof value === "object" &&
- hasOwn.call(value, "__await")) {
- return PromiseImpl.resolve(value.__await).then(function(value) {
- invoke("next", value, resolve, reject);
- }, function(err) {
- invoke("throw", err, resolve, reject);
- });
- }
-
- return PromiseImpl.resolve(value).then(function(unwrapped) {
- // When a yielded Promise is resolved, its final value becomes
- // the .value of the Promise<{value,done}> result for the
- // current iteration.
- result.value = unwrapped;
- resolve(result);
- }, function(error) {
- // If a rejected Promise was yielded, throw the rejection back
- // into the async generator function so it can be handled there.
- return invoke("throw", error, resolve, reject);
- });
- }
- }
-
- var previousPromise;
-
- function enqueue(method, arg) {
- function callInvokeWithMethodAndArg() {
- return new PromiseImpl(function(resolve, reject) {
- invoke(method, arg, resolve, reject);
- });
- }
-
- return previousPromise =
- // If enqueue has been called before, then we want to wait until
- // all previous Promises have been resolved before calling invoke,
- // so that results are always delivered in the correct order. If
- // enqueue has not been called before, then it is important to
- // call invoke immediately, without waiting on a callback to fire,
- // so that the async generator function has the opportunity to do
- // any necessary setup in a predictable way. This predictability
- // is why the Promise constructor synchronously invokes its
- // executor callback, and why async functions synchronously
- // execute code before the first await. Since we implement simple
- // async functions in terms of async generators, it is especially
- // important to get this right, even though it requires care.
- previousPromise ? previousPromise.then(
- callInvokeWithMethodAndArg,
- // Avoid propagating failures to Promises returned by later
- // invocations of the iterator.
- callInvokeWithMethodAndArg
- ) : callInvokeWithMethodAndArg();
- }
-
- // Define the unified helper method that is used to implement .next,
- // .throw, and .return (see defineIteratorMethods).
- this._invoke = enqueue;
- }
-
- defineIteratorMethods(AsyncIterator.prototype);
- AsyncIterator.prototype[asyncIteratorSymbol] = function () {
- return this;
- };
- exports.AsyncIterator = AsyncIterator;
-
- // Note that simple async functions are implemented on top of
- // AsyncIterator objects; they just return a Promise for the value of
- // the final result produced by the iterator.
- exports.async = function(innerFn, outerFn, self, tryLocsList, PromiseImpl) {
- if (PromiseImpl === void 0) PromiseImpl = Promise;
-
- var iter = new AsyncIterator(
- wrap(innerFn, outerFn, self, tryLocsList),
- PromiseImpl
- );
-
- return exports.isGeneratorFunction(outerFn)
- ? iter // If outerFn is a generator, return the full iterator.
- : iter.next().then(function(result) {
- return result.done ? result.value : iter.next();
- });
- };
-
- function makeInvokeMethod(innerFn, self, context) {
- var state = GenStateSuspendedStart;
-
- return function invoke(method, arg) {
- if (state === GenStateExecuting) {
- throw new Error("Generator is already running");
- }
-
- if (state === GenStateCompleted) {
- if (method === "throw") {
- throw arg;
- }
-
- // Be forgiving, per 25.3.3.3.3 of the spec:
- // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-generatorresume
- return doneResult();
- }
-
- context.method = method;
- context.arg = arg;
-
- while (true) {
- var delegate = context.delegate;
- if (delegate) {
- var delegateResult = maybeInvokeDelegate(delegate, context);
- if (delegateResult) {
- if (delegateResult === ContinueSentinel) continue;
- return delegateResult;
- }
- }
-
- if (context.method === "next") {
- // Setting context._sent for legacy support of Babel's
- // function.sent implementation.
- context.sent = context._sent = context.arg;
-
- } else if (context.method === "throw") {
- if (state === GenStateSuspendedStart) {
- state = GenStateCompleted;
- throw context.arg;
- }
-
- context.dispatchException(context.arg);
-
- } else if (context.method === "return") {
- context.abrupt("return", context.arg);
- }
-
- state = GenStateExecuting;
-
- var record = tryCatch(innerFn, self, context);
- if (record.type === "normal") {
- // If an exception is thrown from innerFn, we leave state ===
- // GenStateExecuting and loop back for another invocation.
- state = context.done
- ? GenStateCompleted
- : GenStateSuspendedYield;
-
- if (record.arg === ContinueSentinel) {
- continue;
- }
-
- return {
- value: record.arg,
- done: context.done
- };
-
- } else if (record.type === "throw") {
- state = GenStateCompleted;
- // Dispatch the exception by looping back around to the
- // context.dispatchException(context.arg) call above.
- context.method = "throw";
- context.arg = record.arg;
- }
- }
- };
- }
-
- // Call delegate.iterator[context.method](context.arg) and handle the
- // result, either by returning a { value, done } result from the
- // delegate iterator, or by modifying context.method and context.arg,
- // setting context.delegate to null, and returning the ContinueSentinel.
- function maybeInvokeDelegate(delegate, context) {
- var method = delegate.iterator[context.method];
- if (method === undefined) {
- // A .throw or .return when the delegate iterator has no .throw
- // method always terminates the yield* loop.
- context.delegate = null;
-
- if (context.method === "throw") {
- // Note: ["return"] must be used for ES3 parsing compatibility.
- if (delegate.iterator["return"]) {
- // If the delegate iterator has a return method, give it a
- // chance to clean up.
- context.method = "return";
- context.arg = undefined;
- maybeInvokeDelegate(delegate, context);
-
- if (context.method === "throw") {
- // If maybeInvokeDelegate(context) changed context.method from
- // "return" to "throw", let that override the TypeError below.
- return ContinueSentinel;
- }
- }
-
- context.method = "throw";
- context.arg = new TypeError(
- "The iterator does not provide a 'throw' method");
- }
-
- return ContinueSentinel;
- }
-
- var record = tryCatch(method, delegate.iterator, context.arg);
-
- if (record.type === "throw") {
- context.method = "throw";
- context.arg = record.arg;
- context.delegate = null;
- return ContinueSentinel;
- }
-
- var info = record.arg;
-
- if (! info) {
- context.method = "throw";
- context.arg = new TypeError("iterator result is not an object");
- context.delegate = null;
- return ContinueSentinel;
- }
-
- if (info.done) {
- // Assign the result of the finished delegate to the temporary
- // variable specified by delegate.resultName (see delegateYield).
- context[delegate.resultName] = info.value;
-
- // Resume execution at the desired location (see delegateYield).
- context.next = delegate.nextLoc;
-
- // If context.method was "throw" but the delegate handled the
- // exception, let the outer generator proceed normally. If
- // context.method was "next", forget context.arg since it has been
- // "consumed" by the delegate iterator. If context.method was
- // "return", allow the original .return call to continue in the
- // outer generator.
- if (context.method !== "return") {
- context.method = "next";
- context.arg = undefined;
- }
-
- } else {
- // Re-yield the result returned by the delegate method.
- return info;
- }
-
- // The delegate iterator is finished, so forget it and continue with
- // the outer generator.
- context.delegate = null;
- return ContinueSentinel;
- }
-
- // Define Generator.prototype.{next,throw,return} in terms of the
- // unified ._invoke helper method.
- defineIteratorMethods(Gp);
-
- define(Gp, toStringTagSymbol, "Generator");
-
- // A Generator should always return itself as the iterator object when the
- // @@iterator function is called on it. Some browsers' implementations of the
- // iterator prototype chain incorrectly implement this, causing the Generator
- // object to not be returned from this call. This ensures that doesn't happen.
- // See https://github.com/facebook/regenerator/issues/274 for more details.
- Gp[iteratorSymbol] = function() {
- return this;
- };
-
- Gp.toString = function() {
- return "[object Generator]";
- };
-
- function pushTryEntry(locs) {
- var entry = { tryLoc: locs[0] };
-
- if (1 in locs) {
- entry.catchLoc = locs[1];
- }
-
- if (2 in locs) {
- entry.finallyLoc = locs[2];
- entry.afterLoc = locs[3];
- }
-
- this.tryEntries.push(entry);
- }
-
- function resetTryEntry(entry) {
- var record = entry.completion || {};
- record.type = "normal";
- delete record.arg;
- entry.completion = record;
- }
-
- function Context(tryLocsList) {
- // The root entry object (effectively a try statement without a catch
- // or a finally block) gives us a place to store values thrown from
- // locations where there is no enclosing try statement.
- this.tryEntries = [{ tryLoc: "root" }];
- tryLocsList.forEach(pushTryEntry, this);
- this.reset(true);
- }
-
- exports.keys = function(object) {
- var keys = [];
- for (var key in object) {
- keys.push(key);
- }
- keys.reverse();
-
- // Rather than returning an object with a next method, we keep
- // things simple and return the next function itself.
- return function next() {
- while (keys.length) {
- var key = keys.pop();
- if (key in object) {
- next.value = key;
- next.done = false;
- return next;
- }
- }
-
- // To avoid creating an additional object, we just hang the .value
- // and .done properties off the next function object itself. This
- // also ensures that the minifier will not anonymize the function.
- next.done = true;
- return next;
- };
- };
-
- function values(iterable) {
- if (iterable) {
- var iteratorMethod = iterable[iteratorSymbol];
- if (iteratorMethod) {
- return iteratorMethod.call(iterable);
- }
-
- if (typeof iterable.next === "function") {
- return iterable;
- }
-
- if (!isNaN(iterable.length)) {
- var i = -1, next = function next() {
- while (++i < iterable.length) {
- if (hasOwn.call(iterable, i)) {
- next.value = iterable[i];
- next.done = false;
- return next;
- }
- }
-
- next.value = undefined;
- next.done = true;
-
- return next;
- };
-
- return next.next = next;
- }
- }
-
- // Return an iterator with no values.
- return { next: doneResult };
- }
- exports.values = values;
-
- function doneResult() {
- return { value: undefined, done: true };
- }
-
- Context.prototype = {
- constructor: Context,
-
- reset: function(skipTempReset) {
- this.prev = 0;
- this.next = 0;
- // Resetting context._sent for legacy support of Babel's
- // function.sent implementation.
- this.sent = this._sent = undefined;
- this.done = false;
- this.delegate = null;
-
- this.method = "next";
- this.arg = undefined;
-
- this.tryEntries.forEach(resetTryEntry);
-
- if (!skipTempReset) {
- for (var name in this) {
- // Not sure about the optimal order of these conditions:
- if (name.charAt(0) === "t" &&
- hasOwn.call(this, name) &&
- !isNaN(+name.slice(1))) {
- this[name] = undefined;
- }
- }
- }
- },
-
- stop: function() {
- this.done = true;
-
- var rootEntry = this.tryEntries[0];
- var rootRecord = rootEntry.completion;
- if (rootRecord.type === "throw") {
- throw rootRecord.arg;
- }
-
- return this.rval;
- },
-
- dispatchException: function(exception) {
- if (this.done) {
- throw exception;
- }
-
- var context = this;
- function handle(loc, caught) {
- record.type = "throw";
- record.arg = exception;
- context.next = loc;
-
- if (caught) {
- // If the dispatched exception was caught by a catch block,
- // then let that catch block handle the exception normally.
- context.method = "next";
- context.arg = undefined;
- }
-
- return !! caught;
- }
-
- for (var i = this.tryEntries.length - 1; i >= 0; --i) {
- var entry = this.tryEntries[i];
- var record = entry.completion;
-
- if (entry.tryLoc === "root") {
- // Exception thrown outside of any try block that could handle
- // it, so set the completion value of the entire function to
- // throw the exception.
- return handle("end");
- }
-
- if (entry.tryLoc <= this.prev) {
- var hasCatch = hasOwn.call(entry, "catchLoc");
- var hasFinally = hasOwn.call(entry, "finallyLoc");
-
- if (hasCatch && hasFinally) {
- if (this.prev < entry.catchLoc) {
- return handle(entry.catchLoc, true);
- } else if (this.prev < entry.finallyLoc) {
- return handle(entry.finallyLoc);
- }
-
- } else if (hasCatch) {
- if (this.prev < entry.catchLoc) {
- return handle(entry.catchLoc, true);
- }
-
- } else if (hasFinally) {
- if (this.prev < entry.finallyLoc) {
- return handle(entry.finallyLoc);
- }
-
- } else {
- throw new Error("try statement without catch or finally");
- }
- }
- }
- },
-
- abrupt: function(type, arg) {
- for (var i = this.tryEntries.length - 1; i >= 0; --i) {
- var entry = this.tryEntries[i];
- if (entry.tryLoc <= this.prev &&
- hasOwn.call(entry, "finallyLoc") &&
- this.prev < entry.finallyLoc) {
- var finallyEntry = entry;
- break;
- }
- }
-
- if (finallyEntry &&
- (type === "break" ||
- type === "continue") &&
- finallyEntry.tryLoc <= arg &&
- arg <= finallyEntry.finallyLoc) {
- // Ignore the finally entry if control is not jumping to a
- // location outside the try/catch block.
- finallyEntry = null;
- }
-
- var record = finallyEntry ? finallyEntry.completion : {};
- record.type = type;
- record.arg = arg;
-
- if (finallyEntry) {
- this.method = "next";
- this.next = finallyEntry.finallyLoc;
- return ContinueSentinel;
- }
-
- return this.complete(record);
- },
-
- complete: function(record, afterLoc) {
- if (record.type === "throw") {
- throw record.arg;
- }
-
- if (record.type === "break" ||
- record.type === "continue") {
- this.next = record.arg;
- } else if (record.type === "return") {
- this.rval = this.arg = record.arg;
- this.method = "return";
- this.next = "end";
- } else if (record.type === "normal" && afterLoc) {
- this.next = afterLoc;
- }
-
- return ContinueSentinel;
- },
-
- finish: function(finallyLoc) {
- for (var i = this.tryEntries.length - 1; i >= 0; --i) {
- var entry = this.tryEntries[i];
- if (entry.finallyLoc === finallyLoc) {
- this.complete(entry.completion, entry.afterLoc);
- resetTryEntry(entry);
- return ContinueSentinel;
- }
- }
- },
-
- "catch": function(tryLoc) {
- for (var i = this.tryEntries.length - 1; i >= 0; --i) {
- var entry = this.tryEntries[i];
- if (entry.tryLoc === tryLoc) {
- var record = entry.completion;
- if (record.type === "throw") {
- var thrown = record.arg;
- resetTryEntry(entry);
- }
- return thrown;
- }
- }
-
- // The context.catch method must only be called with a location
- // argument that corresponds to a known catch block.
- throw new Error("illegal catch attempt");
- },
-
- delegateYield: function(iterable, resultName, nextLoc) {
- this.delegate = {
- iterator: values(iterable),
- resultName: resultName,
- nextLoc: nextLoc
- };
-
- if (this.method === "next") {
- // Deliberately forget the last sent value so that we don't
- // accidentally pass it on to the delegate.
- this.arg = undefined;
- }
-
- return ContinueSentinel;
- }
- };
-
- // Regardless of whether this script is executing as a CommonJS module
- // or not, return the runtime object so that we can declare the variable
- // regeneratorRuntime in the outer scope, which allows this module to be
- // injected easily by `bin/regenerator --include-runtime script.js`.
- return exports;
-
- }(
- // If this script is executing as a CommonJS module, use module.exports
- // as the regeneratorRuntime namespace. Otherwise create a new empty
- // object. Either way, the resulting object will be used to initialize
- // the regeneratorRuntime variable at the top of this file.
- true ? module.exports : undefined
- ));
-
- try {
- regeneratorRuntime = runtime;
- } catch (accidentalStrictMode) {
- // This module should not be running in strict mode, so the above
- // assignment should always work unless something is misconfigured. Just
- // in case runtime.js accidentally runs in strict mode, we can escape
- // strict mode using a global Function call. This could conceivably fail
- // if a Content Security Policy forbids using Function, but in that case
- // the proper solution is to fix the accidental strict mode problem. If
- // you've misconfigured your bundler to force strict mode and applied a
- // CSP to forbid Function, and you're not willing to fix either of those
- // problems, please detail your unique predicament in a GitHub issue.
- Function("r", "regeneratorRuntime = r")(runtime);
- }
-
-
- /***/ })
-
- },[["./node_modules/next/dist/client/dev/amp-dev.js","static/runtime/webpack.js"]]]);
- //# sourceMappingURL=amp.js.map
|