PageSourceSearch

https://www.labiosthetique.ca/service-worker.js

js labiosthetique.ca collected 2026-09-28 09:29:04 UTC 32,049 bytes, 311 lines download raw bytes

1/**
2 * Copyright 2016 Google Inc. All rights reserved.
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 *     http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15*/
16
17// DO NOT EDIT THIS GENERATED OUTPUT DIRECTLY!
18// This file should be overwritten as part of your build process.
19// If you need to extend the behavior of the generated service worker, the best approach is to write
20// additional code and include it using the importScripts option:
21//   https://github.com/GoogleChrome/sw-precache#importscripts-arraystring
22//
23// Alternatively, it's possible to make changes to the underlying template file and then use that as the
24// new base for generating output, via the templateFilePath option:
25//   https://github.com/GoogleChrome/sw-precache#templatefilepath-string
26//
27// If you go that route, make sure that whenever you update your sw-precache dependency, you reconcile any
28// changes made to this original template file with your modified copy.
29
30// This generated service worker JavaScript will precache your site's resources.
31// The code needs to be saved in a .js file at the top-level of your site, and registered
32// from your pages in order to be used. See
33// https://github.com/googlechrome/sw-precache/blob/master/demo/app/js/service-worker-registration.js
34// for an example of how you can register this script and handle various service worker events.
35
36/* eslint-env worker, serviceworker */
37/* eslint-disable indent, no-unused-vars, no-multiple-empty-lines, max-nested-callbacks, space-before-function-paren, quotes, comma-spacing */
38'use strict';
39
40var precacheConfig = [["dist/dayjs-locales-da.1842637f1a48b0628a3f.js","afba8ab44e974cc3af162cb4cccce5e0"],["dist/dayjs-locales-de.1842637f1a48b0628a3f.js","1a70298148fca2b7387efc1944b93e83"],["dist/dayjs-locales-en.1842637f1a48b0628a3f.js","87ce2cd20f8c4565e025840ed673f170"],["dist/dayjs-locales-es.1842637f1a48b0628a3f.js","0e74e9de2c22c4d22303cfa25c5b3c00"],["dist/dayjs-locales-fr.1842637f1a48b0628a3f.js","94965781455c3683b942b397b89a65ec"],["dist/dayjs-locales-it.1842637f1a48b0628a3f.js","a7c44dc97909828b18842edaf5c889a5"],["dist/dayjs-locales-nl.1842637f1a48b0628a3f.js","441adbd45decbd9291baaebd27c0b5b2"],["dist/dayjs-locales-pl.1842637f1a48b0628a3f.js","2535c2baae040417766ad6f910e38965"],["dist/manifest.1842637f1a48b0628a3f.js","08ecef9deeaef299ea5785c14c567eb5"],["dist/vendor.1842637f1a48b0628a3f.js","00e4db7d1121b4f9e51c78b94f370305"],["dist/vendors~bodybuilder.1842637f1a48b0628a3f.js","58cd273a14b4b6e1490b0fcf84caee19"],["dist/vendors~vsf-category.1842637f1a48b0628a3f.js","d8b1247ee55617667d78671b977fe433"],["dist/vendors~vsf-graphql.1842637f1a48b0628a3f.js","00296fc58fbd1667de4c7a873979b0bc"],["dist/vendors~vsf-product.1842637f1a48b0628a3f.js","8e857fe0705ca570ff18c408d5bf6f7b"],["dist/vsf-category.1842637f1a48b0628a3f.js","eb7ccd2b3e7f423d5c025bad2212fd18"],["dist/vsf-checkout.1842637f1a48b0628a3f.js","71ccc2b336c2b14399decad0f0007917"],["dist/vsf-checkout~vsf-layout-default.1842637f1a48b0628a3f.js","02b76773931299fd354905dbbf21bce9"],["dist/vsf-checkout~vsf-my-account.1842637f1a48b0628a3f.js","75516b81a5011bc94877176c2725d3a1"],["dist/vsf-checkout~vsf-my-account~vsf-salon.1842637f1a48b0628a3f.js","50f16c4af6fc28c35fbcff685ff6f0bf"],["dist/vsf-checkout~vsf-salon.1842637f1a48b0628a3f.js","a0de6d8663c2f26e449e33b3f7a98fec"],["dist/vsf-community-competition.1842637f1a48b0628a3f.js","5e14ee0cff8187f6756bcea022e42fe1"],["dist/vsf-contact.1842637f1a48b0628a3f.js","8b54fe753579f4d79872bbe0d1451eec"],["dist/vsf-contact~vsf-product.1842637f1a48b0628a3f.js","0f55b614f92c92ab34a3768f33acb57b"],["dist/vsf-error.1842637f1a48b0628a3f.js","2637b6ddb09e11b758a39874140289ef"],["dist/vsf-factfinder.1842637f1a48b0628a3f.js","90ab1b3d09884614c869e9427ce77b0b"],["dist/vsf-head-img-banners-de_main-image-json.1842637f1a48b0628a3f.js","3afa74213e4ba523d45a0220d5c8e8bd"],["dist/vsf-head-img-banners-de_promoted_offers-json.1842637f1a48b0628a3f.js","87a9cbace644f7366b44a71f15d932d5"],["dist/vsf-head-img-banners-it_main-image-json.1842637f1a48b0628a3f.js","3e72dd527d6d1b664810c8252447a2b6"],["dist/vsf-head-img-banners-it_promoted_offers-json.1842637f1a48b0628a3f.js","e86d2dbab52539cec6f51ebf93178ce7"],["dist/vsf-head-img-main-image-json.1842637f1a48b0628a3f.js","aa0f3957e2d49c473049f5989ef86f8f"],["dist/vsf-head-img-promoted_offers-json.1842637f1a48b0628a3f.js","0a2142c62c78b322c7567cfa9150d992"],["dist/vsf-head-img-slider-json.1842637f1a48b0628a3f.js","d96b62686db09665f377835a1f57600f"],["dist/vsf-layout-default.1842637f1a48b0628a3f.js","bd5e48d23dd9b24d6bed65852568f5ae"],["dist/vsf-layout-default~vsf-layout-hr~vsf-layout-minimal.1842637f1a48b0628a3f.js","0cf9a805ba1255a23d44840ee2c0ad2a"],["dist/vsf-layout-default~vsf-layout-hr~vsf-layout-styleguide.1842637f1a48b0628a3f.js","627138cfb48647f02893b83e9848b47e"],["dist/vsf-layout-empty.1842637f1a48b0628a3f.js","0be0691ccd420915eeb5a030565be50a"],["dist/vsf-layout-hr.1842637f1a48b0628a3f.js","86c3f0442fe819734efa4b2b5038c84c"],["dist/vsf-layout-minimal.1842637f1a48b0628a3f.js","a80c380e49170da74451037c8c7164c3"],["dist/vsf-layout-styleguide.1842637f1a48b0628a3f.js","1da269e8ceb731338815a53a558b09a5"],["dist/vsf-maintenance.1842637f1a48b0628a3f.js","de08ee1be5f10f41f42cfeda16197505"],["dist/vsf-microcart.1842637f1a48b0628a3f.js","346446c39ce402b94e4f6e7b72f076be"],["dist/vsf-my-account.1842637f1a48b0628a3f.js","97e4e25b7bdb52464b2846c51da802fe"],["dist/vsf-my-account~vsf-wishlist.1842637f1a48b0628a3f.js","7de90bc9c06fef5ab77353a33ff8741b"],["dist/vsf-newsletter-thank-you.1842637f1a48b0628a3f.js","8a1d39aad523ec45b2f449850c652731"],["dist/vsf-newsletter.1842637f1a48b0628a3f.js","fa7945ec7e4e244501f007cbd5ad7284"],["dist/vsf-order-confirmation.1842637f1a48b0628a3f.js","4d906fd766d4db9572cc12118fe80888"],["dist/vsf-password-reset.1842637f1a48b0628a3f.js","69b7481ce229cc0ba0e755ceb2118983"],["dist/vsf-product.1842637f1a48b0628a3f.js","5e554649b8d9de5b7deb1c832b91a7de"],["dist/vsf-redirect.1842637f1a48b0628a3f.js","4e944f1b
400ee843e6280183b101e0b328"],["dist/vsf-salon-affiliate.1842637f1a48b0628a3f.js","64722fc4a8c71545fc278ea2af0a42f1"],["dist/vsf-salon.1842637f1a48b0628a3f.js","b0cbc188d8cceba9960b16142ae09704"],["dist/vsf-search-adapter-0.1842637f1a48b0628a3f.js","17ab73d107f485d3b8b3e65f86b5582b"],["dist/vsf-search-adapter-1.1842637f1a48b0628a3f.js","5d2eaaaad9f360aba7d034a0f365155a"],["dist/vsf-search-panel.1842637f1a48b0628a3f.js","373a02d8125d604633e3a5a83767fafa"],["dist/vsf-sidebar-menu.1842637f1a48b0628a3f.js","f9af4954e2938bbba3aa2b129f14fa05"],["dist/vsf-styla-static.1842637f1a48b0628a3f.js","02c42b8fee915a4d3bf7187e10a147bd"],["dist/vsf-wishlist.1842637f1a48b0628a3f.js","6980d4b105d70f8b9e474531f39e385a"]];
41var cacheName = 'sw-precache-v3-vue-sfr-' + (self.registration ? self.registration.scope : '');
42
43
44var ignoreUrlParametersMatching = [/^utm_/];
45
46
47
48var addDirectoryIndex = function(originalUrl, index) {
49    var url = new URL(originalUrl);
50    if (url.pathname.slice(-1) === '/') {
51      url.pathname += index;
52    }
53    return url.toString();
54  };
55
56var cleanResponse = function(originalResponse) {
57    // If this is not a redirected response, then we don't have to do anything.
58    if (!originalResponse.redirected) {
59      return Promise.resolve(originalResponse);
60    }
61
62    // Firefox 50 and below doesn't support the Response.body stream, so we may
63    // need to read the entire body to memory as a Blob.
64    var bodyPromise = 'body' in originalResponse ?
65      Promise.resolve(originalResponse.body) :
66      originalResponse.blob();
67
68    return bodyPromise.then(function(body) {
69      // new Response() is happy when passed either a stream or a Blob.
70      return new Response(body, {
71        headers: originalResponse.headers,
72        status: originalResponse.status,
73        statusText: originalResponse.statusText
74      });
75    });
76  };
77
78var createCacheKey = function(originalUrl, paramName, paramValue,
79                           dontCacheBustUrlsMatching) {
80    // Create a new URL object to avoid modifying originalUrl.
81    var url = new URL(originalUrl);
82
83    // If dontCacheBustUrlsMatching is not set, or if we don't have a match,
84    // then add in the extra cache-busting URL parameter.
85    if (!dontCacheBustUrlsMatching ||
86        !(url.pathname.match(dontCacheBustUrlsMatching))) {
87      url.search += (url.search ? '&' : '') +
88        encodeURIComponent(paramName) + '=' + encodeURIComponent(paramValue);
89    }
90
91    return url.toString();
92  };
93
94var isPathWhitelisted = function(whitelist, absoluteUrlString) {
95    // If the whitelist is empty, then consider all URLs to be whitelisted.
96    if (whitelist.length === 0) {
97      return true;
98    }
99
100    // Otherwise compare each path regex to the path of the URL passed in.
101    var path = (new URL(absoluteUrlString)).pathname;
102    return whitelist.some(function(whitelistedPathRegex) {
103      return path.match(whitelistedPathRegex);
104    });
105  };
106
107var stripIgnoredUrlParameters = function(originalUrl,
108    ignoreUrlParametersMatching) {
109    var url = new URL(originalUrl);
110    // Remove the hash; see https://github.com/GoogleChrome/sw-precache/issues/290
111    url.hash = '';
112
113    url.search = url.search.slice(1) // Exclude initial '?'
114      .split('&') // Split into an array of 'key=value' strings
115      .map(function(kv) {
116        return kv.split('='); // Split each 'key=value' string into a [key, value] array
117      })
118      .filter(function(kv) {
119        return ignoreUrlParametersMatching.every(function(ignoredRegex) {
120          return !ignoredRegex.test(kv[0]); // Return true iff the key doesn't match any of the regexes.
121        });
122      })
123      .map(function(kv) {
124        return kv.join('='); // Join each [key, value] array into a 'key=value' string
125      })
126      .join('&'); // Join the array of 'key=value' strings into a string with '&' in between each
127
128    return url.toString();
129  };
130
131
132var hashParamName = '_sw-precache';
133var urlsToCacheKeys = new Map(
134  precacheConfig.map(function(item) {
135    var relativeUrl = item[0];
136    var hash = item[1];
137    var absoluteUrl = new URL(relativeUrl, self.location);
138    var cacheKey = createCacheKey(absoluteUrl, hashParamName, hash, false);
139    return [absoluteUrl.toString(), cacheKey];
140  })
141);
142
143function setOfCachedUrls(cache) {
144  return cache.keys().then(function(requests) {
145    return requests.map(function(request) {
146      return request.url;
147    });
148  }).then(function(urls) {
149    return new Set(urls);
150  });
151}
152
153self.addEventListener('install', function(event) {
154  event.waitUntil(
155    caches.open(cacheName).then(function(cache) {
156      return setOfCachedUrls(cache).then(function(cachedUrls) {
157        return Promise.all(
158          Array.from(urlsToCacheKeys.values()).map(function(cacheKey) {
159            // If we don't have a key matching url in the cache already, add it.
160            if (!cachedUrls.has(cacheKey)) {
161              var request = new Request(cacheKey, {credentials: 'same-origin'});
162              return fetch(request).then(function(response) {
163                // Bail out of installation unless we get back a 200 OK for
164                // every request.
165                if (!response.ok) {
166                  throw new Error('Request for ' + cacheKey + ' returned a ' +
167                    'response with status ' + response.status);
168                }
169
170                return cleanResponse(response).then(function(responseToCache) {
171                  return cache.put(cacheKey, responseToCache);
172                });
173              });
174            }
175          })
176        );
177      });
178    }).then(function() {
179      
180      // Force the SW to transition from installing -> active state
181      return self.skipWaiting();
182      
183    })
184  );
185});
186
187self.addEventListener('activate', function(event) {
188  var setOfExpectedUrls = new Set(urlsToCacheKeys.values());
189
190  event.waitUntil(
191    caches.open(cacheName).then(function(cache) {
192      return cache.keys().then(function(existingRequests) {
193        return Promise.all(
194          existingRequests.map(function(existingRequest) {
195            if (!setOfExpectedUrls.has(existingRequest.url)) {
196              return cache.delete(existingRequest);
197            }
198          })
199        );
200      });
201    }).then(function() {
202      
203      return self.clients.claim();
204      
205    })
206  );
207});
208
209
210self.addEventListener('fetch', function(event) {
211  if (event.request.method === 'GET') {
212    // Should we call event.respondWith() inside this fetch event handler?
213    // This needs to be determined synchronously, which will give other fetch
214    // handlers a chance to handle the request if need be.
215    var shouldRespond;
216
217    // First, remove all the ignored parameters and hash fragment, and see if we
218    // have that URL in our cache. If so, great! shouldRespond will be true.
219    var url = stripIgnoredUrlParameters(event.request.url, ignoreUrlParametersMatching);
220    shouldRespond = urlsToCacheKeys.has(url);
221
222    // If shouldRespond is false, check again, this time with 'index.html'
223    // (or whatever the directoryIndex option is set to) at the end.
224    var directoryIndex = 'index.html';
225    if (!shouldRespond && directoryIndex) {
226      url = addDirectoryIndex(url, directoryIndex);
227      shouldRespond = urlsToCacheKeys.has(url);
228    }
229
230    // If shouldRespond is still false, check to see if this is a navigation
231    // request, and if so, whether the URL matches navigateFallbackWhitelist.
232    var navigateFallback = '';
233    if (!shouldRespond &&
234        navigateFallback &&
235        (event.request.mode === 'navigate') &&
236        isPathWhitelisted([], event.request.url)) {
237      url = new URL(navigateFallback, self.location).toString();
238      shouldRespond = urlsToCacheKeys.has(url);
239    }
240
241    // If shouldRespond was set to true at any point, then call
242    // event.respondWith(), using the appropriate cache key.
243    if (shouldRespond) {
244      event.respondWith(
245        caches.open(cacheName).then(function(cache) {
246          return cache.match(urlsToCacheKeys.get(url)).then(function(response) {
247            if (response) {
248              return response;
249            }
250            throw Error('The cached response that was expected is missing.');
251          });
252        }).catch(function(e) {
253          // Fall back to just fetch()ing the request if some unexpected error
254          // prevented the cached response from being valid.
255          console.warn('Couldn\'t serve response for "%s" from cache: %O', event.request.url, e);
256          return fetch(event.request);
257        })
258      );
259    }
260  }
261});
262
263
264// *** Start of auto-included sw-toolbox code. ***
265/* 
266 Copyright 2016 Google Inc. All Rights Reserved.
267
268 Licensed under the Apache License, Version 2.0 (the "License");
269 you may not use this file except in compliance with the License.
270 You may obtain a copy of the License at
271
272     http://www.apache.org/licenses/LICENSE-2.0
273
274 Unless required by applicable law or agreed to in writing, software
275 distributed under the License is distributed on an "AS IS" BASIS,
276 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
277 See the License for the specific language governing permissions and
278 limitations under the License.
279*/!function(e){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=e();else if("function"==typeof define&&define.amd)define([],e);else{var t;t="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this,t.toolbox=e()}}(function(){return function e(t,n,r){function o(c,s){if(!n[c]){if(!t[c]){var a="function"==typeof require&&require;if(!s&&a)return a(c,!0);if(i)return i(c,!0);var u=new Error("Cannot find module '"+c+"'");throw u.code="MODULE_NOT_FOUND",u}var f=n[c]={exports:{}};t[c][0].call(f.exports,function(e){var n=t[c][1][e];return o(n?n:e)},f,f.exports,e,t,n,r)}return n[c].exports}for(var i="function"==typeof require&&require,c=0;c<r.length;c++)o(r[c]);return o}({1:[function(e,t,n){"use strict";function r(e,t){t=t||{};var n=t.debug||m.debug;n&&console.log("[sw-toolbox] "+e)}function o(e){var t;return e&&e.cache&&(t=e.cache.name),t=t||m.cache.name,caches.open(t)}function i(e,t){t=t||{};var n=t.successResponses||m.successResponses;return fetch(e.clone()).then(function(r){return"GET"===e.method&&n.test(r.status)&&o(t).then(function(n){n.put(e,r).then(function(){var r=t.cache||m.cache;(r.maxEntries||r.maxAgeSeconds)&&r.name&&c(e,n,r)})}),r.clone()})}function c(e,t,n){var r=s.bind(null,e,t,n);d=d?d.then(r):r()}function s(e,t,n){var o=e.url,i=n.maxAgeSeconds,c=n.maxEntries,s=n.name,a=Date.now();return r("Updating LRU order for "+o+". Max entries is "+c+", max age is "+i),g.getDb(s).then(function(e){return g.setTimestampForUrl(e,o,a)}).then(function(e){return g.expireEntries(e,c,i,a)}).then(function(e){r("Successfully updated IDB.");var n=e.map(function(e){return t.delete(e)});return Promise.all(n).then(function(){r("Done with cache cleanup.")})}).catch(function(e){r(e)})}function a(e,t,n){return r("Renaming cache: ["+e+"] to ["+t+"]",n),caches.delete(t).then(function(){return Promise.all([caches.open(e),caches.open(t)]).then(function(t){var n=t[0],r=t[1];return n.keys().then(function(e){return Promise.all(e.map(function(e){return n.match(e).then(function(t){return r.put(e,t)})}))}).then(function(){return caches.delete(e)})})})}function u(e,t){return o(t).then(function(t){return t.add(e)})}function f(e,t){return o(t).then(function(t){return t.delete(e)})}function h(e){e instanceof Promise||p(e),m.preCacheItems=m.preCacheItems.concat(e)}function p(e){var t=Array.isArray(e);if(t&&e.forEach(function(e){"string"==typeof e||e instanceof Request||(t=!1)}),!t)throw new TypeError("The precache method expects either an array of strings and/or Requests or a Promise that resolves to an array of strings and/or Requests.");return e}function l(e,t,n){if(!e)return!1;if(t){var r=e.headers.get("date");if(r){var o=new Date(r);if(o.getTime()+1e3*t<n)return!1}}return!0}var d,m=e("./options"),g=e("./idb-cache-expiration");t.exports={debug:r,fetchAndCache:i,openCache:o,renameCache:a,cache:u,uncache:f,precache:h,validatePrecacheInput:p,isResponseFresh:l}},{"./idb-cache-expiration":2,"./options":4}],2:[function(e,t,n){"use strict";function r(e){return new Promise(function(t,n){var r=indexedDB.open(u+e,f);r.onupgradeneeded=function(){var e=r.result.createObjectStore(h,{keyPath:p});e.createIndex(l,l,{unique:!1})},r.onsuccess=function(){t(r.result)},r.onerror=function(){n(r.error)}})}function o(e){return e in d||(d[e]=r(e)),d[e]}function i(e,t,n){return new Promise(function(r,o){var i=e.transaction(h,"readwrite"),c=i.objectStore(h);c.put({url:t,timestamp:n}),i.oncomplete=function(){r(e)},i.onabort=function(){o(i.error)}})}function c(e,t,n){return t?new Promise(function(r,o){var i=1e3*t,c=[],s=e.transaction(h,"readwrite"),a=s.objectStore(h),u=a.index(l);u.openCursor().onsuccess=function(e){var t=e.target.result;if(t&&n-i>t.value[l]){var r=t.value[p];c.push(r),a.delete(r),t.continue()}},s.oncomplete=function(){r(c)},s.onabort=o}):Promise.resolve([])}function s(e,t){return t?new Promise(function(n,r){var o=[],i=e.transaction(h,"readwrite"),c=i.objectStore(h),s=c.index(l),a=s.count();s.count().onsuccess=function(){var e=a.result;e>t&&(s.openCursor().onsuccess=function(n){var r=n.target.result;if(r){var i=r.value[p];o.push(i),c.delete(i),e-o.length>t&&r.continue()}})},i.oncomplete=function(){n(o)},i.onabort=r}):Promise.resolve([])}function a(e,t,n,r){return c(e,n,r).then(function(n){return s(e,t).then(function(e){return n.concat(e)})})}var u="sw-toolbox-",f=1,h="store",p="url",l="timestamp",d={};t.exports={getDb:o,setTimestampForUrl:i,expireEntries:a}},{}],3:[function(e,t,n){"use strict";function r(e){var t=a.match(e.request);t?e.respondWith(t(e.request)):a.default&&"GET"===e.request.method&&0===e.request.url.indexOf("http")&&e.respondWith(a.default(e.request))}function o(e){s.debug("activate event fired");var t=u.cache.name+"$$$inactive$$$";e.waitUntil(s.renameCache(t,u.cache.name))}function i(e){return e.reduce(function(e,t){return e.concat(t)},[])}function c(e){var t=u.cache.name+"$$$inactive$$$";s.debug("install event fired"),s.debug("creating cache ["+t+"]"),e.waitUntil(s.openCache({cache:{name:t}}).then(function(e){return Promise.all(u.preCacheItems).then(i).then(s.validatePrecacheInput).then(function(t){return s.debug("preCache list: "+(t.join(", ")||"(none)")),e.addAll(t)})}))}e("serviceworker-cache-polyfill");var s=e("./helpers"),a=e("./router"),u=e("./options");t.exports={fetchListener:r,activateListener:o,installListener:c}},{"./helpers":1,"./options":4,"./router":6,"serviceworker-cache-polyfill":16}],4:[function(e,t,n){"use strict";var r;r=self.registration?self.registration.scope:self.scope||new URL("./",self.location).href,t.exports={cache:{name:"$$$toolbox-cache$$$"+r+"$$$",maxAgeSeconds:null,maxEntries:null},debug:!1,networkTimeoutSeconds:null,preCacheItems:[],successResponses:/^0|([123]\d\d)|(40[14567])|410$/}},{}],5:[function(e,t,n){"use strict";
279var r=new URL("./",self.location),o=r.pathname,i=e("path-to-regexp"),c=function(e,t,n,r){t instanceof RegExp?this.fullUrlRegExp=t:(0!==t.indexOf("/")&&(t=o+t),this.keys=[],this.regexp=i(t,this.keys)),this.method=e,this.options=r,this.handler=n};c.prototype.makeHandler=function(e){var t;if(this.regexp){var n=this.regexp.exec(e);t={},this.keys.forEach(function(e,r){t[e.name]=n[r+1]})}return function(e){return this.handler(e,t,this.options)}.bind(this)},t.exports=c},{"path-to-regexp":15}],6:[function(e,t,n){"use strict";function r(e){return e.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")}var o=e("./route"),i=e("./helpers"),c=function(e,t){for(var n=e.entries(),r=n.next(),o=[];!r.done;){var i=new RegExp(r.value[0]);i.test(t)&&o.push(r.value[1]),r=n.next()}return o},s=function(){this.routes=new Map,this.routes.set(RegExp,new Map),this.default=null};["get","post","put","delete","head","any"].forEach(function(e){s.prototype[e]=function(t,n,r){return this.add(e,t,n,r)}}),s.prototype.add=function(e,t,n,c){c=c||{};var s;t instanceof RegExp?s=RegExp:(s=c.origin||self.location.origin,s=s instanceof RegExp?s.source:r(s)),e=e.toLowerCase();var a=new o(e,t,n,c);this.routes.has(s)||this.routes.set(s,new Map);var u=this.routes.get(s);u.has(e)||u.set(e,new Map);var f=u.get(e),h=a.regexp||a.fullUrlRegExp;f.has(h.source)&&i.debug('"'+t+'" resolves to same regex as existing route.'),f.set(h.source,a)},s.prototype.matchMethod=function(e,t){var n=new URL(t),r=n.origin,o=n.pathname;return this._match(e,c(this.routes,r),o)||this._match(e,[this.routes.get(RegExp)],t)},s.prototype._match=function(e,t,n){if(0===t.length)return null;for(var r=0;r<t.length;r++){var o=t[r],i=o&&o.get(e.toLowerCase());if(i){var s=c(i,n);if(s.length>0)return s[0].makeHandler(n)}}return null},s.prototype.match=function(e){return this.matchMethod(e.method,e.url)||this.matchMethod("any",e.url)},t.exports=new s},{"./helpers":1,"./route":5}],7:[function(e,t,n){"use strict";function r(e,t,n){return n=n||{},i.debug("Strategy: cache first ["+e.url+"]",n),i.openCache(n).then(function(t){return t.match(e).then(function(t){var r=n.cache||o.cache,c=Date.now();return i.isResponseFresh(t,r.maxAgeSeconds,c)?t:i.fetchAndCache(e,n)})})}var o=e("../options"),i=e("../helpers");t.exports=r},{"../helpers":1,"../options":4}],8:[function(e,t,n){"use strict";function r(e,t,n){return n=n||{},i.debug("Strategy: cache only ["+e.url+"]",n),i.openCache(n).then(function(t){return t.match(e).then(function(e){var t=n.cache||o.cache,r=Date.now();if(i.isResponseFresh(e,t.maxAgeSeconds,r))return e})})}var o=e("../options"),i=e("../helpers");t.exports=r},{"../helpers":1,"../options":4}],9:[function(e,t,n){"use strict";function r(e,t,n){return o.debug("Strategy: fastest ["+e.url+"]",n),new Promise(function(r,c){var s=!1,a=[],u=function(e){a.push(e.toString()),s?c(new Error('Both cache and network failed: "'+a.join('", "')+'"')):s=!0},f=function(e){e instanceof Response?r(e):u("No result returned")};o.fetchAndCache(e.clone(),n).then(f,u),i(e,t,n).then(f,u)})}var o=e("../helpers"),i=e("./cacheOnly");t.exports=r},{"../helpers":1,"./cacheOnly":8}],10:[function(e,t,n){t.exports={networkOnly:e("./networkOnly"),networkFirst:e("./networkFirst"),cacheOnly:e("./cacheOnly"),cacheFirst:e("./cacheFirst"),fastest:e("./fastest")}},{"./cacheFirst":7,"./cacheOnly":8,"./fastest":9,"./networkFirst":11,"./networkOnly":12}],11:[function(e,t,n){"use strict";function r(e,t,n){n=n||{};var r=n.successResponses||o.successResponses,c=n.networkTimeoutSeconds||o.networkTimeoutSeconds;return i.debug("Strategy: network first ["+e.url+"]",n),i.openCache(n).then(function(t){var s,a,u=[];if(c){var f=new Promise(function(r){s=setTimeout(function(){t.match(e).then(function(e){var t=n.cache||o.cache,c=Date.now(),s=t.maxAgeSeconds;i.isResponseFresh(e,s,c)&&r(e)})},1e3*c)});u.push(f)}var h=i.fetchAndCache(e,n).then(function(e){if(s&&clearTimeout(s),r.test(e.status))return e;throw i.debug("Response was an HTTP error: "+e.statusText,n),a=e,new Error("Bad response")}).catch(function(r){return i.debug("Network or response error, fallback to cache ["+e.url+"]",n),t.match(e).then(function(e){if(e)return e;if(a)return a;throw r})});return u.push(h),Promise.race(u)})}var o=e("../options"),i=e("../helpers");t.exports=r},{"../helpers":1,"../options":4}],12:[function(e,t,n){"use strict";function r(e,t,n){return o.debug("Strategy: network only ["+e.url+"]",n),fetch(e)}var o=e("../helpers");t.exports=r},{"../helpers":1}],13:[function(e,t,n){"use strict";var r=e("./options"),o=e("./router"),i=e("./helpers"),c=e("./strategies"),s=e("./listeners");i.debug("Service Worker Toolbox is loading"),self.addEventListener("install",s.installListener),self.addEventListener("activate",s.activateListener),self.addEventListener("fetch",s.fetchListener),t.exports={networkOnly:c.networkOnly,networkFirst:c.networkFirst,cacheOnly:c.cacheOnly,cacheFirst:c.cacheFirst,fastest:c.fastest,router:o,options:r,cache:i.cache,uncache:i.uncache,precache:i.precache}},{"./helpers":1,"./listeners":3,"./options":4,"./router":6,"./strategies":10}],14:[function(e,t,n){t.exports=Array.isArray||function(e){return"[object Array]"==Object.prototype.toString.call(e)}},{}],15:[function(e,t,n){function r(e,t){for(var n,r=[],o=0,i=0,c="",s=t&&t.delimiter||"/";null!=(n=x.exec(e));){var f=n[0],h=n[1],p=n.index;if(c+=e.slice(i,p),i=p+f.length,h)c+=h[1];else{var l=e[i],d=n[2],m=n[3],g=n[4],v=n[5],w=n[6],y=n[7];c&&(r.push(c),c="");var b=null!=d&&null!=l&&l!==d,E="+"===w||"*"===w,R="?"===w||"*"===w,k=n[2]||s,$=g||v;r.push({name:m||o++,prefix:d||"",delimiter:k,optional:R,repeat:E,partial:b,asterisk:!!y,pattern:$?u($):y?".*":"[^"+a(k)+"]+?"})}}return i<e.length&&(c+=e.substr(i)),c&&r.push(c),r}function o(e,t){return s(r(e,t))}function i(e){return encodeURI(e).replace(/[\/?#]/g,function(e){return"%"+e.charCodeAt(0).toString(16).toUpperCase()})}function c(e){return encodeURI(e).replace(/[?#]/g,function(e){return"%"+e.charCodeAt(0).toString(16).toUpperCase()})}function s(e){for(var t=new Array(e.length),n=0;n<e.length;n++)"object"==typeof e[n]&&(t[n]=new RegExp("^(?:"+e[n].pattern+")$"));return function(n,r){for(var o="",s=n||{},a=r||{},u=a.pretty?i:encodeURIComponent,f=0;f<e.length;f++){var h=e[f];if("string"!=typeof h){var p,l=s[h.name];if(null==l){if(h.optional){h.partial&&(o+=h.prefix);continue}throw new TypeError('Expected "'+h.name+'" to be defined')}
279if(v(l)){if(!h.repeat)throw new TypeError('Expected "'+h.name+'" to not repeat, but received `'+JSON.stringify(l)+"`");if(0===l.length){if(h.optional)continue;throw new TypeError('Expected "'+h.name+'" to not be empty')}for(var d=0;d<l.length;d++){if(p=u(l[d]),!t[f].test(p))throw new TypeError('Expected all "'+h.name+'" to match "'+h.pattern+'", but received `'+JSON.stringify(p)+"`");o+=(0===d?h.prefix:h.delimiter)+p}}else{if(p=h.asterisk?c(l):u(l),!t[f].test(p))throw new TypeError('Expected "'+h.name+'" to match "'+h.pattern+'", but received "'+p+'"');o+=h.prefix+p}}else o+=h}return o}}function a(e){return e.replace(/([.+*?=^!:${}()[\]|\/\\])/g,"\\$1")}function u(e){return e.replace(/([=!:$\/()])/g,"\\$1")}function f(e,t){return e.keys=t,e}function h(e){return e.sensitive?"":"i"}function p(e,t){var n=e.source.match(/\((?!\?)/g);if(n)for(var r=0;r<n.length;r++)t.push({name:r,prefix:null,delimiter:null,optional:!1,repeat:!1,partial:!1,asterisk:!1,pattern:null});return f(e,t)}function l(e,t,n){for(var r=[],o=0;o<e.length;o++)r.push(g(e[o],t,n).source);var i=new RegExp("(?:"+r.join("|")+")",h(n));return f(i,t)}function d(e,t,n){return m(r(e,n),t,n)}function m(e,t,n){v(t)||(n=t||n,t=[]),n=n||{};for(var r=n.strict,o=n.end!==!1,i="",c=0;c<e.length;c++){var s=e[c];if("string"==typeof s)i+=a(s);else{var u=a(s.prefix),p="(?:"+s.pattern+")";t.push(s),s.repeat&&(p+="(?:"+u+p+")*"),p=s.optional?s.partial?u+"("+p+")?":"(?:"+u+"("+p+"))?":u+"("+p+")",i+=p}}var l=a(n.delimiter||"/"),d=i.slice(-l.length)===l;return r||(i=(d?i.slice(0,-l.length):i)+"(?:"+l+"(?=$))?"),i+=o?"$":r&&d?"":"(?="+l+"|$)",f(new RegExp("^"+i,h(n)),t)}function g(e,t,n){return v(t)||(n=t||n,t=[]),n=n||{},e instanceof RegExp?p(e,t):v(e)?l(e,t,n):d(e,t,n)}var v=e("isarray");t.exports=g,t.exports.parse=r,t.exports.compile=o,t.exports.tokensToFunction=s,t.exports.tokensToRegExp=m;var x=new RegExp(["(\\\\.)","([\\/.])?(?:(?:\\:(\\w+)(?:\\(((?:\\\\.|[^\\\\()])+)\\))?|\\(((?:\\\\.|[^\\\\()])+)\\))([+*?])?|(\\*))"].join("|"),"g")},{isarray:14}],16:[function(e,t,n){!function(){var e=Cache.prototype.addAll,t=navigator.userAgent.match(/(Firefox|Chrome)\/(\d+\.)/);if(t)var n=t[1],r=parseInt(t[2]);e&&(!t||"Firefox"===n&&r>=46||"Chrome"===n&&r>=50)||(Cache.prototype.addAll=function(e){function t(e){this.name="NetworkError",this.code=19,this.message=e}var n=this;return t.prototype=Object.create(Error.prototype),Promise.resolve().then(function(){if(arguments.length<1)throw new TypeError;return e=e.map(function(e){return e instanceof Request?e:String(e)}),Promise.all(e.map(function(e){"string"==typeof e&&(e=new Request(e));var n=new URL(e.url).protocol;if("http:"!==n&&"https:"!==n)throw new t("Invalid scheme");return fetch(e.clone())}))}).then(function(r){if(r.some(function(e){return!e.ok}))throw new t("Incorrect response status");return Promise.all(r.map(function(t,r){return n.put(e[r],t)}))}).then(function(){})},Cache.prototype.add=function(e){return this.addAll([e])})}()},{}]},{},[13])(13)});
280
281
282// *** End of auto-included sw-toolbox code. ***
283
284
285
286// Runtime cache configuration, using the sw-toolbox library.
287
288toolbox.router.get("^https://fonts.googleapis.com/", toolbox.cacheFirst, {});
289toolbox.router.get("^https://fonts.gstatic.com/", toolbox.cacheFirst, {});
290toolbox.router.get("^https://unpkg.com/", toolbox.cacheFirst, {});
291toolbox.router.get("/pwa.html", toolbox.networkFirst, {});
292toolbox.router.get("/", toolbox.networkFirst, {});
293toolbox.router.get("/p/*", toolbox.networkFirst, {});
294toolbox.router.get("/c/*", toolbox.networkFirst, {});
295toolbox.router.get("/img/(.*)", toolbox.fastest, {});
296toolbox.router.get(/(http[s]?:\/\/)?(\/)?([^\/\s]+\/)?(api\/catalog\/)(.*)/g, toolbox.networkFirst, {});
297toolbox.router.get("/api/*", toolbox.networkFirst, {});
298toolbox.router.get("/assets/logo.svg", toolbox.networkFirst, {});
299toolbox.router.get("/index.html", toolbox.networkFirst, {});
300toolbox.router.get("/assets/*", toolbox.fastest, {});
301toolbox.router.get("/assets/ig/(.*)", toolbox.fastest, {});
302toolbox.router.get("/dist/(.*)", toolbox.fastest, {});
303toolbox.router.get("/*/*", toolbox.networkFirst, {});
304toolbox.router.get("/*/*/*", toolbox.networkFirst, {});
305toolbox.router.get("/*", toolbox.networkFirst, {});
306
307
308
309
310importScripts("/dist/core-service-worker.js");
311

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.