hunk.code_window: const CloseIcon = HelpIcons.CLOSE_ICON;
   type Props = {
     isHelpModalOpen: boolean;
     dispatch: any;
     user?: User;
     page: string;
   };
   class HelpModal extends React.Component<Props> {
  
hunk.labels: keep keep keep keep keep replace keep keep keep keep
hunk.file_path: app/client/src/components/designSystems/appsmith/help/HelpModal.tsx
hunk.type: replace
file: import { precacheAndRoute } from "workbox-precaching";
  import { clientsClaim, setCacheNameDetails, skipWaiting } from "workbox-core";
  import { registerRoute } from "workbox-routing";
  import {
    CacheFirst,
    NetworkOnly,
    StaleWhileRevalidate,
  } from "workbox-strategies";
  import { ExpirationPlugin } from "workbox-expiration";
  
  setCacheNameDetails({
    prefix: "appsmith",
    suffix: undefined,
    precache: "precache-v1",
    runtime: "runtime",
    googleAnalytics: "appsmith-ga",
  });
  
  const regexMap = {
    appViewPage: new RegExp(/api\/v1\/pages\/\w+\/view$/),
    static3PAssets: new RegExp(
      /(tiny.cloud|googleapis|gstatic|cloudfront).*.(js|css|woff2)/,
    ),
    shims: new RegExp(/shims\/.*.js/),
    profile: new RegExp(/v1\/(users\/profile|organizations)/),
    providers: new RegExp(/v1\/marketplace\/(providers|templates)/),
  };
  
  /* eslint-disable no-restricted-globals */
  precacheAndRoute(self.__WB_MANIFEST || []);
  self.__WB_DISABLE_DEV_DEBUG_LOGS = false;
  skipWaiting();
  clientsClaim();
  
  // This route's caching seems too aggressive.
  // TODO(abhinav): Figure out if this is really necessary.
  // Maybe add the assets locally?
  registerRoute(({ url }) => {
    return (
      regexMap.shims.test(url.pathname) || regexMap.static3PAssets.test(url.href)
    );
  }, new CacheFirst());
  
  registerRoute(({ url }) => {
    return regexMap.profile.test(url.pathname);
  }, new NetworkOnly());
  
  registerRoute(({ url }) => {
    return regexMap.appViewPage.test(url.pathname);
  }, new StaleWhileRevalidate());
  
  registerRoute(
    ({ url }) => regexMap.providers.test(url.pathname),
    new CacheFirst({
      plugins: [
        new ExpirationPlugin({
          maxAgeSeconds: 1 * 60 * 60,
        }),
      ],
    }),
  );
  