/*__ESM_BODY_START__*/
self.handleFallbackResponse = (function() {
	let callbacks = [];
	const checkIfShouldFallBack = event => {
		if (event.request.mode === 'navigate' && event.request.destination !== 'document')
			return true;
		
		return false;
	};

	self.addEventListener('fetch', event => {
		let unservicedRequest = true;
		// see if every service worker was uninterested
		for (let x = 0; x < callbacks.length; x++) {
			if (callbacks[x](event))
				unservicedRequest = false;
		}
		// If no service worker had a response, fall back and we're fetching from same origin
		if (unservicedRequest && checkIfShouldFallBack(event))
			return event.respondWith(fetch(event.request));
	});

	return (callback) => {
		callbacks.push(callback);
	};
})();

/*__ESM_BODY_END__*/